基金定投量化实战
Contents
命题
2019.1-2020.12整24个月
20w现金
定投沪深300
收益最大化
探索
标的 -> 005918 天弘沪深300ETF联接C
1、一次性投入全部金额
2、平均定投
将20w平均到整个投资周期中,按
- 每月定投 -> 按500个交易日,每20个交易日定投20w/25=8k
- 每周定投 -> 每5个交易日(总定投100次),每次定投20w/100=2k
- 每日定投 -> 每个交易日(总定投100次),每次定投20w/500=400
计算收益(ma20→ ma5 → ma1)
ma20
ma5
ma1
启示:
1.没有卖出策略的定投是远远不如一次投入的(资金利用率太低了,即使按照空闲资金5%无风险年化算依然很亏)
2.定投周期对收益影响不是很大;可以看到无论收益率还是回撤还是sharpe都相差无几,依然都不如一次性投入
夏普比率越高,说明在承担一定风险的情况下,所获得的超额回报越高。反之,如果夏普比率很小甚至为负,说明承担一定的风险所获的超额回报很小或者没有超额回报。
所以接下来定投的重点在于:
- 快速建立头寸,提高资金利用率
- 卖出策略
3、预期收益法止盈法+ma5定投
预期收益达到20%时全部卖出重新开始定投
先后视镜看一下一次性投入2年收益76%;如果以20%为阈值:
(1.2)^n = 1.76 -> n=3
也就是按照20%止盈我们会遇到大约三次到达阈值的时机,那么我们20w每次投入周期定为24/3=8个月 -> 每个周期大概会定投30次 -> 每次定投6.6k
问题:
- 在刚开始没有迅速建立头寸
- 很早就满仓状态但是又没触发止盈
- 止盈后头寸无法建立,以至于最后一波涨幅无法赶上
设想改进一下:
- 刚开始迅速建立25%的头寸
- 止盈后再迅速建立25%头寸
- 仓位在50%以下不止盈
- 仓位在80%以下15%止盈点
- 仓位在80-100止盈点设置为10%
4、平均价值定投法
平均价值定投 → 价值平均策略
- 500个交易日 -> 100个定投节点
- 005918自2018-04-24以来增长46%,有
(1+p)^3=1.46 → p=14%
那么我们2019.1投入,预计年化15%的情况下,2年后的2020.12净值应该是1.32
20w → 26.5w
那么价值平均的话,我们一个定投节点应该增长2650元价值,那么我们先按照最朴素的策略回测一下:
可以看到:
- 策略的年化17%,略高于我们的定投设置的15%的目标
- 由于这两年基金牛市,所以依然没法跑赢一次性买入的策略
为防止钝化,加上一个年化8%的通膨系数
1.08 = (1+p)^50 → 0.15%每个定投周期的通货膨胀系数
可以看到通膨系数的引入可以提高绝对收益率,并且夏普值也会提高
下面我们后视镜一把看看是否能使用平均价值策略在牛市中战胜一次买入策略
- 已知两年收益率为69% → 年化30%
- 20w两年后总价值应该在33.8w -> 每月价值+3380元
定额太高以至于后期定投没钱失效了
如果我们不考虑资金利用率呢
一次性买入69%的收益,20w -> 33.8w 赚了13.8w
我们放宽定投总额看一下
从图中我们可以看出来:
- 定投的最大敌人是资金利用率(所以提倡白领将每月一部分现金流定投而不是直接将大量资金定投)
- 120w*7.72% = 9.2w 依然没有战胜一次性投入
- 最多一次买入1.4w,是一般定投(3.3k)的4倍
- 针对20w折合收益率46%
5、自我构建定投策略
我希望我的策略:
- 任何时候都不要空仓(打雷下雨也要在场)
- 在不同仓位的时候有不同的定投尺度&止盈策略
- 考虑到定投的
钝化
作用
还是500个交易日,100个定投节点,通膨系数定为一年10%(基本匹配M2增速),我们能忍受的最长不带止盈时长是50个节点
25%作为底仓 = 5w
75%作为定投资金 = 15w
如果平均定投,每次投入3000;考虑到钝化,我们每次投入的成本/持仓价值=1/30
那么首次定投=1600
- 仓位
- 25%-50% 不止盈
- 50%-80% 15%止盈点
- 80%-100% 10%止盈
- 最大回撤控制很好
- sharpe比定投要好
- 尝试
- 减少最短清仓周期->20
- 不要每天都查看止盈 -> 很容易在上涨开始就卖出了
- 另一种卖出方式:
- 到达目标盈利率触发flag
- 只要从最高点回撤5%触发止盈
这块的回测图丢了,说一下结论:
最高点回撤卖出策略是一个很有效的策略,推测这也是因为中国股市多暴涨阴跌,所以目标收益率卖出策略容易在上涨的前段部分直接卖飞损失alpha
不过,依然无法挑战牛市一次性买入策略(不过谁能知道啥时候牛市那还定投个毛线)