%导入数据
clc,clear,close all
[~,~,raw] = xlsread('sz000001.xls', 'Sheet1', 'A2,H99');
raw = raw(2:end,:); %重新选择raw的范围

%创建输出变量
data = reshape([raw{:}],size(raw)); %reshape重构数组;raw{:}将元胞数组转为矩阵

%将导入的数组分配给列变量名称
Date = data(:,1);
DateNum = data(:,2);
Popen = data(:,3);
Phigh = data(:,4);
Plow = data(:,5);
Pclose = data(:,6);
Volum = data(:,7);
Turn = data(:,8);
%清除临时变量
%clearvars data raw;

%%数据探索
figure %创建一个新的图像窗口
plot(DateNum,Pclose,'k') %将图的颜色设置为黑色
datetick('x','mm'); %更改日期显示类型
xlabel('日期');
ylabel('收盘价');
figure
bar(Pclose) %作为对照图

%%股票价值的评估
p = polyfit(DateNum,Pclose,1); %多项式拟合
P1 = polyval(p, DateNum); %得到拟合结果
figure
plot(DateNum, P1, DateNum, Pclose, 'g*');%模型与原始数据对照
value = p(1) %将斜率赋值给value,作为股票的价值

%%股票风险的评估
MaxDD = maxdrawdown(Pclose); %计算最大回撤
risk = MaxDD %将最大回撤赋值给risk,作为股票的风险

学习心得:

1,如果您的计算机未安装 Windows®版 Excel,​​xlsread​​​ 会自动在 ​​basic​​​ 导入模式下运行,该模式支持 XLS、XLSX、XLSM、XLTX 和 XLTM 文件。读取 ​​basic​​​ 模式的 XLS 文件时不支持范围选择。在这种情况下,请使用 ​​''​​​ 代替 ​​xlRange​​。(楼主用的mac系统。。。,所以添加代码再次选择)

2,如果xlsread读取数据错误,可能的原因是excel的加载项中的.com没有选择去除,或是下载的excel版本与自己电脑上的不兼容,可以把下载的excel表中的内容重新复制一遍到自己电脑上安装的excel。

代码还存在的问题:

警告: 多项式未正确设置条件。请添加具有不同 X 值的点,减少多项式的阶数,或者尝试按照 HELP
POLYFIT 中所述进行居中和缩放。