【美股投资择时篇(三)】验证“跌了就买”、“追涨杀跌”策略的收益

第一篇中列举了想验证的以下4种策略:
无脑定投(Dollar Cost Avaraging, DCA)
“低买高卖”——PER(市盈率)法
“跌了再买,涨了就抛”
(按目标年化收益率)止损/止盈 在第二篇中验证了第二个“低买高卖”的投资策略,结果是收益率中间值来看,还没有无脑定投理想
那么今天想验证一下第三种策略——“跌了再买,涨了就抛”,以及“追涨杀跌”策略是否可行。
此模拟前提条件:
- 数据:1886/01/02 - 2023/01/17的标普500指数每月记录(不含股息分红),注意是指数投资,不是个股投资
- 由于我们不能直接投指数,因此模拟时扣除在日本的标普500指数基金中资产规模最大的指数基金的托管费率0.0968%) - 每月可以有1,000块钱用于投资/储蓄(在python代码中的参数为monthly_income)
- 计算比较三十年之后的资产情况
下图是统计的思路:

数据是1886-2023年的每月数据, 第一次模拟是1886/1-1926/1,采取想测的策略计算收益情况,第二次模拟是1886/2-2926/2...以此类推。最后计算所有模拟结果中的最低值、平均值、中间值、最高值等统计数据
A. 验证“跌了再买,涨了就抛”策略
计算逻辑:
初始时: 投入资产(invested_amount)=0 钱包(wallet)=0
第n月时: 若上月变动幅度低于X%,投入1,000块钱,以及钱包中的所有钱。若上月变动幅度大于X%且小于Y%,则把1,000块钱放入钱包中。若上月变动幅度>=Y%,则抛掉所有投入资产放入钱包中;
最后看投入资产+钱包的合计,计算不同阈值X%, Y%的收益情况。
作为对比,以下是无脑定投的结果:

确认好条件之后我们就可以进入正题了,“跌了再买,涨了就抛”策略是否可行呢?
下图是结果,纵轴为判断买入的阈值(也就是X%,上月收益率低于该值就买入),横轴为判断卖出的阈值(也就是Y%,上月收益率高于该值卖出),首先看一下中间值的分布情况:

上面的表格显示,每月有1000块钱的收入时,若采取“上月跌幅大于3%就买入,上月涨幅高于5%卖出”的策略,30年后的资产中间值为407,706块钱。 我们从中可以看出一些倾向:
1. 买入阈值(纵轴)的绝对值越低,30年后资产的中间值越高。也就是说,买入的机会越多收益越高
2. 卖出阈值(横轴)越高,30年后资产的中间值越高。也就是说,卖出的机会越少收益越高
3. 无论采取多少的阈值X,Y,都不能超越无脑定投的中间值
这次的结果,和上一篇模拟的结论差不多。虽然“跌了再买”心理上可能过得去,但是从收益率的情况来讲,是非常不值得采纳的。 顺便贴一下夏各阈值的夏普率:

可以说,买卖越频繁风险越低吧,不过收益就不那么可观了。
最后贴一下各阈值情况下的主要统计结果(由于篇幅原因只列出4对):

采用最高中间值的策略,收益高出无脑定投3万6千块钱左右,不过无脑定投只要设置好就一步到位了,而“追涨杀跌”就要关心上个月资产的变动情况。为了这个差距需不需要付出精力,那就是你要考虑的事情了吧。
另外在日本的话如果投资有收益了的话每次卖出都需要付出约20%的税,所以该策略在日本是否可行还是需要进一步分析的
B. 验证“追涨杀跌”策略
也就是涨了就买,跌了就卖,也称“趋势投资”,是一个非常符合人类心理的策略(也是多数散户采用的策略吧),以下是计算逻辑(就是把上面的策略反过来):
初始时: 投入资产(invested_amount)=0 钱包(wallet)=0
第n月时: 若上月涨幅高于Y%,投入1,000块钱,以及钱包中的所有钱。若上月变动幅度大于X%且小于Y%,则把1,000块钱放入钱包中。若上月变动幅度<=X%,则抛掉所有投入资产放入钱包中;
最后看投入资产+钱包的合计,计算不同阈值X%, Y%的收益情况。
下图是结果,纵轴为判断卖出的阈值(也就是X%,上月收益率低于该值就卖出),横轴为判断买入的阈值(也就是Y%,上月收益率高于该值买入),首先看一下中间值的分布情况:

上面的表格显示,每月1000块钱的收入,采取“上月涨5%以上买入,跌7%以上卖出”策略时,30年后资产的中间值是998,291块钱。横轴0%意味着只考虑做止损的情况 这一次的结果比刚刚的好很多,特别地,有四对组合超过了无脑定投策略:(-5%, 1%)、(-8%, 1%)、(-9%, 1%)、(-9%, 5%),其中(-5%, 1%)的中间值最高,为1,042,732,高出无脑定投3万6千块钱左右。如果你每月投的稍微多一点,每月投1,500块钱的话,30年后就可以提前退休了。 说实话这个结果还挺让我意外的,以前一直以为投资不择时,跌再多也拿着的无脑定投是收益率最高的,然而这次模拟验证了止损的重要性吧。毕竟历史上单月跌5%以上的情况很少(12*30个月中平均36次),可能是一个很好的股灾警示。
顺便贴一下各组合的夏普率:

这一次也是,相比无脑定投的1.85, 相对好一些
最后贴一下收益最高的和夏普率最高的两组合的统计概要:

采用最高中间值的策略(即上月涨1%以上就买,跌5%以上就卖),收益高出无脑定投3万6千块钱左右,不过无脑定投只要设置好就一步到位了,而“追涨杀跌”就要关心上个月资产的变动情况。为了这个差距需不需要付出精力,那就是你要考虑的事情了吧。
另外在日本的话,如果投资有收益,每次卖出都需要缴纳对收益部分约20%的税,所以该策略在日本是否可行还是需要进一步分析的
下一篇准备分析“(按目标年化收益率)止损/止盈”策略的收益情况。
Appendix
本次源代码在: https://github.com/lapi2023/Stock_Return_and_safe_withdraw_rates_simulation
“跌了再买”: 计算用:Return_Simulation_monthly_buy_after_falling.py
绘图用:plot_Return_Simulation_monthly_buy_after_falling.py
“追涨杀跌”: 计算用:Return_Simulation_monthly_follow_the_herd.py
绘图用:plot_Return_Simulation_monthly_follow_the_herd.py
注1:我分享过的,以及将要分享的内容都是过去数据得出来的结果,而过去数据不能保证将来的走势,投资有风险,所有后果应由自己承担。
注2:我不会推荐任何具体的金融产品(最多是指数),任何高端的操作技巧(K线是不会出来的,之后也会说明其实这些技巧都没什么大用),也没有收任何机构的钱,开户什么的基本操作请自己搜一下(我也不知道国内券商的情况)