Search K
Appearance
Appearance
文|启四(公众号|启四说)
[Toc]
最近对三低策略做了回测,下面给大家展示一下过程和结果。
回顾一下上一次的回测策略:
策略公式:
价格 × 溢价率 × 剩余规模,乘积越低越好
得出结论:
持仓剩余规模在15亿以内,评分最低前5只时,1天或5天调仓一次,收益是最高的,回撤效果也没有被拉开太大差距。

但是,当我使用目前使用的策略公式回测时:
策略公式:
价格 × (1+溢价率) × 剩余规模,乘积越低越好
结论:
同样的条件下,虽然收益降低,但是回撤控制的更好,1天、5天、10天调仓轮动回撤都能控制在20%以内。

现在的公式,降低了溢价率的权重,提高了价格和剩余规模的权重,能最大限度地保证买入的转债价格或规模足够低,这样的转债安全边际高,收益预期强,偶尔蹭上概念还可能会脉冲。
原来的公式,一些高价债或者公告强赎的转债,因为溢价率很低可能会入选,这样的转债风险较大,因此回撤较大。
考虑到投资第一准则——未虑胜,先虑败。故重新修改回测策略为当前使用策略。
再在此策略之上进一步优化。
之前的回测是有一定缺陷的,能想到的是:
1、没有控制买入价格,所以像伊力转债这样价格在170元以上的转债,也会入选,这样对风险偏好低的同学来说,不太友好
我优化的方法是,从3000元到130元,设置不同的价格阈值进行回测,比较结果看使用哪种方式更好。
2、无法控制强赎转债,一些公告强赎的转债,短时间内溢价会迅速趋近于0%,对价格有打压趋势,这种转债原则上是不应该入选的
这个缺点目前还没有办法进行优化。
3、有些转债实盘中可能无法买到,比如新上市的转债单日涨幅在30%以上,当天无法抢到。
我优化的方法是,对于单日涨幅大于10%的转债,不再买入。
4、有噪音数据,回测过程中发现2022-02-23的英科转债居然也被选进来了,但此时它已经退市,是噪音数据
我优化的方法是,对于连续两天收盘价相同的转债,不再买入,这样虽然可能会有极小的概率误杀恰好相邻两天没有涨幅的转债,但这是目前能想到的最好的办法。
1、时间:目前我手上的数据暂时只有2019-02-24到2022-02-24,因此回测时间段也是选取这段时间
2、成本:默认换仓成本为千分之一
3、策略公式:价格 × (1+溢价率) × 剩余规模,乘积越低越好
4、持仓数量:默认5只
5、调仓频率:默认1天
1)先比较价格阈值
分两种情况回测:
第一种是排除掉单日涨幅大于10%的转债(抢不到的债),排除掉连续两天收盘价相同的转债(去掉噪音数据);
第二种是不排除特殊情况转债。
价格<=3000(和不设置阈值效果相同):
最大回撤(%): 18.34
最大回撤开始时间: 2020-01-09 00:00:00
最大回撤结束时间: 2020-02-03 00:00:00
总收益率(%): 984.74
年化收益率(%): 121.36最大回撤(%): 16.92
最大回撤开始时间: 2020-01-20 00:00:00
最大回撤结束时间: 2020-02-03 00:00:00
总收益率(%): 841.37
年化收益率(%): 111.15价格<=1000:
最大回撤(%): 18.34
最大回撤开始时间: 2020-01-09 00:00:00
最大回撤结束时间: 2020-02-03 00:00:00
总收益率(%): 970.09
年化收益率(%): 120.36最大回撤(%): 16.92
最大回撤开始时间: 2020-01-20 00:00:00
最大回撤结束时间: 2020-02-03 00:00:00
总收益率(%): 996.37
年化收益率(%): 122.15价格<=500:
最大回撤(%): 18.34
最大回撤开始时间: 2020-01-09 00:00:00
最大回撤结束时间: 2020-02-03 00:00:00
总收益率(%): 970.09
年化收益率(%): 120.36最大回撤(%): 16.92
最大回撤开始时间: 2020-01-20 00:00:00
最大回撤结束时间: 2020-02-03 00:00:00
总收益率(%): 996.37
年化收益率(%): 122.15价格<=300:
最大回撤(%): 18.34
最大回撤开始时间: 2020-01-09 00:00:00
最大回撤结束时间: 2020-02-03 00:00:00
总收益率(%): 923.22
年化收益率(%): 117.1最大回撤(%): 16.92
最大回撤开始时间: 2020-01-20 00:00:00
最大回撤结束时间: 2020-02-03 00:00:00
总收益率(%): 1015.08
年化收益率(%): 123.41价格<=200:
最大回撤(%): 18.34
最大回撤开始时间: 2020-01-09 00:00:00
最大回撤结束时间: 2020-02-03 00:00:00
总收益率(%): 581.86
年化收益率(%): 89.63最大回撤(%): 16.92
最大回撤开始时间: 2020-01-20 00:00:00
最大回撤结束时间: 2020-02-03 00:00:00
总收益率(%): 1228.05
年化收益率(%): 136.81价格<=190:
最大回撤(%): 18.34
最大回撤开始时间: 2020-01-09 00:00:00
最大回撤结束时间: 2020-02-03 00:00:00
总收益率(%): 588.48
年化收益率(%): 90.24最大回撤(%): 16.92
最大回撤开始时间: 2020-01-20 00:00:00
最大回撤结束时间: 2020-02-03 00:00:00
总收益率(%): 1420.03
年化收益率(%): 147.71价格<=180:
最大回撤(%): 15.85
最大回撤开始时间: 2020-10-27 00:00:00
最大回撤结束时间: 2021-02-08 00:00:00
总收益率(%): 444.91
年化收益率(%): 75.97最大回撤(%): 15.67
最大回撤开始时间: 2020-01-20 00:00:00
最大回撤结束时间: 2020-02-03 00:00:00
总收益率(%): 1181.12
年化收益率(%): 133.99价格<=170:
最大回撤(%): 15.85
最大回撤开始时间: 2020-10-27 00:00:00
最大回撤结束时间: 2021-02-08 00:00:00
总收益率(%): 451.91
年化收益率(%): 76.72最大回撤(%): 13.59
最大回撤开始时间: 2019-03-13 00:00:00
最大回撤结束时间: 2019-08-06 00:00:00
总收益率(%): 1176.35
年化收益率(%): 133.7价格<=160:
最大回撤(%): 12.58
最大回撤开始时间: 2020-01-07 00:00:00
最大回撤结束时间: 2020-02-03 00:00:00
总收益率(%): 410.3
年化收益率(%): 72.16最大回撤(%): 14.54
最大回撤开始时间: 2020-01-07 00:00:00
最大回撤结束时间: 2020-02-03 00:00:00
总收益率(%): 800.96
年化收益率(%): 108.08价格<=150:
最大回撤(%): 15.45
最大回撤开始时间: 2020-10-27 00:00:00
最大回撤结束时间: 2021-02-09 00:00:00
总收益率(%): 604.24
年化收益率(%): 91.68最大回撤(%): 12.11
最大回撤开始时间: 2019-03-21 00:00:00
最大回撤结束时间: 2019-05-06 00:00:00
总收益率(%): 559.9
年化收益率(%): 87.57价格<=140:
最大回撤(%): 15.45
最大回撤开始时间: 2020-10-27 00:00:00
最大回撤结束时间: 2021-02-09 00:00:00
总收益率(%): 506.09
年化收益率(%): 82.32最大回撤(%): 11.1
最大回撤开始时间: 2020-01-15 00:00:00
最大回撤结束时间: 2020-02-03 00:00:00
总收益率(%): 778.63
年化收益率(%): 106.35价格<=130:
最大回撤(%): 13.67
最大回撤开始时间: 2020-10-27 00:00:00
最大回撤结束时间: 2021-02-08 00:00:00
总收益率(%): 402.59
年化收益率(%): 71.29最大回撤(%): 12.1
最大回撤开始时间: 2019-04-04 00:00:00
最大回撤结束时间: 2019-07-22 00:00:00
总收益率(%): 374.43
年化收益率(%): 68.03可以看到第一种情况的回测效果明显落后于第二种,如果不排除特殊情况转债,那么结合收益和回撤,最大阈值采用170元较好;如果排除特殊情况转债,那么不设阈值更好。
所以我决定新策略暂不设置价格阈值。
2)再比较剩余规模阈值
剩余规模<=2.3亿(和不设置阈值效果相同):
最大回撤(%): 18.34
最大回撤开始时间: 2020-01-09 00:00:00
最大回撤结束时间: 2020-02-03 00:00:00
总收益率(%): 984.74
年化收益率(%): 121.36剩余规模<=2.2亿:
最大回撤(%): 18.34
最大回撤开始时间: 2020-01-09 00:00:00
最大回撤结束时间: 2020-02-03 00:00:00
总收益率(%): 995.26
年化收益率(%): 122.08剩余规模<=2亿:
最大回撤(%): 18.34
最大回撤开始时间: 2020-01-09 00:00:00
最大回撤结束时间: 2020-02-03 00:00:00
总收益率(%): 923.01
年化收益率(%): 117.08回撤效果相同,考虑到设置阈值和不设阈值效果非常接近,因此剩余规模也不设置阈值。
3)最后测溢价率阈值
溢价率<=120%(和不设置阈值效果相同):
最大回撤(%): 18.34
最大回撤开始时间: 2020-01-09 00:00:00
最大回撤结束时间: 2020-02-03 00:00:00
总收益率(%): 984.74
年化收益率(%): 121.36溢价率<=110%:
最大回撤(%): 18.34
最大回撤开始时间: 2020-01-09 00:00:00
最大回撤结束时间: 2020-02-03 00:00:00
总收益率(%): 949.05
年化收益率(%): 118.91溢价率<=80%:
最大回撤(%): 18.34
最大回撤开始时间: 2020-01-09 00:00:00
最大回撤结束时间: 2020-02-03 00:00:00
总收益率(%): 905.79
年化收益率(%): 115.86回撤效果相同,考虑到设置阈值后效果反而不如不设阈值,因此溢价率也不设置阈值。
**结论:**价格、剩余规模、溢价率均不设置阈值。
上面回测的数据都是持仓5只,调仓频率1天时的效果,接下来回测持仓不同只数不同调仓频率的效果。
持仓评分最低前N只,不同调仓频率的收益:
N=1:

只持仓1只时,回撤非常大,显然不行。
N=5:

持仓5只时,5个交易日调仓一次,年化收益和回撤都不错。
N=10:

持仓10只时,回撤进一步降低,但是收益比持仓5只时下降不少。
N=20:

持仓20只时,回撤差别较大,总体比不上持仓10只的效果。
**结论:**结合收益和回撤,推荐持仓5只或者10只,有盯盘精力,推荐1天调仓一次,没有盯盘精力,5天(一周)调仓一次也可以。
根据以上数据和过程得出最终结论:
1、价格、剩余规模、溢价率均不设置阈值。
2、推荐持仓5只或者10只,有盯盘精力,推荐1天调仓一次,没有盯盘精力,5天(一周)调仓一次。
1、当前数据只有3年的数据,不够完整,过去的回测数据不能代表未来收益,之后还需要获取更多数据进行回测;
2、文章中得出的不设置价格阈值的结论是否正确还有待商榷。
注:回测能让我们心里有底,坚定信念,但回测不是万能的,它解决不了实盘中的滑点、中断交易、执行力等问题。
如果你有更好的想法,欢迎一起交流。