创建 1000x252 路径模拟
Creating a 1000x252 Path Simulation
我正在尝试创建一个包含 1000 次模拟和 252 天的 Monte Carlo 模拟。所以我需要创建一个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
的方式有问题吗?
失误少
- 设置
L = 1000;
- 将此处的
i
替换为L
eps=normrnd(0,1,[i,T])
;
- 用零和固定大小初始化矩阵 S
S = zeros(L,T);
代码如下
T=252;
L= 1000;
eps=normrnd(0,1,[L,T]);
S0=2809;
K=2750;
S = zeros(L,T);
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
我正在尝试创建一个包含 1000 次模拟和 252 天的 Monte Carlo 模拟。所以我需要创建一个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
的方式有问题吗?
失误少
- 设置
L = 1000;
- 将此处的
i
替换为L
eps=normrnd(0,1,[i,T])
; - 用零和固定大小初始化矩阵 S
S = zeros(L,T);
代码如下
T=252;
L= 1000;
eps=normrnd(0,1,[L,T]);
S0=2809;
K=2750;
S = zeros(L,T);
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