【发布时间】:2019-05-21 10:25:51
【问题描述】:
我正在尝试创建一个包含 1000 次模拟和 252 天的蒙特卡洛模拟。所以我需要创建一个1000x252的矩阵,我的代码是:
T=252
L=zeros(i)
eps=normrnd(0,1,[i,T])
S0=2809
K=2750
for i=1:252
for c=1:L
S(c,i)=S0*exp((.0295-.5*(.2^2))*.004+.0295*sqrt(.004)*eps(c,i))
end
end
以前,我只有一个for 声明,所以我没有for c=1:L,
我能够产生我想要的结果。但现在我想要 1000x252 我得到了:
第 1 行第 1 到 252 列是正确的
第 2 行到 1000,第 1 列只是第 1 行第 1 列的副本
其余的,第 2 行到第 1000 行,第 2 列到第 252 列,全为零。
我的索引方式或我在 for 循环中引用变量 eps 的方式有问题吗?
【问题讨论】:
-
for c=1:L?? L 是一个充满零的矩阵。当我运行您的代码时,S不存在。因为你的第二个循环是for c=1:0即没有
标签: matlab simulation montecarlo quantitative-finance