MATLAB實例——評價股票的價值和風險

用定量的方式評價股票的價值和風險:先觀察日期和收盤價的折線圖,再進行線性擬合

(1)對於一支好股票,我們希望股票的增幅越大越好,體現在模型裏就是該曲線的斜率越大越好

(2)對於風險,使用最大回轍來衡量比較好

下面只是一支股票的數據,當有上千支股票時就要採用面向對象的編程模型,即把需重複使用的腳本抽象成函數

源代碼如下:

%% 導入數據
clc, clear, close all
% 導入數據
[~, ~, raw] = xlsread('sz000004.xls','Sheet1','A2:H99');
% 創建輸出變量
data = reshape([raw{:}],size(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('日期'); % x軸說明
ylabel('收盤價'); % y軸說明
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, 作爲股票的風險

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章