📄 geometricasiancf.h
字号:
#define GeometricAsianCF_H
class GeometricAsianCF
{
public:
GeometricAsianCF(double Spot, double Strike, double r, double d, double Vol, double Expiry,
double period)
{
S=Spot;
K=Strike;
rate=r;
q=d;
sigma=Vol;
time=Expiry;
N=period;
}
double option_price_asian_geometric_average_price_call(){ double deltaT=1/N; double sigma_sqr = pow(sigma,2); double adj_div_yield=rate-q-sigma_sqr/2.0; double V0=exp(-rate*time)*S*exp(0.5*(N+1)*adj_div_yield*deltaT + 1.0/12/N*(N+1)*(2*N+1)*sigma_sqr*deltaT); double adj_sigma=sigma*pow(N,-1.5)*pow((1.0/6)*N*(N+1)*(2*N+1),0.5); double adj_sigma_sqr = pow(adj_sigma,2); double time_sqrt = sqrt(time); double d1 = (log(V0/K) + (rate + 0.5*adj_sigma_sqr)*time)/(adj_sigma*time_sqrt); double d2 = d1-(adj_sigma*time_sqrt); double call_price = V0* CumulativeNormal(d1) - K * exp(-rate*time) * CumulativeNormal(d2); return call_price;};
private:
double S;
double K;
double rate;
double q;
double sigma;
double time;
double N;
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -