楼主: zhangyunchou
6583 2

[程序化交易] matlab股票自动交易API_更新20161103 [推广有奖]

  • 3关注
  • 70粉丝

博士生

55%

还不是VIP/贵宾

-

威望
0
论坛币
14428 个
通用积分
26.3053
学术水平
91 点
热心指数
92 点
信用等级
86 点
经验
7388 点
帖子
85
精华
3
在线时间
155 小时
注册时间
2011-10-8
最后登录
2023-10-15

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币


增加新功能,用户可自己调节api下单速度。

下载地址

  1. %% 注意,请不要运行整个stock_api_demo,请逐行看懂了运行,防止用实盘测试时,下单错误,
  2. %% 使用本api程序自动交易发生错误造成损失自行承担,实盘前请反复模拟测试,防止代码bug造成损失。
  3. %% matlab股票自动交易api 2016-11-03
  4. % 基本功能
  5. % 1.登录,买入,卖出,查询资金,查询持仓,查询成交,查询委托,撤单
  6. % 2.增加扩展功能,一键客户端持仓股票全部卖出功能,批量买入功能-按固定数量,批量买入功能-按固定金额,批量卖出功能-卖出指定股票列表的全部可卖持仓
  7. % 3.买入和卖出增加参数timerN,可自动调节自动交易速度。可测试出符合自己需求的速度的系统
  8. %% 独立登录同花顺客户端
  9. % 1 同花顺官方下载免费版同花顺 下载地址 http://activity.ths123.com/html/free/150323/
  10. % 2 登录免费版同花顺客户端---点击右上角【委托】---点击【同花顺交易统一版】---点击【添加】---选择券商名称,可选择模拟或者实盘券商,选中,点击【添加】
  11. % 3 输入账号和交易密码进行登录,然后关掉股票客户端和同花顺软件。
  12. % 4 找到同花顺的安装目录,找到xiadan.exe点击弹出登录客户端界面,然后登录添加的券商账号即可,独立登录客户端成功
  13. % 5 需要添加更多的券商账号同上即可。
  14. % 6 独立客户端自动下单设置:点击【系统】---点击【快速交易】---将相关自动弹出的设置为否即可。
  15. %% 交流qq群:Matlab量化-交流 155600983
  16. %% 清除
  17. clc
  18. clear
  19. clear class
  20. clear global
  21. addpath(genpath(pwd));
  22. %% 新浪获取行情函数
  23. % 新浪获取行情介绍地址:http://blog.csdn.net/simon803/article/details/7784682
  24. % 1:”27.55″,今日开盘价;
  25. % 2:”27.25″,昨日收盘价;
  26. % 3:”26.91″,当前价格;
  27. % 4:”27.55″,今日最高价;
  28. % 5:”26.20″,今日最低价;
  29. % 6:”26.91″,竞买价,即“买一”报价;
  30. % 7:”26.92″,竞卖价,即“卖一”报价;
  31. % 8:”22114263″,成交的股票数,由于股票交易以一百股为基本单位,所以在使用时,通常把该值除以一百;
  32. % 9:”589824680″,成交金额,单位为“元”,为了一目了然,通常以“万元”为成交金额的单位,所以通常把该值除以一万;
  33. % 10:”4695″,“买一”申请4695股,即47手;
  34. % 11:”26.91″,“买一”报价;
  35. % 12:”57590″,“买二”
  36. % 13:”26.90″,“买二”
  37. % 14:”14700″,“买三”
  38. % 15:”26.89″,“买三”
  39. % 16:”14300″,“买四”
  40. % 17:”26.88″,“买四”
  41. % 18:”15100″,“买五”
  42. % 19:”26.87″,“买五”
  43. % 20:”3100″,“卖一”申报3100股,即31手;
  44. % 21:”26.92″,“卖一”报价
  45. % (22, 23), (24, 25), (26,27), (28, 29)分别为“卖二”至“卖四的情况”
  46. % 30(1为st的股票 2表示非st股票)
  47. % 31为涨停价格 32 为跌停价格
  48. load stocklist.mat; % 加载本地股票列表,也可以自己指定股票列表,处理成类似的格式即可
  49. data0=get_sina_market({'sh601918';'sz300256'});% 获取指定股票列表的盘口数据
  50. data1=get_sina_market(stocklist(:,4));% 获取本地全部股票列表的数据
  51. data2=get_sina_market('sh601918');% 获取单个股票的盘口数据
  52. data3=get_sina_market({'s_sh000001';'s_sh000002'});%获取多个指数列表的数据
  53. data4=get_sina_market('s_sh000001');% 获取单个指数的数据
  54. % 指数盘口数据含义分别为:1 当前点数,2 当前价格,3 涨跌率,4 成交量(手);

  55. %% 股票外挂api
  56. %% 注册类
  57. zyc=zyc_stock_trade();

  58. %% 登录
  59. zyc.zyc_stock_login();

  60. %% 查询客户端资金
  61. zyc.zyc_stock_capital();
  62. capital=zyc.capital;%获取资金字段

  63. %% 获取客户端持仓
  64. zyc.zyc_stock_position() % 获取持仓
  65. position=zyc.position;% 获取持仓字段
  66. %% 获取客户端成交
  67. zyc.zyc_stock_orderfill() % 获取成交
  68. orderfill=zyc.orderfill;
  69. %% 获取客户端委托
  70. zyc.zyc_stock_orderstatus() % 获取委托
  71. orderstatus=zyc.orderstatus;
  72. %% 交易股票 买入和卖出

  73. tic
  74. data=get_sina_market('sh600548');% 获取单个股票的盘口行情
  75. toc

  76. tic
  77. % 涨停价格买入股票 最后一个参数可以自己修改,调节测试,控制买卖下单速度
  78. succ=zyc.zyc_stock_buy('600548','8.75','100',5);
  79. toc

  80. tic
  81. % 跌停价格卖出股票,必须保证账户有该股票持仓,可卖 最后一个参数可以自己修改,调节测试,控制买卖下单速度
  82. succ=zyc.zyc_stock_sell('600548','8.75','100',5);
  83. toc
  84. % 参数 股票代码 股票下单价格 股票下单数量

  85. %% 撤单功能
  86. zyc.zyc_stock_cancel(0) % 撤单 输入参数:0表示全部撤单 1表示全部撤买 2表示全部撤卖


  87. %% 扩展功能代码示例
  88. %% 一键卖出
  89. zyc.zyc_stock_allsell(5) % 全部卖出

  90. %% 一键客户端持仓股票全部卖出功能
  91. if size(zyc.position,1)>1 % 表示有持仓
  92.     posData=zyc.position(2:end,:);
  93.     for i=1:size(posData,1)
  94.         StockID=posData{i,1};
  95.         if strcmp(StockID(1),'6')
  96.             StockIDsina=['sh',StockID];
  97.         else
  98.             StockIDsina=['sz',StockID];
  99.         end
  100.         Num=posData{i,4};% 可用余额
  101.         data=get_sina_market(StockIDsina);% 获取单个股票的盘口行情
  102.         LL=data(32);% 跌停价格卖或者以最新价格偏离一定幅度,下单价格可自行计算指定价格
  103.         succ=zyc.zyc_stock_sell(StockID,num2str(LL),Num,5);
  104.     end
  105. end
  106. %% 批量买入功能-按固定数量
  107. stocklist_buy={'600000','1000';'601899','2000'};% 股票代码 股票下单数量
  108. for i=1:size(stocklist_buy,1)
  109.     StockID=stocklist_buy{i,1};
  110.     buy_num=stocklist_buy{i,2};
  111.     if strcmp(StockID(1),'6')
  112.         StockIDsina=['sh',StockID];
  113.     else
  114.         StockIDsina=['sz',StockID];
  115.     end
  116.     data=get_sina_market(StockIDsina);% 获取单个股票的盘口行情
  117.     HH=data(31);
  118.     succ=zyc.zyc_stock_buy(StockID,num2str(HH),buy_num,5);
  119. end
  120. %% 批量买入功能-按固定金额
  121. stocklist_buy={'600000',10000;'601899',10000};% 股票代码 股票下单数量
  122. for i=1:size(stocklist_buy,1)
  123.     StockID=stocklist_buy{i,1};
  124.     buy_asset=stocklist_buy{i,2};
  125.     if strcmp(StockID(1),'6')
  126.         StockIDsina=['sh',StockID];
  127.     else
  128.         StockIDsina=['sz',StockID];
  129.     end
  130.     data=get_sina_market(StockIDsina);% 获取单个股票的盘口行情
  131.     buy_num=num2str(ceil(buy_asset/data(3)/100)*100);
  132.     HH=data(31);
  133.     succ=zyc.zyc_stock_buy(StockID,num2str(HH),buy_num,5);
  134. end

  135. %% 批量卖出功能-卖出指定股票列表的全部可卖持仓
  136. stocklist_sell={'000534';'002745'};% 股票代码 股票下单数量
  137. zyc.zyc_stock_position() % 获取持仓
  138. position=zyc.position;% 获取持仓字段
  139. for i=1:size(stocklist_sell,1)
  140.     StockID=stocklist_sell{i,1};
  141.     % 查找客户端持仓
  142.     ind=find(strcmp(position(:,1),StockID));
  143.     if size(ind,1)==0
  144.         disp([StockID,',该股票无持仓'])
  145.     else
  146.         sell_num=position{ind,5};
  147.         if str2num(sell_num)>0
  148.             if strcmp(StockID(1),'6')
  149.                 StockIDsina=['sh',StockID];
  150.             else
  151.                 StockIDsina=['sz',StockID];
  152.             end
  153.             data=get_sina_market(StockIDsina);% 获取单个股票的盘口行情
  154.             LL=data(32);
  155.             succ=zyc.zyc_stock_sell(StockID,num2str(LL),sell_num,5);
  156.         end
  157.     end
  158. end
复制代码




二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:MATLAB matla atlab 自动交易 Lab matlab

已有 1 人评分经验 论坛币 收起 理由
fantuanxiaot + 66 + 66 精彩帖子

总评分: 经验 + 66  论坛币 + 66   查看全部评分

沙发
houzijiao515 学生认证  发表于 2016-11-5 18:17:26 |只看作者 |坛友微信交流群
赞一个,NB~

使用道具

藤椅
simba2009 发表于 2016-11-24 19:23:26 |只看作者 |坛友微信交流群
感谢分享

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jr
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-27 06:33