设为首页|收藏本站|
开启左侧

[问答] Optiver波动率预测金牌方案解读

[复制链接]
59812 4
裕能达金融 发表于 2022-3-26 04:36:03 | 只看该作者 打印 上一主题 下一主题
 
Optiver公司于1986年在荷兰阿姆斯特丹成立,是全球领先的金融衍生品做市商和程序化交易公司。在过去的30年间,集团分别在阿姆斯特丹、芝加哥、悉尼、上海、香港台湾设立了地区性总部和分支机构,各自活跃于各大主要金融衍生品交易所,积极参与期权、期货、股权、债券等交易,全球拥有超过1000名员工。
2020年7月,Optiver联合Kaggle举办波动率预测比赛,目的是预测各交易品种的波动率。比赛官网地址:Optiver Realized Volatility Prediction。

Optiver波动率预测金牌方案解读 第1张图片
1)背景介绍

波动率预测对于投资交易较为重要,结合波动率,可以制定不同类型的交易策略。更详细的解释可以参考如下链接。
市场波动率的研究意义到底何在?
波动率模型的应用 | 金融时间序列分析讲义

2)数据特点

这个比赛的一大特点,是类似于高频量化交易,数据频次可以精准到秒级别。

  • 数据收集过程

Optiver波动率预测金牌方案解读 第2张图片
这题的数据设计方式较为科学,也在一定程度上限制了数据泄露。针对某个stock_id,选取30min作为取样周期,其中前10min用于计算训练样本,中间10min用于计算target,最后10min不做使用。目的就是使用前10min的数据,预测下10min的波动率。


  • 自变量
数据主要包括两部分,报价数据和成交数据。

Optiver波动率预测金牌方案解读 第3张图片

https://www.kaggle.com/code/jiashenliu/introduction-to-financial-concepts-and-data

上图是成交和报价数据,bid代表买,ask代表卖;当买价和卖价打成一致的时候,会出现成交。

Optiver波动率预测金牌方案解读 第4张图片

https://www.kaggle.com/code/chumajin/optiver-realized-eda-for-starter-english-version

这个图中包括五条曲线,从上到下依次是卖二、卖一、成交价、买一、买二。这条曲线充分反应了交易过程中报价和成交的动态变化过程。横轴代表时间,0-600s,即10min;纵轴代表价格。


  • 因变量:实际波动率
这个比赛使用成交均价计算收益率,再使用收益率计算波动率,这里我贴原图方便大家理解。

Optiver波动率预测金牌方案解读 第5张图片

3)解决方案


  • 特征部分
这个比赛的数据精准到了秒级别,每1min数据又包括了60s的报价和成交数据。所以基于此,我们可以做出大量的aggregation特征。当然也可以设计cnn或者rnn专门去处理这些序列数据,不过对建模能力有较高的水准要求。
这里我列一下重点的特征。
特征名解释
stock_id股票代码
log_return_realized_volatility过去10min基于买一和卖一报价计算的实现波动率
log_return_realized_volatility_300过去5min基于买一和卖一报价计算的实现波动率
trade_seconds_in_bucket_count_unique_300过去5min发生的交易的时刻数
price_spread_mean交易价差
trade_seconds_in_bucket_count_unique过去10min发生的交易的时刻数
price_spread_mean_300过去5min交易价差
trade_log_return_realized_volatility过去10min基于成交价计算的实现波动率
trade_log_return_realized_volatility_300过去5min基于成交价计算的实现波动率
log_return2_realized_volatility过去10min基于买二和卖二报价计算的实现波动率
log_return2_realized_volatility_300过去5min基于买二和卖二报价计算的实现波动率
wap_balance_mean过去10min的成交均价价差
wap_balance_mean_300过去5min的成交均价价差
trade_size_sum过去10min的交易量
trade_size_sum_300过去5min的交易量
ask_spead_mean基于卖方报价的价差
bid_spead_mean基于买方报价的价差
bid_ask_spead_mean基于买方和卖方报价的价差
LightGBM starter with feature engineering idea 更多特征可以参考该文档。
除了上述特征外,这个比赛还有两个重要的特征工程技巧,每个技巧都可以大幅提高比赛得分;分别是基于time_id的KNN和基于stock_id的kmeans。

Optiver波动率预测金牌方案解读 第6张图片
基于time_id的KNN:使用knn算法找到相近的timeid,并把上述的重要的特征重新聚集一遍;反映时间特征。
基于stock_id的kmeans:使用corr+kmeans,找到相近的stockid,并把上述的重要的特征重新聚集一遍;反映行业特征。
更详细的可以参考optiver第一名解决方案Optiver Realized Volatility Prediction。

  • 模型部分
模型部分使用常见的lgb、nn模型即可处理。

总结

1 这个比赛的数据精准到了秒级别,数据量较大,是难得的高频量化比赛。
2 参赛者可以通过一系列特征工程和模型算法,感受如何使用ML和DL方法去解决金融问题。
3 这个比赛还是存在数据泄露的trick的,参赛这一旦发现了计算相似time_id的trick,得分就会有较大的提升。如果当时开发了API接口,可以避免这个问题。另外,如果不是这两个强特,这个比赛的波动实际上是挺大的。
4 数据切分方式:这个比赛的数据收集设计比较严谨,不会出现trAIn和valid时间交叉的问题,使用简单的kfold或者groupkfold即可。
5 至于要不要把stock_id作为特征加进去,这里要分问题而定。如果是预测收益率,建议不加,如果是预测波动率,建议加。原因大概是因为有些品种确实存在较大的波动性,把stock_id作为category变量加进去可以让模型学到。
6 行业特征和相邻时间特征,不止在这个比赛上比较重要,在实际量化中,也都十分重要。


上一篇:美国又生一计,土耳其笑了……
下一篇:CPflight MCP美国飞友评测
@



1.西兔生活网 CTLIVES 内容全部来自网络;
2.版权归原网站或原作者所有;
3.内容与本站立场无关;
4.若涉及侵权或有疑义,请点击“举报”按钮,其他联系方式或无法及时处理。
 

精彩评论4

正序浏览
跳转到指定楼层
沙发
昕儿111 发表于 2022-3-26 04:36:25 | 只看该作者
 
行业特征 时间特征说反了吧
回复 支持 反对

使用道具 举报

 
板凳
linzhenbin 发表于 2022-3-26 04:37:03 | 只看该作者
 
确实,我修改一下,看挺认真的哈
回复 支持 反对

使用道具 举报

 
地板
405470018 发表于 2022-3-26 04:37:13 | 只看该作者
 
捉虫 rt不是成交均价 用的是盘口加权价
回复 支持 反对

使用道具 举报

 
5#
黑子涂客 发表于 2022-3-26 04:37:55 | 只看该作者
 
真的不是过拟合做出来的吗
回复 支持 反对

使用道具 举报

 
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

排行榜
活跃网友
返回顶部快速回复上一主题下一主题返回列表APP下载手机访问
Copyright © 2016-2028 CTLIVES.COM All Rights Reserved.  西兔生活网  小黑屋| GMT+8, 2024-4-29 22:55