matlab股票数据接口(一)

  matlab无疑是科学计算的强大工具,很少的代码就可以完成非常复杂的功能。这些功能如果用c++实现是难以想象的。

   如何利用matlab来进行股票数据分析呢?在前面的文章中,我分析了如何通过股票行情软件下载行情数据来读取。但是这个方法不是很方便,需要人工工作太多,我在海洋部落里看到很多人都在通过计算方式来进行买卖决策,让我又有了进一步工作下去的信心。

   kline.c 文件是一个mex c文件,编译出来一个接口,通过该接口 得到日行情数据。详情请参见源代码。如何使用这个编译出来的接口文件呢?请查看stock.m文件。

 

  这个接口文件直接从行情服务器下载数据,非常方便了,可以在matlab中使用很少的代码实现根据决策筛选股票。 由于数据格式是逆向得到的,不便公开,所以网络接口代码就不公开源代码了。

stock.m文件如下:

 

function ay=stock(code , lday , windowSize) 

%clc;  windowSize均值窗口长度

%close all;

[kp,hp,lp,sp,vol,tm]=kline(code,lday);%调用mex 接口文件获得日K线行情数据。%其中code问股票代码,lday为取得的数据天数。

% [kp,hp,lp,sp,vol,tm] 为行情数据,最高价,最低价,开盘价,收盘价,量,价

xx=1:lday;

hold off;

subplot(2,2,1); candle(hp',lp',sp',kp');

hold on;

a = filter(ones(1,windowSize)/windowSize,1,sp')'; 

a(1:5) = a(6);

plot(xx , a ,'r');

plot(xx , tm.*10000./vol./10000 ,'c');

ylabel('价格'); xlabel('红色 收盘均价 ; 品色 均价');

grid on;

subplot(2,2,2);

plot(xx , vol);

ylabel('成交量');

grid on;

ay = sp;

subplot(2,2,3);

plot(diff(sp));

ylabel('价格差分');

grid on;

subplot(2,2,4);

plot(diff(vol));

ylabel('成交量差分');

grid on;

===========

在matlab命令命令窗口中敲入 stock(002159,60,5),即可查看到数据。

其中 002159 --- 股票代码;

     60 ---- 取多少天的数据,从当前日子开始向前数60天。

     5  ---- 均线平滑窗口。

得到数据了,很简单的就可以做一个均值方差的买卖交易系统。有了数据,matlab做科学分析统计工作的威力就发挥出来了。

 

 

均值方差的买卖交易系统的源代码稍后发布出来。

下一步准备接受分笔行情数据,实时监测盘中买卖点。源代码也随后发布。

 

花了我2天时间,真累。

 

 

 

你可能感兴趣的:(function,接口,源代码,matlab,股票)