# 金融 / 专题函数 / 衍生品分析 / 期权专项 / 期权系列01：期权定价基础模型 / 隐含波动率

## `black_scholes_america_iv(contract_type, option_type, s, x, r, option_price, t, q, sigma_seed, accuracy, max_iterations)`

声明：function

由BAW模型倒推出美式期权的隐含波动率(%)

<!-- tags: 金融 专题函数 衍生品分析 期权专项 01： 期权系列期权定价基础模型 隐含波动率 BAW -->

| 参数             | 类型        | 说明                                                                                                                                     |
| ---------------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| `contract_type`  | user_define | 用户自定义,期权品种类型                                                                                                                  |
| `option_type`    | user_define | 用户自定义,期权类型                                                                                                                      |
| `s`              | float       | 标的现价，实数类型                                                                                                                       |
| `x`              | float       | 期权的行权价，实数类型                                                                                                                   |
| `r`              | float       | 无风险年利率(%)，实数类型                                                                                                                |
| `option_price`   | float       | 期权价格，实数类型                                                                                                                       |
| `t`              | float       | 剩余存续期(年)，到期权到期日前的剩余的有效期限，实数类型                                                                                 |
| `q`              | float       | 连续分红率(%)，实数类型。一般来说，如果是无股利支付的股票，那么q=0，有股利支付的股票，q为股利支付率，若标的是外汇，则q为外国的无风险利率 |
| `sigma_seed`     | float       | 迭代初值，隐含波动率(%)，应为0到100之间的值，可缺省，默认取50                                                                            |
| `accuracy`       | float       | 迭代精确度，实数类型，可缺省，默认取1E-6                                                                                                 |
| `max_iterations` | integer     | 最大迭代次数，整数类型，可缺省，默认取1000                                                                                               |

返回：float

### 示例

范例01：根据BAW模型计算美式期权隐含波动率

```tsl
// 根据BAW模型计算美式期权隐含波动率
return Black_Scholes_America_IV(1, 0, 4986, 5300, 1.5, 0.07, 0.028373, 1.5);
// 为了避免没有收敛到最优解，此时可以考虑更改初值再迭代一次
// 输出：为12.7518803996707
```

范例02：根据BAW模型计算美式期权隐含波动率

```tsl
// 根据BAW模型计算美式期权隐含波动率
return Black_Scholes_America_IV(1, 0, 4986, 5300, 1.5, 0.07, 0.028373, 1.5, 12.75);
// 或者可以考虑增加迭代的次数，此时也可达到最优解
// 输出：为12.7083837771018
```

范例03：根据BAW模型计算美式期权隐含波动率

```tsl
// 根据BAW模型计算美式期权隐含波动率
return Black_Scholes_America_IV(1, 0, 4986, 5300, 1.5, 0.07, 0.028373, 1.5, 50, 1E-6, 2000);
// 可以考虑参考欧式期权BS模型的隐含波动率结果来设置初值
sigma_s := OptionImpliedVolatilitylu(1, 0, 4986, 5300, 1.5, 0.07, 0.028373, 1.5, 0, 500);
// 输出：为12.7083838542107
```

范例04：根据BAW模型计算美式期权隐含波动率

```tsl
// 根据BAW模型计算美式期权隐含波动率
return Black_Scholes_America_IV(1, 0, 4986, 5300, 1.5, 0.07, 0.028373, 1.5, sigma_s, 1E-6, 2000);
```
