《量化投资:以MATLAB为工具》

MATLAB技术论坛

 找回密码
 注册账号
查看: 4193|回复: 17
收起左侧

[讨论] 通过MATLAB获取中金所每日结算会员成交持仓排名

    [复制链接]
发表于 2014-1-11 00:44:15 | 显示全部楼层 |阅读模式
本帖最后由 faruto 于 2014-1-11 00:45 编辑

中金所每日会公布结算会员(前20名)成交持仓排名,数据网址:http://www.cffex.com.cn/fzjy/ccpm/,利用MATLAB可以自动获取每日该数据,进而可以为后续的使用和挖掘做准备。

正则是个好东西!

1.jpg

2.jpg

3.jpg

实现核心就是urlread+正则。核心代码还在修改调整,暂未放出。

脚本代码(核心函数还未给出!)
  1. %% TestScript
  2. % by LiYang
  3. % Email:farutoliyang@gmail.com
  4. % 2014/01/10

  5. %% A Little Clean Work
  6. tic;
  7. clear;
  8. clc;
  9. close all;
  10. format compact;
  11. %% 获取中金所每日结算会员成交持仓排名 数据
  12. % 获取数据网址http://www.cffex.com.cn/fzjy/ccpm/

  13. datestring = '2014-01-10';
  14. % datestring = '2010-04-16';
  15. % datestring = '2013-10-17';

  16. [DataCell,StatusOut] = VolOIRankingGet_SD(datestring);
  17. StatusOut

  18. if 0 == StatusOut
  19.     disp('数据获取失败!请检查!');
  20.     return;
  21. end
  22. %%
  23. num = length(DataCell);

  24. %% 图形展示

  25. for i = 1:num
  26.    
  27.     celltemp = DataCell{i,1};
  28.     id_day_string = celltemp{1,1};
  29.    
  30.     xlabel1 = celltemp(4:end,2);
  31.     Vol = celltemp(4:end,3);
  32.     Vol = cell2mat(Vol);
  33.     Vol_chg = celltemp(4:end,4);
  34.     Vol_chg = cell2mat(Vol_chg);
  35.    
  36.     xlabel2 = celltemp(4:end,5);
  37.     OI_buy = celltemp(4:end,6);
  38.     OI_buy = cell2mat(OI_buy);
  39.     OI_buy_chg = celltemp(4:end,7);
  40.     OI_buy_chg = cell2mat(OI_buy_chg);
  41.    
  42.     xlabel3 = celltemp(4:end,8);
  43.     OI_sell = celltemp(4:end,9);
  44.     OI_sell = cell2mat(OI_sell);
  45.     OI_sell_chg = celltemp(4:end,10);
  46.     OI_sell_chg = cell2mat(OI_sell_chg);   
  47.    
  48.    
  49.     scrsz = get(0,'ScreenSize');
  50.     figure('Position',[scrsz(3)*1/5 scrsz(4)*1/7 scrsz(3)*6/6 scrsz(4)]*3/4);
  51.    
  52.     subplot(311);
  53.     x = (1:20)';
  54.     [AX,H1,H2] = plotyy(x,Vol,x,Vol_chg,@bar,@plot);
  55.     set( AX(1),'XTick',[] );
  56.     set( AX(1),'XTickLabel',[] );   
  57.     set( AX(2),'XTick',[] );
  58.     set( AX(2),'XTickLabel',[] );
  59.     xlim( AX(1),[0 21] );
  60.     xlim( AX(2),[0 21] );
  61.    
  62.     set(H2,'Color','r');
  63.     set(AX(2),'YColor','r');
  64.    
  65.     set(get(AX(1),'Ylabel'),'String','成交量','FontWeight','Bold');
  66.     set(get(AX(2),'Ylabel'),'String','比上交易日增减');
  67.    
  68.     set(gca,'XTick',1:20);
  69.     set(gca,'XTickLabel',xlabel1);
  70.     TickLabelRotate(gca,'x',30,'right');
  71.    
  72.     str = ['成交量排名(',id_day_string,')'];
  73.     title(str, 'FontWeight','Bold');
  74.    
  75.     for ind=1:length(Vol)
  76.         text(ind,Vol(ind),num2str(Vol(ind)), ...
  77.             'HorizontalAlignment', 'center', 'VerticalAlignment', 'bottom');
  78.     end
  79.    
  80.     subplot(312);
  81.     x = (1:20)';
  82.     [AX,H1,H2] = plotyy(x,OI_buy,x,OI_buy_chg,@bar,@plot);
  83.     set( AX(1),'XTick',[] );
  84.     set( AX(1),'XTickLabel',[] );   
  85.     set( AX(2),'XTick',[] );
  86.     set( AX(2),'XTickLabel',[] );
  87.     xlim( AX(1),[0 21] );
  88.     xlim( AX(2),[0 21] );
  89.    
  90.     set(H2,'Color','r');
  91.     set(AX(2),'YColor','r');
  92.    
  93.     set(get(AX(1),'Ylabel'),'String','持买单量','FontWeight','Bold');
  94.     set(get(AX(2),'Ylabel'),'String','比上交易日增减');
  95.    
  96.     set(gca,'XTick',1:20);
  97.     set(gca,'XTickLabel',xlabel2);
  98.     TickLabelRotate(gca,'x',30,'right');
  99.    
  100.     str = ['持买单量排名(',id_day_string,')'];
  101.     title(str, 'FontWeight','Bold');  
  102.    
  103.     for ind=1:length(Vol)
  104.         text(ind,OI_buy(ind),num2str(OI_buy(ind)), ...
  105.             'HorizontalAlignment', 'center', 'VerticalAlignment', 'bottom');
  106.     end   
  107.    
  108.     subplot(313);
  109.     x = (1:20)';
  110.     [AX,H1,H2] = plotyy(x,OI_sell,x,OI_sell_chg,@bar,@plot);
  111.     set( AX(1),'XTick',[] );
  112.     set( AX(1),'XTickLabel',[] );   
  113.     set( AX(2),'XTick',[] );
  114.     set( AX(2),'XTickLabel',[] );
  115.     xlim( AX(1),[0 21] );
  116.     xlim( AX(2),[0 21] );
  117.    
  118.     set(H2,'Color','r');
  119.     set(AX(2),'YColor','r');
  120.    
  121.     set(get(AX(1),'Ylabel'),'String','持卖单量','FontWeight','Bold');
  122.     set(get(AX(2),'Ylabel'),'String','比上交易日增减');
  123.    
  124.     set(gca,'XTick',1:20);
  125.     set(gca,'XTickLabel',xlabel3);
  126.     TickLabelRotate(gca,'x',30,'right');
  127.    
  128.     str = ['持卖单量排名(',id_day_string,')'];
  129.     title(str, 'FontWeight','Bold');  
  130.    
  131.     for ind=1:length(Vol)
  132.         text(ind,OI_sell(ind),num2str(OI_sell(ind)), ...
  133.             'HorizontalAlignment', 'center', 'VerticalAlignment', 'bottom');
  134.     end   
  135.    
  136.     text( 'Units', 'normalized', 'Position', [1,-0.35], 'String', '数据来源:中金所', ...
  137.      'BackgroundColor', [1 0 0], 'FontAngle', 'oblique', ...
  138.      'HorizontalAlignment', 'right', 'VerticalAlignment', 'top');
  139. end


  140. %% Record Time
  141. toc;
复制代码

评分

参与人数 1威望 +3 贝壳 +5 贡献 +5 收起 理由
fantuanxiaot + 3 + 5 + 5

查看全部评分

发表于 2015-7-28 18:08:06 | 显示全部楼层
赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞
回复 支持 反对

使用道具 举报

发表于 2015-10-13 06:40:20 | 显示全部楼层
大哥,多年过去了,核心代码可以给小弟膜拜下不?
回复 支持 反对

使用道具 举报

发表于 2014-1-11 08:04:30 | 显示全部楼层
好贴就要顶一顶~~~~~~~~~
回复 支持 反对

使用道具 举报

发表于 2014-1-14 14:39:12 | 显示全部楼层
楼主能把核心代码也贡献出来的话就造福大家了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-1-14 16:52:03 | 显示全部楼层
acumen 发表于 2014-1-14 14:39
楼主能把核心代码也贡献出来的话就造福大家了

回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-1-14 16:52:09 | 显示全部楼层
acumen 发表于 2014-1-14 14:39
楼主能把核心代码也贡献出来的话就造福大家了

回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-1-14 16:52:37 | 显示全部楼层
acumen 发表于 2014-1-14 14:39
楼主能把核心代码也贡献出来的话就造福大家了

好的。待我后期再修改一下,然后分享给大家~
回复 支持 反对

使用道具 举报

发表于 2014-1-15 22:13:17 | 显示全部楼层
强烈支持。
回复 支持 反对

使用道具 举报

发表于 2014-6-10 15:29:01 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2014-6-11 13:53:27 | 显示全部楼层
这个是核心代码么?
回复 支持 反对

使用道具 举报

发表于 2014-6-12 10:41:54 | 显示全部楼层
感谢楼主分享
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|网站地图|MATLAB技术论坛|Simulink仿真论坛 ( 蜀ICP备19014457号 

GMT+8, 2020-8-6 06:58 , Processed in 0.061604 second(s), 20 queries , Gzip On, MemCached On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表