发布于VeighNa社区公众号【vnpy-community】
原文作者: 陈晓优 | 发布时间:2024-05-18
系列文章计划
VeighNa Elite版中针对期权量化策略交易的OptionStrategy模块发布上线已经超过半年,同时【VeighNa全实战进阶系列 - 精研期权价差策略】课程也已在两个月前更新完毕。
但可能由于期权量化策略在互联网上的公开资料相对较少,目前在VeighNa社区中依然有许多对OptionStrategy感兴趣的用户苦于不知道如何上手。
因此我们策划了《聊聊期权量化》这个系列文章,希望能够帮助大家初探期权量化策略开发、投研和实盘的整体流程,计划中的主题包括:
- 期权策略投研中的难点
- 搭建本地化期权数据库
- 期权策略的开发和回测
- 实盘期权策略交易运维
来点学习动力
先来贴一下【精研期权价差策略】课程中给出的趋势动态调仓复合价差策略AdvancedSpreadStrategy,在中金所沪深300指数期权(IO)品种上的回测绩效:
从回测图表和绩效数据中,不难看出AdvancedSpreadStrategy期权策略的一些特点:
资金曲线的整体形状更偏均值回归类策略
- 大部分交易日呈现稳定的小幅盈利,偶尔出现一次性的显著回撤,和趋势跟踪类的CTA策略曲线形成鲜明的对比;
- 统计数据上,总计727个交易日,超过半数(388个交易日)实现了盈利;
3年回测中策略的整体盈利表现较为稳定
- 年化收益率15.05%,差不多是最大回撤(-6.86%)的2.2倍;
- 回测的Sharpe Ratio为1.55,表现出来就是较为平滑的资金曲线;
策略调仓频率较低对交易成本不那么敏感
- 日均调仓笔数仅为0.71(每天交易次数不到1笔),也就意味着平均上基本是日线级别的中低频调仓;
- 总盈利金额是45.5W,差不多是滑点(14.9W)的3倍,即使滑点有所上升也不容易造成亏损;
- 上述滑点体现了整体交易成本,其中包括交易时的Bid-Ask盘口(即滑点本身),以及固定金额的期权交易手续费(用每张合约费率除以合约乘数)。
梳理技术难点
看到这里可能有些同学已经迫不及待想要上手开始,但是在那之前要给大家先泼个凉水:相较于面向期货的CTA趋势跟踪策略,期权量化策略在开发和回测中的技术难度要大的多得多。
对于绝大多数量化策略来说,无论是CTA趋势策略、价差套利策略,还是本文探讨的期权量化策略,其核心都在于解决以下四个关键问题:
- 开仓时机:什么时候值得建仓?
- 标的选择:买卖选择什么合约?
- 仓位风险:买卖合约的具体数量?
- 平仓时机:何时将已开仓位平掉?
而期权量化策略在解决上述四个关键问题时面临更多挑战,三个显著的难点包括:
逐日回放历史数据的回测模式
- 期权市场每日新旧合约的交替导致可交易合约范围的持续变动。为此,必须建立并维护一个详尽的期权历史合约信息数据库,以确保每个交易日的合约范围得到准确确认。
- 在期权策略回测过程中,由于无法预先确定具体要交易的合约,因此必须采用全量数据回放的模式。回测中的每个交易日,回测引擎都需要同时读取加载上百个合约的历史数据。
多合约历史数据截面对齐回放
- 为了保证和实盘的一致性,数据必须以截面方式推送。在加载所有合约的行情数据后,首先需对时间戳进行对齐,然后按时间顺序排序。
- 期权策略不仅依赖于期权数据,还可能需要标的物数据,甚至某些复杂的期权策略还需涉及其他线性合约的数据。
策略中支持动态选择交易标的
- 策略相关的数据容器中,需要维护期权品种上不同月份和不同行权价合约之间整体关系,并管理期权合约的基本信息,如到期日、行权价、类型等。
- 需要在策略中提供方便的数据更新机制和查询定位函数,通过基于标的物价格的相对坐标体系,用户可以灵活选择特定到期月份和虚值档位的期权进行交易。
针对上述期权策略开发中的挑战,VeighNa Elite版中引入了OptionStrategy期权量化策略模块,该模块与CtaStrategy(针对CTA策略)和PortfolioStrategy(针对组合策略)具有相似的功能,专注于期权策略的历史回测和实盘交易。OptionStrategy模块通过提供高效的策略开发、回测和优化工具,帮助用户将策略无缝应用于实盘交易中。这一过程能够显著减少交易期权时对交易员主观判断的依赖,同时提升策略执行的效率和一致性。
值得一提的是,VeighNa开源社区版中的OptionMaster模块则是专注于期权波动率交易。该模块为交易员提供了实时波动率曲面监控和期权波动率算法执行的交易功能,尽管如此,核心的交易决策仍然依赖于交易员的主观判断。
以下表格列出了两个期权模块的对比区别:
你对于期权量化策略的开发有什么疑问,或者希望在后续文章中看到的内容?欢迎在评论区留言告诉我们!!!
免责声明
文章中的信息或观点仅供参考,作者不对其准确性或完整性做出任何保证。读者应以其独立判断做出投资决策,作者不对因使用本报告的内容而引致的损失承担任何责任。