[問題] 跑模擬大跑到一個值開始出現怪怪的
小的我在跑模擬
我有兩個相似的迴圈
當模擬次數為1000000的時候第一個迴圈會出現怪怪的
可是神奇的是第二個迴圈竟然出現正常的值
不知道到底哪裡出了問題
以下節錄部分程式碼
unsigned int i,j,n=nn;
double S0=s,K=k,r=rr,d=dd,sigma=vv,T=tt;
double sum1=0.0,sum2=0.0,mc1,mc2,var1,var2,sum12,sum22;
double U1,U2,Z1,Z2,S1,S2,V1,V2;
for(i=0;i<n;i++)
{
Z1 = Normal();
S1 = S0*exp((r-d-0.5*sigma*sigma)*T + sqrt(T)*sigma*Z1);
V1 = exp(-r*T)*Max(S1-K,0);
sum1 = sum1 + V1; //就是這邊出現問題,加到某個程度之後開始出現
sum12 = sum12 + V1*V1;
}
for(i=0;i<n;i++)
{
Z2 = Normal();
S2 = S0*exp((r-d-0.5*sigma*sigma)*T + sqrt(T)*sigma*Z2);
V2 = exp(-r*T)*Max(K-S2,0);
sum2 = sum2 + V2; //可是這邊沒有問題@@
sum22 = sum22 + V2*V2;
}
其它地方我都檢查過了,就是sum1 = sum1 + V1出現問題
實在不曉得為什麼會這樣
模擬次數100000的時候它也跑得好好的說
謝謝幫忙解惑了
謝謝
--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.114.164
→
03/15 03:50, , 1F
03/15 03:50, 1F
→
03/15 12:23, , 2F
03/15 12:23, 2F
推
03/16 16:24, , 3F
03/16 16:24, 3F