蒙特卡洛模拟(MATLAB)

标签:
体育 |
分类: 05Matlab数据处理 |
问题描述:我要做一个类似的研究,是要用到蒙特卡洛模拟,方法参加附件中的文章第二页(参照并改进Graham提出的估计边际税率的方法)。
Matlab代码:示范
clear
dt=1/365.0;
% 一天的年单位时间
S0=20;
%
股票在初始时刻的价格,程序中假设
r=0.031;
%
期望收益率
sigma=0.6;
% 波动率?=0.6
expTerm=r*dt;
%
漂移项?dt
stddev=sigma*sqrt(dt);
% 波动项o:dz(t)
nDays1=90;
% 要模拟的总天数
for nDays=1:nDays1
% nDays表示时刻t
nTrials=10000;
%
模拟次数
for j=1:nTrials
n = randn(1,nDays);
%生成nDays个标准正态分布随机数
S=S0;
for i=1:nDays
dS = S*(expTerm+stddev*n(i)); %
模拟计算股票价格的增量
S=S+dS;
%计算股票价格
end
S1(nDays,j)=S;
% 将每天的股票模拟价格数据记录在S1中
end
end
S2=mean(S1');
%
计算每天模拟的股票价格的均值,作为价格的估值
plot(S2','-o')
% 90天期间股票价格估值的曲线图
figure(2)
hist(S1(90,:),0:0.5:65)
%第90天的股票价格模拟的直方图