skills/windpy-sdk/references/options-fields.md

118 lines
4.0 KiB
Markdown
Raw Permalink Normal View History

# WindPy 期权专用字段参考
期权数据通过 `wset()`(合约查询)、`wsd()`(时间序列)、`wss()`(截面快照)、`wsq()`(实时行情)获取。
## 合约查询wset
使用 `optioncontractbasicinfo` 表查询在交易期权合约:
```python
from wind_client import wset
# 50ETF 期权 — 在交易合约
df = wset("optioncontractbasicinfo", "exchange=sse;windcode=510050.SH;status=trading")
# 300ETF 期权 — 在交易合约
df = wset("optioncontractbasicinfo", "exchange=sse;windcode=510300.SH;status=trading")
```
### 返回字段
| 字段 | 含义 | 示例值 |
|------|------|--------|
| `wind_code` | Wind代码 | 10010173 |
| `trade_code` | 交易代码 | 510050C2603A03600 |
| `sec_name` | 合约名称 | 50ETF购3月3507A |
| `option_mark_code` | 标的代码 | 510050.SH |
| `option_type` | 期权类型 | ETF期权 |
| `call_or_put` | 认购/认沽 | 认购 / 认沽 |
| `exercise_mode` | 行权方式 | 欧式 |
| `exercise_price` | 行权价 | 3.507 |
| `contract_unit` | 合约单位 | 10265 |
| `limit_month` | 到期月份 | 2026-03 |
| `listed_date` | 上市日期 | 2025-10-10 |
| `expire_date` | 到期日 | 2026-03-25 |
| `exercise_date` | 行权日 | 2026-03-25 |
| `settlement_date` | 交割日 | 2026-03-26 |
| `reference_price` | 参考价 | 0.0487 |
| `settle_mode` | 交割方式 | 实物资产 |
| `contract_state` | 合约状态 | 上市 |
## 期权代码格式
- Wind代码`10XXXXXX.SH`注意wss 中需要 `.SH` 后缀才能获取数据)
- 交易代码:`{标的}{C/P}{年月}{调整标记}{行权价×1000}`
- C = 认购 (Call), P = 认沽 (Put)
- 示例:`510050C2603A03600` = 50ETF 认购 2026年3月 A档 行权价3.600
## 期权行情字段wss/wsd
**重要:** wss 中期权代码必须带 `.SH` 后缀。
| 字段 | 含义 | 说明 |
|------|------|------|
| `sec_name` | 合约名称 | |
| `close` | 收盘价 | 权利金价格 |
| `open` | 开盘价 | |
| `high` | 最高价 | |
| `low` | 最低价 | |
| `volume` | 成交量 | 张 |
| `amt` | 成交额 | |
| `oi` | 持仓量 | |
## 希腊字母Greeks
| 字段 | 含义 | 说明 |
|------|------|------|
| `us_impliedvol` | 隐含波动率 | Implied Volatility |
| `delta` | Delta | 标的价格敏感度 |
| `gamma` | Gamma | Delta变化率 |
| `vega` | Vega | 波动率敏感度 |
| `theta` | Theta | 时间衰减 |
| `rho` | Rho | 利率敏感度 |
```python
from wind_client import wss
# 获取活跃期权的Greeks注意 .SH 后缀)
df = wss("10010173.SH", "sec_name,close,us_impliedvol,delta,gamma,vega,theta,rho")
```
## 使用示例
```python
from wind_client import wset, wss, wsd
# 1. 查询当前可交易的50ETF期权
contracts = wset("optioncontractbasicinfo", "exchange=sse;windcode=510050.SH;status=trading")
# 2. 筛选近月认购期权
calls = contracts[contracts['call_or_put'] == '认购']
near_month = calls[calls['limit_month'] == calls['limit_month'].min()]
# 3. 获取Greeks
codes = ','.join([c + '.SH' for c in near_month['wind_code'].tolist()[:5]])
greeks = wss(codes, "sec_name,close,exercise_price,us_impliedvol,delta,gamma,vega,theta")
# 4. 期权价格时间序列
df = wsd("10010173.SH", "close,volume,oi,us_impliedvol", "-10D")
```
## 常见标的
| 标的 | 代码 | 交易所 | 说明 |
|------|------|--------|------|
| 50ETF | 510050.SH | 上交所 | 最活跃ETF期权 |
| 300ETF | 510300.SH | 上交所 | 沪市300ETF期权 |
| 创业板ETF | 159915.SZ | 深交所 | |
| 沪深300指数 | 000300.SH | 中金所 | 股指期权 |
## 注意事项
1. **代码后缀:** wset 返回的 `wind_code` 不带后缀,但 wss/wsd 中必须加 `.SH` 才能获取行情和Greeks
2. **Greeks 有效性:** 仅对在交易且有成交的合约有效,过期合约返回 None
3. **行权方式:** A股 ETF 期权均为欧式期权
4. **合约单位:** 不同标的合约单位不同50ETF约10000张300ETF约10000张
5. **交割方式:** ETF期权为实物交割股指期权为现金交割
6. **wset 参数:** `exchange=sse`(上交所) `exchange=szse`(深交所) `exchange=cfe`(中金所)