【美股投資擇時(shí)篇(三)】驗(yàn)證“跌了就買”、“追漲殺跌”策略的收益

?第一篇中列舉了想驗(yàn)證的以下4種策略:
無(wú)腦定投(Dollar Cost Avaraging, DCA)
“低買高賣”——PER(市盈率)法
“跌了再買,漲了就拋”
(按目標(biāo)年化收益率)止損/止盈 ? 在第二篇中驗(yàn)證了第二個(gè)“低買高賣”的投資策略,結(jié)果是收益率中間值來(lái)看,還沒(méi)有無(wú)腦定投理想
那么今天想驗(yàn)證一下第三種策略——“跌了再買,漲了就拋”,以及“追漲殺跌”策略是否可行。
此模擬前提條件:
? ?- 數(shù)據(jù):1886/01/02 - 2023/01/17的標(biāo)普500指數(shù)每月記錄(不含股息分紅),注意是指數(shù)投資,不是個(gè)股投資
? ?- 由于我們不能直接投指數(shù),因此模擬時(shí)扣除在日本的標(biāo)普500指數(shù)基金中資產(chǎn)規(guī)模最大的指數(shù)基金的托管費(fèi)率0.0968%) ? ?- 每月可以有1,000塊錢(qián)用于投資/儲(chǔ)蓄(在python代碼中的參數(shù)為monthly_income)
? - 計(jì)算比較三十年之后的資產(chǎn)情況
下圖是統(tǒng)計(jì)的思路: ?

? 數(shù)據(jù)是1886-2023年的每月數(shù)據(jù), 第一次模擬是1886/1-1926/1,采取想測(cè)的策略計(jì)算收益情況,第二次模擬是1886/2-2926/2...以此類推。最后計(jì)算所有模擬結(jié)果中的最低值、平均值、中間值、最高值等統(tǒng)計(jì)數(shù)據(jù)
A. 驗(yàn)證“跌了再買,漲了就拋”策略
計(jì)算邏輯:
? 初始時(shí): 投入資產(chǎn)(invested_amount)=0 錢(qián)包(wallet)=0
? 第n月時(shí): 若上月變動(dòng)幅度低于X%,投入1,000塊錢(qián),以及錢(qián)包中的所有錢(qián)。若上月變動(dòng)幅度大于X%且小于Y%,則把1,000塊錢(qián)放入錢(qián)包中。若上月變動(dòng)幅度>=Y%,則拋掉所有投入資產(chǎn)放入錢(qián)包中;
?最后看投入資產(chǎn)+錢(qián)包的合計(jì),計(jì)算不同閾值X%, Y%的收益情況。
?作為對(duì)比,以下是無(wú)腦定投的結(jié)果:

?確認(rèn)好條件之后我們就可以進(jìn)入正題了,“跌了再買,漲了就拋”策略是否可行呢?
?下圖是結(jié)果,縱軸為判斷買入的閾值(也就是X%,上月收益率低于該值就買入),橫軸為判斷賣出的閾值(也就是Y%,上月收益率高于該值賣出),首先看一下中間值的分布情況: ?

? 上面的表格顯示,每月有1000塊錢(qián)的收入時(shí),若采取“上月跌幅大于3%就買入,上月漲幅高于5%賣出”的策略,30年后的資產(chǎn)中間值為407,706塊錢(qián)。 ? 我們從中可以看出一些傾向:
? 1. 買入閾值(縱軸)的絕對(duì)值越低,30年后資產(chǎn)的中間值越高。也就是說(shuō),買入的機(jī)會(huì)越多收益越高
? 2. 賣出閾值(橫軸)越高,30年后資產(chǎn)的中間值越高。也就是說(shuō),賣出的機(jī)會(huì)越少收益越高
? 3. 無(wú)論采取多少的閾值X,Y,都不能超越無(wú)腦定投的中間值
? ? 這次的結(jié)果,和上一篇模擬的結(jié)論差不多。雖然“跌了再買”心理上可能過(guò)得去,但是從收益率的情況來(lái)講,是非常不值得采納的。 ? ? 順便貼一下夏各閾值的夏普率: ? ?

? 可以說(shuō),買賣越頻繁風(fēng)險(xiǎn)越低吧,不過(guò)收益就不那么可觀了。
? ?最后貼一下各閾值情況下的主要統(tǒng)計(jì)結(jié)果(由于篇幅原因只列出4對(duì)): ?

? 采用最高中間值的策略,收益高出無(wú)腦定投3萬(wàn)6千塊錢(qián)左右,不過(guò)無(wú)腦定投只要設(shè)置好就一步到位了,而“追漲殺跌”就要關(guān)心上個(gè)月資產(chǎn)的變動(dòng)情況。為了這個(gè)差距需不需要付出精力,那就是你要考慮的事情了吧。
? 另外在日本的話如果投資有收益了的話每次賣出都需要付出約20%的稅,所以該策略在日本是否可行還是需要進(jìn)一步分析的
B. 驗(yàn)證“追漲殺跌”策略
?也就是漲了就買,跌了就賣,也稱“趨勢(shì)投資”,是一個(gè)非常符合人類心理的策略(也是多數(shù)散戶采用的策略吧),以下是計(jì)算邏輯(就是把上面的策略反過(guò)來(lái)):
? 初始時(shí): 投入資產(chǎn)(invested_amount)=0 錢(qián)包(wallet)=0
? 第n月時(shí): 若上月漲幅高于Y%,投入1,000塊錢(qián),以及錢(qián)包中的所有錢(qián)。若上月變動(dòng)幅度大于X%且小于Y%,則把1,000塊錢(qián)放入錢(qián)包中。若上月變動(dòng)幅度<=X%,則拋掉所有投入資產(chǎn)放入錢(qián)包中;
?最后看投入資產(chǎn)+錢(qián)包的合計(jì),計(jì)算不同閾值X%, Y%的收益情況。
?下圖是結(jié)果,縱軸為判斷賣出的閾值(也就是X%,上月收益率低于該值就賣出),橫軸為判斷買入的閾值(也就是Y%,上月收益率高于該值買入),首先看一下中間值的分布情況: ?

? 上面的表格顯示,每月1000塊錢(qián)的收入,采取“上月漲5%以上買入,跌7%以上賣出”策略時(shí),30年后資產(chǎn)的中間值是998,291塊錢(qián)。橫軸0%意味著只考慮做止損的情況 ? 這一次的結(jié)果比剛剛的好很多,特別地,有四對(duì)組合超過(guò)了無(wú)腦定投策略:(-5%, 1%)、(-8%, 1%)、(-9%, 1%)、(-9%, 5%),其中(-5%, 1%)的中間值最高,為1,042,732,高出無(wú)腦定投3萬(wàn)6千塊錢(qián)左右。如果你每月投的稍微多一點(diǎn),每月投1,500塊錢(qián)的話,30年后就可以提前退休了。 ? 說(shuō)實(shí)話這個(gè)結(jié)果還挺讓我意外的,以前一直以為投資不擇時(shí),跌再多也拿著的無(wú)腦定投是收益率最高的,然而這次模擬驗(yàn)證了止損的重要性吧。畢竟歷史上單月跌5%以上的情況很少(12*30個(gè)月中平均36次),可能是一個(gè)很好的股災(zāi)警示。
? 順便貼一下各組合的夏普率: ?

? 這一次也是,相比無(wú)腦定投的1.85, 相對(duì)好一些
?最后貼一下收益最高的和夏普率最高的兩組合的統(tǒng)計(jì)概要: ?

? 采用最高中間值的策略(即上月漲1%以上就買,跌5%以上就賣),收益高出無(wú)腦定投3萬(wàn)6千塊錢(qián)左右,不過(guò)無(wú)腦定投只要設(shè)置好就一步到位了,而“追漲殺跌”就要關(guān)心上個(gè)月資產(chǎn)的變動(dòng)情況。為了這個(gè)差距需不需要付出精力,那就是你要考慮的事情了吧。
? 另外在日本的話,如果投資有收益,每次賣出都需要繳納對(duì)收益部分約20%的稅,所以該策略在日本是否可行還是需要進(jìn)一步分析的
?下一篇準(zhǔn)備分析“(按目標(biāo)年化收益率)止損/止盈”策略的收益情況。
Appendix
? 本次源代碼在: ? https://github.com/lapi2023/Stock_Return_and_safe_withdraw_rates_simulation
?“跌了再買”: ? 計(jì)算用:Return_Simulation_monthly_buy_after_falling.py
? 繪圖用:plot_Return_Simulation_monthly_buy_after_falling.py
? “追漲殺跌”: ? 計(jì)算用:Return_Simulation_monthly_follow_the_herd.py
? 繪圖用:plot_Return_Simulation_monthly_follow_the_herd.py
注1:我分享過(guò)的,以及將要分享的內(nèi)容都是過(guò)去數(shù)據(jù)得出來(lái)的結(jié)果,而過(guò)去數(shù)據(jù)不能保證將來(lái)的走勢(shì),投資有風(fēng)險(xiǎn),所有后果應(yīng)由自己承擔(dān)。
注2:我不會(huì)推薦任何具體的金融產(chǎn)品(最多是指數(shù)),任何高端的操作技巧(K線是不會(huì)出來(lái)的,之后也會(huì)說(shuō)明其實(shí)這些技巧都沒(méi)什么大用),也沒(méi)有收任何機(jī)構(gòu)的錢(qián),開(kāi)戶什么的基本操作請(qǐng)自己搜一下(我也不知道國(guó)內(nèi)券商的情況)