用.NET语言写出期权定价公式,double类型全部四舍五入保留4位小数,请写好函数和参数详细注释。
时间: 2023-05-18 18:04:30 浏览: 48
以下是用.NET语言写出期权定价公式的函数和参数详细注释:
```
/// <summary>
/// 计算期权的定价
/// </summary>
/// <param name="S">标的资产价格</param>
/// <param name="K">期权行权价格</param>
/// <param name="r">无风险利率</param>
/// <param name="T">期权到期时间(年)</param>
/// <param name="sigma">标的资产波动率</param>
/// <param name="isCall">期权类型,true表示看涨期权,false表示看跌期权</param>
/// <returns>期权的定价</returns>
public static double OptionPrice(double S, double K, double r, double T, double sigma, bool isCall)
{
double d1 = (Math.Log(S / K) + (r + sigma * sigma / 2) * T) / (sigma * Math.Sqrt(T));
double d2 = d1 - sigma * Math.Sqrt(T);
double Nd1 = NormalDistribution(d1);
double Nd2 = NormalDistribution(d2);
double price = 0;
if (isCall)
{
price = S * Nd1 - K * Math.Exp(-r * T) * Nd2;
}
else
{
price = K * Math.Exp(-r * T) * (1 - Nd2) - S * (1 - Nd1);
}
return Math.Round(price, 4);
}
/// <summary>
/// 计算标准正态分布函数的值
/// </summary>
/// <param name="x">自变量</param>
/// <returns>标准正态分布函数的值</returns>
private static double NormalDistribution(double x)
{
double a1 = 0.31938153;
double a2 = -0.356563782;
double a3 = 1.781477937;
double a4 = -1.821255978;
double a5 = 1.330274429;
double k = 1 / (1 + 0.2316419 * Math.Abs(x));
double y = 1 - 1 / Math.Sqrt(2 * Math.PI) * Math.Exp(-x * x / 2) * (a1 * k + a2 * k * k + a3 * k * k * k + a4 * k * k * k * k + a5 * k * k * k * k * k);
if (x < 0)
{
y = 1 - y;
}
return y;
}
```
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)