一、内容介绍
由于7月份的股市行情火热,身边不少朋友咨询投资股票和基金的相关问题。我发现,随着各种理财自媒体的普及,大家对“基金定投”这个概念很好奇,而且已经被这些为了博人眼球无脑鼓吹定投的人所误导,觉得只要定投了就能做到年化20%+,轻松躺赚。我觉得对于不熟悉的东西还是不要轻易去投资,所以决定写点东西给朋友看看,刚好也想比对下MATLAB和Python在量化数据处理的异同。
1.对于定投的态度
定投本来是定期定额投资的简称,投资者通常在每个月月初或者月底购入相同数额的基金,因此也叫基金定投。但在我看来,定投只是一种投资手法,其实股票、基金、期货乃至比特币都可以用定投的方法来投资,不过,对于一般人来说,投资现货类的股票、基金是较好的选择,因为不涉及杠杆,不用考虑中途爆仓的问题。
定投并非需要定期定额,甚至可以加入一些择时的技巧,不用非得每个月定期定额投入,可以在品种价位低的时候投资来摊薄成本。
定投也可以在中途加入定量的目标止盈,而非简单的说等牛市来了再卖出。
无论是定投还是其他投资策略,专业投资者往往兼顾收益和风险,常用年化收益除以最大回撤来算出收益回撤比,以此来衡量一个投资方案的性价比,而大部分理财自媒体都只会鼓吹最终收益,丝毫不提及中间的回撤风险。如果你没有其他更有性价比的投资方案,心态又能好到接受中途大幅度回撤,那么定投还是比较适合的。
如果要投资基金,个人建议直接开个股票账户买场内的ETF即可,如果要投资期货,开期货账户去买卖,至于BTC比较麻烦,这里就不展开了。
2.量化回测工具
决定定投收益的因素主要有定投开始时间,进场时间的选择,出场方案的选择等,基于这些,我用python做了个简单的回测器,能够自由调整测试的品种(手续费,合约乘数等)、月初月末或者高点回撤指定幅度进场、目标止盈或者一直持有到回测数据的最后等参数。
本次测试的数据直接从通达信软件导出(比特币数据除外),如果后期想实盘,其实盘后打开通达信简单看下就知道第二天要不要买卖操作了。
工具的代码简介在第二部分,如果对代码没兴趣可以直接跳到第三部分回测结果。至于工具就不开放了,有兴趣的可以联系我。
二、回测工具
本来是想写python和matlab的对比,但写完python发现工具比想象的更复杂,主要是细节(比如投资额度的剩余处理)较多,所以只写了python版本,但其实matlab也不复杂,笔者以前都是用matlab处理数据,现在两者配合使用,没有真的谁好谁坏,就看个人喜好和个别特色功能需求了。
1.配置文件截图(可以根据配置来灵活调整参数)
2.配置读取源码(部分)
3.数据读取源码(部分)
4.计算源码(过于复杂,就不贴了)
5.结果输出(部分)
三、回测结果
这边展示510500基金、白银指数、玉米指数和比特币的回测结果。期货方面由于处理主力连续换月比较麻烦,所以用指数替代,每个标的可能根据不同配置有几个不同结果,这些结果证明了用不同开始时间,不同进出场方式带来不一样的效果,具体自己看图,悟到多少随缘,我也不展开分析了,有什么问题可以留言或者直接联系我。
1.510500基金
1.1 开始时间:20180916 结束时间:20200916 每次定投金额:2000 买入风格:每月月末买入 卖出风格:30%目标止盈 主动卖出后是否继续定投:是
1.2开始时间:20180916 结束时间:20200916 每次定投金额:2000 买入风格:高点回撤5%买入 卖出风格:30%目标止盈 主动卖出后是否继续定投:是
1.3开始时间:20180916 结束时间:20200916 每次定投金额:2000 买入风格:每月月末买入 卖出风格:持有到最后 主动卖出后是否继续定投:是
1.4开始时间:20150916 结束时间:20200916 每次定投金额:2000 买入风格:每月月末买入 卖出风格:持有到最后 主动卖出后是否继续定投:是
1.5开始时间:20150916 结束时间:20200916 每次定投金额:2000 买入风格:高点回撤5%买入 卖出风格:持有到最后 主动卖出后是否继续定投:是
2.BTC(单位按美元计算)
2.1开始时间:20180916 结束时间:20200916 每次定投金额:300 买入风格:每月月末买入 卖出风格:持有到最后 主动卖出后是否继续定投:是
2.2开始时间:20180916 结束时间:20200916 每次定投金额:300 买入风格:每月月末买入 卖出风格:50%目标止盈 主动卖出后是否继续定投:是
2.3开始时间:20180916 结束时间:20200916 每次定投金额:300 买入风格:每月月末买入 卖出风格:50%目标止盈 主动卖出后是否继续定投:否
2.4开始时间:20180916 结束时间:20200916 每次定投金额:300 买入风格:高点回撤10%买入 卖出风格:50%目标止盈 主动卖出后是否继续定投:否
2.5开始时间:20180916 结束时间:20200916 每次定投金额:300 买入风格:高点回撤10%买入 卖出风格:50%目标止盈 主动卖出后是否继续定投:是
2.6开始时间:20180916 结束时间:20200916 每次定投金额:300 买入风格:高点回撤10%买入 卖出风格:40%目标止盈 主动卖出后是否继续定投:是
3.白银
3.1开始时间:20180916 结束时间:20200916 每次定投金额:7000 买入风格:每月月末买入 卖出风格:40%目标止盈 主动卖出后是否继续定投:是
4.玉米
4.1开始时间:20180916 结束时间:20200916 每次定投金额:2500 买入风格:每月月末买入 卖出风格:40%目标止盈 主动卖出后是否继续定投:是
4.2开始时间:20180916 结束时间:20200916 每次定投金额:2500 买入风格:高点回撤3%买入 卖出风格:40%目标止盈 主动卖出后是否继续定投:是
四、总结
如果能选到像白银这样的品种,恰好在合适的时间用合适方法投资了,那么的确能取得很好的效果,但这不论是定投,还是其他任何投资方式,决定投资胜败的关键在于实力和运气,前者使我们能够通过不断学习积累去改善的,后者只能随缘了。
大部分粗糙的定投方案其实性价比很低,主要还是中间的回撤周期和回撤幅度太大了,即使是个人投资者,在实际操作中也不一定能够坚持得住。当然,定投还有很多细节可以去改善,可能能取得更好的结果,我建议多学习,尽量提升投资策略的性价比(参考收益回撤比),然后再拿真金白银去尝试你所能做出的最佳投资方案吧。
欢迎留言探讨~