最近一直在做策略的回测,经常发现一个有趣的现象:一个策略调试好之后再加入一个因子,有时候新加入的因子权重非常低,但是策略整体收益却还是有比较明显的改善,有时候回撤还会减少。
比如某策略使用A、B两个因子,权重分别赋予50和50,选择策略排名前10的按周轮动,年化收益测出来是20%,最大回撤10%;后面再加入一个因子C,权重赋予仅为1,结果整个策略的收益提升到25%,最大回撤降低到8%。
这样我理解是不是有过度拟合的嫌疑?因为新加入的因子权重非常低,新策略相比老策略其实选出的券只是边缘位置的一些发生了很小的变化,结果导致的收益率差异感觉应该是一种偶然。不知道我这种判断是否准确,请各位大佬指教。
比如某策略使用A、B两个因子,权重分别赋予50和50,选择策略排名前10的按周轮动,年化收益测出来是20%,最大回撤10%;后面再加入一个因子C,权重赋予仅为1,结果整个策略的收益提升到25%,最大回撤降低到8%。
这样我理解是不是有过度拟合的嫌疑?因为新加入的因子权重非常低,新策略相比老策略其实选出的券只是边缘位置的一些发生了很小的变化,结果导致的收益率差异感觉应该是一种偶然。不知道我这种判断是否准确,请各位大佬指教。
0
@TimothyJ
补充:你真要做空波动率可以看下用期权复制方差互换,据说可以相比简单的期权策略提高收益风险比
在sp500 covered call etf推出方global X的网站上,也有对动态滚动行权价(rolling plan)的研究(非常粗糙,但说明他们也认识到了滚动行权价可以改善收益特征和优化回撤),https://www.globalxetfs.com/the-case-for-a-systematic-options-rolling-plan/
1
赞同来自: xineric
@TimothyJ
第二,不是没有很多增强,是会削弱
我找得到的最早的有公开业绩是备兑策略基金是gateway fund A class,通过Lasso筛选出合适的因子后残余下的阿尔法也是负数
第三,SPY在2013年7月到2023年6月年化是13%,并没有20%
标普500在同期偏度为-0.46,并没有右偏
第四,调整买卖价,止损或各种规则回测或许可以盈利,但很容易过拟合,就像炸掉的那些波动率对冲基金或玩波动率的对冲基金那样
第一, 你说的对第一,交易成本你算了滑点吗?还是只算了各种费用?
第二,你说的对,这是因为最早的50期权上市时间是2015年3月
第三,我检查过交易成本了,没问题,这是个低频策略,平均每年开平仓次数56次,这个问题不大
第四,BMX指数我了解过,采用的是平值备兑,且月度固定日换仓。这种模式在50上也测试过了,的确没有很强的增强表现。所以我没有用bmx的编制方法呀。我更改了换仓规则,并根据波动率选择了行权价。论坛里也有美国市场利用波动率调整持仓的...
第二,不是没有很多增强,是会削弱
我找得到的最早的有公开业绩是备兑策略基金是gateway fund A class,通过Lasso筛选出合适的因子后残余下的阿尔法也是负数
第三,SPY在2013年7月到2023年6月年化是13%,并没有20%
标普500在同期偏度为-0.46,并没有右偏
第四,调整买卖价,止损或各种规则回测或许可以盈利,但很容易过拟合,就像炸掉的那些波动率对冲基金或玩波动率的对冲基金那样
0
@Duckruck
在sp500 covered call etf推出方global X的网站上,也有对动态滚动行权价(rolling plan)的研究(非常粗糙,但说明他们也认识到了滚动行权价可以改善收益特征和优化回撤),https://www.globalxetfs.com/the-case-for-a-systematic-options-rolling-plan/
第一,分红你这里没有算入补充:
第二,长期表现基本上没算进备兑很吃亏的14牛市,只算了个牛尾巴
第三,当然国内衍生品历史太短没办法,但这个平台还有低估交易成本的问题
第四,我是用美国有回报数据的covered call产品算alpha,都是很高的负值:
标普500
纳斯达克100
根据SG的波动性交易指数,主要就是做空波动性的对冲基金的平均扣费后回报相当凄惨,十几年下来只有14.4%。对,不是年化14....
在sp500 covered call etf推出方global X的网站上,也有对动态滚动行权价(rolling plan)的研究(非常粗糙,但说明他们也认识到了滚动行权价可以改善收益特征和优化回撤),https://www.globalxetfs.com/the-case-for-a-systematic-options-rolling-plan/
0
@Duckruck
第二,你说的对,这是因为最早的50期权上市时间是2015年3月
第三,我检查过交易成本了,没问题,这是个低频策略,平均每年开平仓次数56次,这个问题不大
第四,BMX指数我了解过,采用的是平值备兑,且月度固定日换仓。这种模式在50上也测试过了,的确没有很强的增强表现。所以我没有用bmx的编制方法呀。我更改了换仓规则,并根据波动率选择了行权价。论坛里也有美国市场利用波动率调整持仓的策略(思路有不同)https://www.jisilu.cn/question/444778
另外补充一点是,在bmx的介绍中,也提到了,当基准指数年化20%时表现不佳。其实是因为spx的收益率分布右偏(也就是长牛),这个右偏在期权定价中没有体现,对于卖购来说不利。但目前的A股还没有出现这种右偏。
第一,分红你这里没有算入第一, 你说的对
第二,长期表现基本上没算进备兑很吃亏的14牛市,只算了个牛尾巴
第三,当然国内衍生品历史太短没办法,但这个平台还有低估交易成本的问题
第四,我是用美国有回报数据的covered call产品算alpha,都是很高的负值:
标普500
纳斯达克100
根据SG的波动性交易指数,主要就是做空波动性的对冲基金的平均扣费后回报相当凄惨,十几年下来只有14.4%。对,不是年化14....
第二,你说的对,这是因为最早的50期权上市时间是2015年3月
第三,我检查过交易成本了,没问题,这是个低频策略,平均每年开平仓次数56次,这个问题不大
第四,BMX指数我了解过,采用的是平值备兑,且月度固定日换仓。这种模式在50上也测试过了,的确没有很强的增强表现。所以我没有用bmx的编制方法呀。我更改了换仓规则,并根据波动率选择了行权价。论坛里也有美国市场利用波动率调整持仓的策略(思路有不同)https://www.jisilu.cn/question/444778
另外补充一点是,在bmx的介绍中,也提到了,当基准指数年化20%时表现不佳。其实是因为spx的收益率分布右偏(也就是长牛),这个右偏在期权定价中没有体现,对于卖购来说不利。但目前的A股还没有出现这种右偏。
0
@freesinger
因子分箱的时候可以是几百个股票,但最后实际操作也买不了那么多吧?对的,哪怕最终股票池主观选10个也行,他在做多因子有效性测试,没大样本就拿不出可信的结论。因子越多,样本就需要越大才可靠,3因子10个票要是靠穷举几乎可以拟合出任何结论了,而对未来没用
1
赞同来自: xineric
@TimothyJ
第二,长期表现基本上没算进备兑很吃亏的14牛市,只算了个牛尾巴
第三,当然国内衍生品历史太短没办法,但这个平台还有低估交易成本的问题
第四,我是用美国有回报数据的covered call产品算alpha,都是很高的负值:
标普500
纳斯达克100
根据SG的波动性交易指数,主要就是做空波动性的对冲基金的平均扣费后回报相当凄惨,十几年下来只有14.4%。对,不是年化14.4%,是加起来14.4%,还不如存银行
这个指数2020年6月后还不公布了,可能是因为2020年3月炸了一大批做空波动率的基金,剩下的基金已经没有构成指数的意义了
当然,有些波动性基金指数还可以,但他们2020年3月并未出现负回报,甚至有些指数在2018年波动性爆炸的年份出现正回报。也就是说,要么他们有严重的偏差,要么他们并不是(一直)做空波动性的
上证50上市以来的备兑策略,也是iv/4档位开仓,也有持续的alpha。只不过15年大牛大熊的时候没有指数表现的好。但也比指数表现的差很多第一,分红你这里没有算入
第二,长期表现基本上没算进备兑很吃亏的14牛市,只算了个牛尾巴
第三,当然国内衍生品历史太短没办法,但这个平台还有低估交易成本的问题
第四,我是用美国有回报数据的covered call产品算alpha,都是很高的负值:
标普500
纳斯达克100
根据SG的波动性交易指数,主要就是做空波动性的对冲基金的平均扣费后回报相当凄惨,十几年下来只有14.4%。对,不是年化14.4%,是加起来14.4%,还不如存银行
这个指数2020年6月后还不公布了,可能是因为2020年3月炸了一大批做空波动率的基金,剩下的基金已经没有构成指数的意义了
当然,有些波动性基金指数还可以,但他们2020年3月并未出现负回报,甚至有些指数在2018年波动性爆炸的年份出现正回报。也就是说,要么他们有严重的偏差,要么他们并不是(一直)做空波动性的
0
我最近也遇到了很奇怪的事。我回测不同档位(0%/2.5%/3.75%/5%)备兑期权的时候。沪深300一切正常,但是上证50的结果里3.75%表现明显劣于2.5%和5%。我想备兑策略已经够简单纯粹了吧,难道也是过拟合??
0
@超牛投资
首先要确认因子有效性,5000个股票,分组做单调性分析,一组就几百个,然后多因子,这样怎么也要几十上百个股票才能得出可能有效的结论。因子分箱的时候可以是几百个股票,但最后实际操作也买不了那么多吧?
然后周期的选择,股票池的选择,步长的选择,成交合理性的分析,样本外的测试要得出相对稳定的结论10个远远不够,基础不牢固结论再好也没意义
否则5000股选10个,3或者4因子,结论大概率就是随机拟合的
0
@shshchen
把贡献收益最大的10%的品种(或是交易)拿掉看看,如果整体收益一落千丈,那就是过度拟合。大部分策略去掉贡献收益最大的10%的交易收益应该都不行吧?除非是那种高频交易,大部分单子都能赚但都赚的不多
拿掉以后的表现会比较贴合未来实盘的实际表现。
0
@freesinger
然后周期的选择,股票池的选择,步长的选择,成交合理性的分析,样本外的测试要得出相对稳定的结论10个远远不够,基础不牢固结论再好也没意义
否则5000股选10个,3或者4因子,结论大概率就是随机拟合的
最后选入的是10只,已经不算少了吧?首先要确认因子有效性,5000个股票,分组做单调性分析,一组就几百个,然后多因子,这样怎么也要几十上百个股票才能得出可能有效的结论。
然后周期的选择,股票池的选择,步长的选择,成交合理性的分析,样本外的测试要得出相对稳定的结论10个远远不够,基础不牢固结论再好也没意义
否则5000股选10个,3或者4因子,结论大概率就是随机拟合的
11
赞同来自: shiro1234 、闲菜 、TomGoogleBaidu 、nonononoyes 、lwcdxx 、 、 、 、 、 、更多 »
@吉吉木
一直不知道回测有什么意义。。。回测的意义就在于验证想法:对的未必对,错的一定错。经过大量的回测,你会发现没有任何一种静态的量化策略可以跨品种跨市场长期有效,包括价值投资。这样你就能够深刻理解到金融市场是混沌系统,具有自适应性,没有普适性的圣杯存在,每一次决策都要具体问题具体分析。面对未来的不确定性,没有人是神,只有装神弄鬼的神棍。
2
是的,表明你这个回测结果对参数过敏感。以前MT4里面的回测会生成一个横纵坐标为参数的收益率矩阵,像你这种情况可以看到收益率图像颜色是很杂乱的,好的回测结果应该是一大片连续渐变的颜色区域,这样才有一定的健壮性。回测这里面坑太多:无处不在的未来函数;参数过敏感;参数太多;同维参数;时间和品种外推测试不足;很多无法成交的情形;政策的变化(比如很早以前挂单是有费用的,而且很贵,如果是高频交易的策略的话就要考虑这个)。即使考虑了所有这些因素,曾经也跑出了好的策略,但是仍然不敢大仓位上实盘,因为并不能够提供足够的逻辑性来支撑(如果逻辑真的很强的话,不会太依赖回测结果的)。