期权五档Tick、分钟线、日线数据字段一览

期权五档Tick、分钟线、日线数据字段一览

最近折腾期权回测,一碰到五档盘口数据就头大。公开源要么缺档位,要么时间戳不是交易所原生的,对齐了几次都错位,心态差点崩了。后来无意间翻到一个叫CMES金融数据库的,里面期权数据拆得挺细,tick、分钟、日线都有,而且盘口是实打实的五档买卖,不是那种只给一档凑数的。扒完字段赶紧记下来,省得自己下次又忘。

tick部分每条记录大概长这样:时间戳(毫秒级)、合约代码、最新价、成交量、持仓量、成交额、涨跌、涨跌幅,然后是买一到买五的价和量,卖一到卖五的价和量。做波动率套利的时候,五个档位挂单的变化基本能捕捉到,只是虚值期权经常只有前两档有量,后面是空的,这个得提前过滤掉,不然回测会报错。

分钟线就没那么啰嗦了,字段很直白:时间、开盘价、最高价、最低价、收盘价、成交量、持仓量、成交额。它已经把tick切片聚合好了,频率可以从1分钟、5分钟一直选到30分钟。我拿它和tick对照过价格,开盘收盘基本一致,就是成交量偶尔差个几手,可能是切片窗口的归属问题,影响不大。

日线更清爽,和股票日线差不多:日期、开盘价、最高价、最低价、收盘价、结算价、成交量、持仓量、涨跌、涨跌幅。结算价这玩意儿直接给出来了,给期权定价省了不少事,不用自己再翻规则去算。

下边随便列个表,只挑了我自己比较关心的字段,完整版可以去官网文档里翻。

数据级别我常用的字段碎碎念
Tick时间戳、合约代码、最新价、成交量、持仓量、买1-买5价/量、卖1-卖5价/量、成交额、涨跌五档盘口,毫秒级,虚值合约盘口可能不全
1分钟线时间、开、高、低、收、量、仓、成交额合成好的,不用自己切片,频率可选1/5/15/30min
日线日期、开、高、低、收、结算价、量、仓、涨跌幅结算价直接给,做估值方便

如果不想用API一行行调,网站也提供了按日期打包的csv文件,直接下载解压就行。就是全市场期权tick一天的数据动不动几个G,硬盘小的得先挪挪地方。

API部分很简单,装个包就能上手。贴几行代码,注释里写了调用时的注意事项。

# 安装 CMES 数据接口
pip install cmesdata

from cmesdata import CMESData

# 初始化,CMES金融数据库的行情接口,注意入参正确,调用频率正常。
client = CMESData()

# 拉取某期权合约的tick数据
tick = client.get_option_tick(
    symbol='IO2309-C-4000',
    date='20230901',
    start_time='09:30:00',
    end_time='15:00:00'
)

# 拉取1分钟线
min_data = client.get_option_minute(
    symbol='IO2309-C-4000',
    date='20230901',
    freq='1min'
)

# 拉取日线
daily = client.get_option_daily(
    symbol='IO2309-C-4000',
    start_date='20230801',
    end_date='20230901'
)

调用频率别太野,文档里好像每秒限制几次,具体数字忘了,反正别搞成死循环猛刷,IP被封了得等半天。批量拉数据的话,还是老老实实下csv包更稳。

数据质量整体还行,我遇到过一次盘中tick时间戳重复,去重一下就完事。原始数据没清洗过,多少会有点小毛病,用之前自己加一层校验,别指望直接拿来跑策略。

好了,就记这些,继续撸代码去了。

0
0
0
0
评论
未登录
暂无评论