• 大小: 816KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-09-01
  • 语言: Matlab
  • 标签: MATLAB  股票  数据  

资源简介

MATLAB 通常从雅虎获得数据,但雅虎数据有时间滞后,有些历史数据缺失,如创业板指数。 所以从新浪取得股票交易数据是很好的来源。 本资料包含方法和源代码

资源截图

代码片段和文件信息

function stock_data=get_stock_hist(stock_codebegin_dateend_date)
%作者:langslike,E-mail:langslike@126.com
%参数含义:
%stock_code:字符阵列型,表示证券代码,如sh600000
%begin_date:字符阵列型,表示希望获取股票数据所在时段的开始日期,如19900215
%end_date:字符阵列型,表示希望获取股票数据所在时段的结束日期
tic
url=[‘http://biz.finance.sina.com.cn/stock/flash_hq/kline_data.php?symbol=‘ stock_code ‘&end_date=‘ end_date ‘&begin_date=‘ begin_date];
xml_data=urlread(url);
fid=fopen(‘kline_data_htm.xml‘‘w‘);
fwrite(fidxml_data);
temp=parsexml(‘kline_data_htm.xml‘);
temp=temp.Children;
%这个结构体构成的数组中,只有下标为偶数的含有有效数据
num=numel(temp);
if num==1
    disp([‘无法取得代码为:‘ stock_code ‘的股票数据!‘]);
    %返回一个空结构体
    stock_data=struct;
return;
end;
temp=temp(2:2:num);
num=numel(temp);
if num==0
    stock_data=struct;
else
%为变量预分配空间,加快程序运行速度
    stock_data(num)=struct(‘close‘[]‘date‘[]‘high‘[]‘low‘[]‘open‘[]‘volume‘[]);
    for k=1:num
        stock_data(k).close=str2double(temp(1k).Attributes(12).Value);
        stock_data(k).date=temp(1k).Attributes(13).Value;
        stock_data(k).high=str2double(temp(1k).Attributes(14).Value);
        stock_data(k).low=str2double(temp(1k).Attributes(15).Value);
        stock_data(k).open=str2double(temp(1k).Attributes(16).Value);
        stock_data(k).volume=str2double(temp(1k).Attributes(17).Value);
    end;
end;
toc
end

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     570161  2013-04-05 14:50  【干货】怎样从新浪财经获取股票交易数据 - MATLAB 计算金融 - MATLAB中文论坛 - Powered by Discuz!.pdf

     文件       1483  2013-04-06 15:42  get_stock_hist.m

     文件       2101  2013-04-06 15:42  parsexml.m

     文件     363513  2013-04-10 21:49  MATLAB在金融时间序列分析及建模中的应用.pdf

----------- ---------  ---------- -----  ----

               937258                    4


评论

共有 条评论