## 原型

```python
ContextInfo.bsm_price(optionType,objectPrices,strikePrice,riskFree,sigma,days,dividend)
```

## 释义

ContextInfo.bsm_price 是 QMT 内置 Python 中用于基于BS模型计算欧式期权理论价格的接口。

研究：官方目录未明确；回测：官方目录未明确；模拟：官方目录未明确；实盘：官方目录未明确。

## 参数

| 参数 | 是否必填 | 官方原始定义 |
|---|---:|---|
| `optionType` | 是 | optionType |
| `objectPrices` | 是 | objectPrices |
| `strikePrice` | 是 | strikePrice |
| `riskFree` | 是 | riskFree |
| `sigma` | 是 | sigma |
| `days` | 是 | days |
| `dividend` | 是 | dividend |

## 返回值

提示

objectPrices为float时，返回float

objectPrices为list时，返回list

计算结果最小值0.0001，结果保留4位小数,输入非法参数返回nan

示例返回值

#encoding:gbk

import numpy as np

def init(ContextInfo):

pass

def after_init(ContextInfo):

object_prices=list(np.arange(3,4,0.01));

#计算剩余15天的行权价3.5的认购期权,在无风险利率3%,分红率为0,标的年化波动率为23%时标的价格从3元到4元变动过程中期权理论价格序列

prices=ContextInfo.bsm_price('C',object_prices,3.5,0.03,0.23,15,0)

print(prices)

#计算剩余15天的行权价3.5的认购期权,在无风险利率3%,分红率为0,标的年化波动率为23%时标的价格为3.51元的平值期权的理论价格

## 示例

当前官方章节未提供可独立抽取的示例代码。请根据函数签名和参数说明构造调用，并在对应运行环境验证。

## 详细说明

### 功能说明

基于Black-Scholes-Merton模型，输入期权标的价格、期权行权价、无风险利率、期权标的年化波动率、剩余天数、标的分红率、计算期权的理论价格

### 参数详细说明

| 字段 | 类型 | 说明 |
| --- | --- | --- |
| optionType | str | 期权类型，认购：'C'，认沽：'P' |
| objectPrices | float | 期权标的价格，可以是价格列表或者单个价格 |
| strikePrice | float | 期权行权价 |
| riskFree | float | 无风险收益率 |
| sigma | float | 标的波动率 |
| days | int | 剩余天数 |
| dividend | float | 分红率 |

### 返回值

### 使用提示

objectPrices为float时，返回float

objectPrices为list时，返回list

计算结果最小值0.0001，结果保留4位小数,输入非法参数返回nan

示例返回值

#encoding:gbk

import numpy as np

def init(ContextInfo):

pass

def after_init(ContextInfo):

object_prices=list(np.arange(3,4,0.01));

#计算剩余15天的行权价3.5的认购期权,在无风险利率3%,分红率为0,标的年化波动率为23%时标的价格从3元到4元变动过程中期权理论价格序列

prices=ContextInfo.bsm_price('C',object_prices,3.5,0.03,0.23,15,0)

print(prices)

#计算剩余15天的行权价3.5的认购期权,在无风险利率3%,分红率为0,标的年化波动率为23%时标的价格为3.51元的平值期权的理论价格

price=ContextInfo.bsm_price('C',3.51,3.5,0.03,0.23,15,0)

print(price)
