更多精彩内容,欢迎关注公众号:数量技术宅,也可添加技术宅个人微信号:sljsz01,与我交流。
雪球旗下的蛋卷基金,曾经推出过一个名为二八安睡策略的组合基金,绩效极为很稳定,如图:
二八安睡策略的组合基金的投资逻辑
a. 投资者购买“蛋卷安睡二八平衡”视同投资者接受约定交易业务规则和“蛋卷安睡二八平衡”策略交易规则。投资者首次购买“蛋卷安睡二八平衡”时,将按照约定比例购买博时信用债纯债C基金和博时沪深300指数C基金,前者占80%后者占20%。
b. 系统于每月15日检查投资者持仓,若博时沪深300C基金市值占“蛋卷安睡二八平衡”总市值小于15%或大于25%时,则于当日(T日)进行约定转换,将多余或者不足的部分进行转换,使投资者“蛋卷安睡二八平衡”市值恢复至初始时博时沪深300指数C为20%,博时信用债纯债C基金为80%。若15日为非交易日,则系统于每月15日后第一个交易日提交约定转换申请至基金公司。
由于证策原因,该组合基金目前已经关停,而我们也无法通过傻瓜式的投资方式获取该策略的利润。那么,是否可以尝试用量化代码的方式复现策略逻辑并交易呢?答案是肯定的。
我们选择的测试标的与蛋卷策略的完全一致,即
a. 博时沪深300C基金:沪深300指数
b. 博时信用债纯债C基金:中债信用债总财富指数
对于沪深300指数基金,相信大家已经很熟悉,不做过多补充,C基金代表的是不收申购赎回费,仅收取年度管理费的基金类型,对于二八平衡这样需要按需调整仓位的策略,C类基金的收费模式更为友好。
再来看 博时信用债纯债C基金的说明,该基金是由中债信用债总财富指数收益率的90%,加权1年起定期存款利率10%组合得到的,可以反应出信用债市场的总体收益率,同样选择不需要申购赎回费的C类基金。
第1步,我们通过Wind Py API获取上面两个指数的日收益率数据。
第2步,初始仓位,持有20%股票和80%债券。
第3步,非调仓日,持有不动,仅计算持仓市值。
第4步,调仓日触发再平衡逻辑,如果股票资产比例高于阈值,则卖股票买债券、反之则卖债券买股票。
第5步,重复3、4步逻辑直至运行结束。
部分核心回测Python代码,完整代码我们将独家发布在知识星球。
1 与沪深300对比:在收益率相差不大的情况下,大幅降低了资产的波动性,更容易持有。
本期分享的股债二八平衡策略配套完整源码,我们仍然独家发布在知识星球中。
此外,细心的读者已经注意到,我们做的上述测试,并没有更新到最新日期。这是因为我们特意留出了最近两年的历史数据,让大家使用代码自己动手,看看测试历史样本外的这两年,是否还是最佳策略。