#include <math.h>
#include <iostream.h>
#include <fstream.h>
#define E 2.71828182845953581496
int main()
{
float N[40][10];
int i,j;
float r;//无风险连续利率
float b;//波动率
float S,X;//股票当前价格,交割价格.
float T;//到期时间
float d1,d2;
float Nd1,Nd2;
ifstream fin("table.txt");
//table的数据为:
//http://www.programfan.com/blog/article.asp?id=7288
for(i=0;i<40;i++)
for(j=0;j<10;j++)
fin>>N[i][j];//输入正态分布表
cout<<"Enter r,b,S,X,T\n";
cin>>r>>b>>S>>X>>T;
d1=(log(S/X)/log(E)+(r+b*b/2)*T)/b/sqrt(T);
d2=(log(S/X)/log(E)+(r-b*b/2)*T)/b/sqrt(T); //d2=d1-b*sqrt(T);
cout<<d1<<" "<<d2<<endl;
Nd1=N[(int)(10*d1)][(int)(100*d1)%10]+0.5;
Nd2=N[(int)(10*d2)][(int)(100*d2)%10]+0.5;
cout<<"期权的价格为:"<<S*Nd1-X*pow(E,-r*T)*Nd2<<endl;
}
评论