Pig*_*ius 1 c normal-distribution probability quantitative-finance probability-theory
首先,对于那些不了解这条法律的人,不要害怕它实际上很简单。在此链接http://en.wikipedia.org/wiki/Black%E2%80%93Scholes_model 上,您将从数学的角度看到这条定律。继续部分符号并查看以 N(x)=1/sqrt(2*PI) 开头的函数......我正在用 C 语言实现 Black-Scholes 模型,你可能已经猜到了,但我不知道如何实现这个功能,我在网上找到了一个实现,但我不确定我是否应该对此感到高兴,似乎有点不对劲。这是我正在使用的代码。
double N(double z){
const double b1=0.31938153;
const double b2=-0.356563782;
const double b3=1.781477937;
const double b4=-1.821255978;
const double b5=1.330274429;
const double p=0.2316419;
double a=fabs(z);
double t=1.0/(1.0+a*p);
double w=1.0-1.0/sqrt(2*M_PI)*exp(-a*a/2)*(b1*t+b2*t*t+b3*pow(t,3)+b4*pow(t,4)+b5*pow(t,5));
if(z<0.0)
w=1.0-w;
return w;
}
Run Code Online (Sandbox Code Playgroud)
我想让你告诉我法律的这种实施是否正确以及为什么正确。非常感谢您提前。
标准正态累积分布函数正是高斯误差函数(1/2)*(1 + erf(z/sqrt(2)))所在的位置erf,它可以在许多 C 编程库中找到。检查您正在使用的开发环境——很有可能erf已经在它的库之一中。