Matlab分析证券相关系数

来源:互联网 发布:四万亿 知乎 编辑:程序博客网 时间:2024/06/09 23:43

本文演示使用matlab计算证券市场各支股票的相关系数。

代码如下:

load stocklist_ss.mat %参见文章“Matlab抓取网页数据”%定义时间范围StartDate='01/01/2010';EndDate='07/23/2015';%下载价格数据ls=size(s,1);Prices=cell(ls,1);for i=1:ls    StockName=s{i,1};     Prices{i}=yahooprice(StockName,StartDate,EndDate);%参见文章“Matlab获取Yahoo Finance 免费数据”      endPrices=Prices(~cellfun(@isempty,Prices));%出去空元素%保存价格数据root=[pwd, '\'];filename1=[root,'stockprice_ss','.mat'];save(filename1, 'Prices');%计算相关系数n=length(Prices);corrdata=zeros(n,n);for i=1:n    for j=i:n                [~,idxi,idxj] = intersect(Prices{i}.Date,Prices{j}.Date);        cc=corrcoef(Prices{i}.Num(idxi,4),Prices{j}.Num(idxj,4));        corrdata(i,j)=cc(1,2);    end    fprintf(1,'第%d行已完成\n',i);end%保存相关系数filename2=[root,'stockcorr_ss','.mat'];save(filename2, 'corrdata');


0 0