作业内容:将一只股票10天的日线数据(最高价、最低价、开盘价、收盘价)保存到excel文件中,在matlab中用xlsread读入到数组中,然后计算每日振幅和收益率,后将计算结果用xlswrite保存到原excel文件的最后两列。
代码如下:
%xlsread
[num,txt,raw]= xlsread('matlab 3.0.xlsx')
dates = raw(2:end,1)
data = cell2mat(raw(2:end,2:end)) %将元胞转换为矩阵
fts1 = fints(dates,data,{'open','close','high','low'},1 ,'海王生物(000078)') %转换为时间序列
%计算振幅及收益率
data(:,end+1)=data(:,3)-data(:,4) %计算振幅
data(:,end+1)=(data(:,2)-data(:,1))./data(:,1) %计算收益率
fts2 = fints(dates,data,{'open','close','high','low','range','yeild'},1 ,'海王生物(000078)')
%xlswrite
f=fts2mat(fts2,0)
g=["range","yield";f(:,5:6)]
xlswrite('matlab 3.0.xlsx',g,1,'F1')
读取结果如下: