《金融计算》实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

金融计算

实验报告

班级: 2013级信息与计算科学学号:

姓名:

指导老师:李峰

2016年6月

《金融计算》实验报告

开课实验室:实训楼B-206

r=;

d oubl

e b2=;

d oubl

e b3=;

d oubl

e b4=;

d oubl

e b5=;

d oubl

e p=;

d oubl

e c2=;

d oubl

e a=fabs(x);

d oubl

e t=+a*p);

d oubl

e b=c2*exp((-x)*(x/);

d oubl

e n=((((b5*t+b4)*t+b3)*t+b2)*t+b1)*t;

n=*n;

i f(x

r eturn n;

}

double option_price_call_black_scholes(const double &S,const double &X,const double &r,const double &sigma,const double &time)

{

d oubl

e time_sqrt=sqrt(time);

d oubl

e d1=(log(S/X)+r*time)/(sigma*time_sqrt)+*sigma*time_sqrt;

d oubl

e d2=d1-(sigma*time_sqrt);

d oubl

e c=S*N(d1)-X*exp(-r*time)*N(d2);

r eturn c;

}

double option_price_impied_volatility_call_black_scholes_bisections(const double &S,const double &X,const double &r,const double &time,const double &option_price)

{

c onst double ACCURACY=;

c onst int MAX_ITERATIONS=100;

const double ERROR=-1e40;

double sigma_low=1e-5;

double sigma_high=;

for(int i=0;i

{

double sigma=(sigma_low+sigma_high)*;

double price=option_price_call_black_scholes(S,X,r,sigma,time);

double test=(price-option_price);

double b2=;

double b3=;

double b4=;

double b5=;

double p=;

double c2=;

double a=fabs(x);

double t=+a*p);

double b=c2*exp((-x)*(x/);

double n=((((b5*t+b4)*t+b3)*t+b2)*t+b1)*t;

n=*n;

if(x

return n;

}

double max(double a,double b)

{

if(a>b)return a;else return b;

}

相关文档
最新文档