Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2011-01-10
年龄: 39
帖子: 1
声望力: 0 ![]() |
![]() 代码:
restart: with(student): with(linalg): Warning, the protected names norm and trace have been redefined and unprotected PayoffWaitCEEO:=proc(V,D,IT,dV,dD,sigV,sigD,rhoVD,T1,T2,qUP); P:=(0.5*V)/D; d:=dV-dD; sig:=sqrt(sigV^2+sigD^2-2*rhoVD*sigV*sigD); dT:=(T2-T1); q:=evalf(IT/D); f:=v->1/sqrt(2*Pi)*exp(-v^2/2); N1:=(v)->int(f(t),t=-infinity..v); h(w,p):=(1/(2*evalf(Pi)*sqrt(1-sqrt(T1/T2)^2)))*exp(-(w^2-2*sqrt(T1/T2)*w*p+p^2)/(2*(1-sqrt(T1/T2)^2))); N2a:=(e,m)->evalf(Doubleint(h(w,p),w=-infinity..e,p=-infinity..m)); j(s,k):=(1/(2*evalf(Pi)*sqrt(1-sqrt((2*T1)/(T1+T2))^2)))*exp(-(s^2-2*sqrt((2*T1)/(T1+T2))*s*k+k^2)/(2*(1-sqrt((2*T1)/(T1+T2))^2))); N2b:=(i1,n)->evalf(Doubleint(j(s,k),s=-infinity..i1,k=-infinity..n)); d1pp:=evalf((ln(J1*exp(-d*(T2-T1)))+(0.5*sig^2)*(T2-T1))/(sig*(sqrt(T2-T1)))); d2pp:=evalf((ln(J1*exp(-d*(T2-T1)))-(0.5*sig^2)*(T2-T1))/(sig*(sqrt(T2-T1)))); eq1:=J1*exp(-dV*(T2-T1))*N1(d1pp)-exp(-dD*(T2-T1))*N1(d2pp)-(q/qUP)=0: P2:=fsolve(eq1,J1): d1pca:=evalf((ln((P/P2)*exp(-d*T1))+T1*(sig^2/2))/(sig*sqrt(T1))); d2pca:=evalf((ln((P/P2)*exp(-d*T1))-T1*(sig^2/2))/(sig*sqrt(T1))); d1:=evalf((ln((P)*exp(-d*T2))+(0.5*sig^2)*T2)/(sig*sqrt(T2))); d2:=evalf((ln((P)*exp(-d*T2))-(0.5*sig^2)*T2)/(sig*sqrt(T2))); CA:=qUP*0.5*V*exp(-dV*T2)*N2a(d1pca,d1)-qUP*D*exp(-dD*T2)*N2a(d2pca,d2)-IT*exp(-dD*T1)*N1(d2pca): print('Prezzo_Critico_CEEO1',P2); print('PayoffWaiting',CA); end; 代码:
PayoffWaitCEEO(1000000,120000,84000,0.15,0,0.90,0.23,0.15,0.5,3,0.40); |
![]() |
![]() |
![]() |
#2 |
初级会员
注册日期: 2012-01-20
年龄: 43
帖子: 8
声望力: 0 ![]() |
![]()
有时候 受CPU限制 不一定就能算出来的
|
![]() |
![]() |