【美股投資擇時(shí)篇(一)】低買高拋是否可行?

? 在《股市長(zhǎng)期投資入門系列》中有同學(xué)分享了如下評(píng)論:
作為一名不太合格的韭菜,在踩過雷至今仍陷在爛坑的我也打算從此只投指數(shù),不過我只能投國(guó)內(nèi)的兩三只指數(shù)基金,因?yàn)閷?duì)全球股指數(shù)不了解也不懂怎么操作。有一點(diǎn)不同的是我不會(huì)持有二十年,而是在低估時(shí)買入按月或周定投,在到達(dá)高估或是目標(biāo)止盈線時(shí)賣出:如年化百分之十五左右。
?我覺得這個(gè)觀點(diǎn)還是挺有趣的。雖然說,長(zhǎng)期投資中既然相信股市長(zhǎng)期增長(zhǎng)的話,投資的最佳時(shí)機(jī)就是現(xiàn)在。
?我和大部分讀者應(yīng)該是上班族,無法把將來所能夠得到的全部收益提前到手全部投進(jìn)去,那么定期(如每年/每月/每周/每日等)定投是一個(gè)最現(xiàn)實(shí)的方案了。
? 不過我們的認(rèn)識(shí)里面,總覺得采用諸如“股票被低估時(shí)買入,高估時(shí)賣出”、“跌了X%就買入,漲Y%就賣出” 這樣的策略的話,買的時(shí)候會(huì)放心一點(diǎn),那么到底哪一個(gè)策略是最好的呢?從今天開始就想模擬一下不同策略的收益情況。
?對(duì)所有策略有以下前提條件:
- 數(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塊錢用于投資/儲(chǔ)蓄(在python代碼中的參數(shù)為monthly_income)
- 計(jì)算比較三十年之后的資產(chǎn)情況
用來比較的策略是以下五種:
1. 無腦定投(Dollar Cost Avaraging, DCA)
?不管指數(shù)如何變動(dòng),每月定投1,000塊錢
2.“低買高賣”——PER(市盈率)法 ?就是所謂的“低估時(shí)買入,高估時(shí)賣出”。那么怎么判斷股票被高估還是低估呢?我在這里用PER(市盈率)作為模擬。 ? ?什么是市盈率?下面是百度百科的部分內(nèi)容: ?
市盈率是某種股票每股市價(jià)與每股盈利的比率。市場(chǎng)廣泛談及市盈率通常指的是靜態(tài)市盈率,通常用來作為比較不同價(jià)格的股票是否被高估或者低估的指標(biāo)。用市盈率衡量一家公司股票的質(zhì)地時(shí),并非總是準(zhǔn)確的。一般認(rèn)為,如果一家公司股票的市盈率過高,那么該股票的價(jià)格具有泡沫,價(jià)值被高估。當(dāng)一家公司增長(zhǎng)迅速以及未來的業(yè)績(jī)?cè)鲩L(zhǎng)非??春脮r(shí),利用市盈率比較不同股票的投資價(jià)值時(shí),這些股票必須屬于同一個(gè)行業(yè),因?yàn)榇藭r(shí)公司的每股收益比較接近,相互比較才有效。
?簡(jiǎn)單說就是描述相比企業(yè)利潤(rùn),股價(jià)有被多高估的一種指標(biāo),該值越高也可以說該股票在投資家們中有多少期待。比如2020年末特斯拉(TSLA)在沒有多少利潤(rùn)的情況下,由于投資家對(duì)該企業(yè)抱了很大期待,拉高了股票價(jià)格,當(dāng)時(shí)的PER是1,120倍,而2023年2月18日是57.5倍。
? 那么我們來看一下美股過去90年的PER走勢(shì): ? ?

? 從上圖可見,歷史來看標(biāo)普500指數(shù)PER的均值是16倍,中央值是15倍,現(xiàn)在的21.8倍可以說是有點(diǎn)高了。
? 這樣的話從PER的觀點(diǎn)來看,我們可以把
? “低估時(shí)買入,高估時(shí)賣出”
? 說成
? “PER低于X倍時(shí)買入,高于Y倍時(shí)賣出”。
? 那么最后收益能達(dá)到最高的X和Y的組合是多少呢?這是我想計(jì)算的事情。
? 以下是模擬中用到的計(jì)算邏輯:
? 初始時(shí): 投入資產(chǎn)(invested_amount)=0, 錢包(wallet)=0
? 第n月時(shí): 若當(dāng)月PER=Y,則拋掉所有已投資產(chǎn)放入錢包中;最后看投入資產(chǎn)+錢包的合計(jì)
? 以歷史中央值15為分界線分X,Y進(jìn)行模擬 ? PER歷史數(shù)據(jù)來自https://data.nasdaq.com/data/MULTPL/SP500_PE_RATIO_MONTH-sp-500-pe-ratio-by-month
(使用1886年以后的數(shù)據(jù))
3. “跌了再買,漲了就拋” ?和 “追漲殺跌”
? “跌了再買“至少能保證不是在最高點(diǎn)買入——看似可行,那么我們模擬一下“上月跌X%就買入,漲Y%賣出”這樣的策略吧。 ? 以下是計(jì)算邏輯(和上面差不多):
? 初始時(shí): 投入資產(chǎn)(invested_amount)=0 錢包(wallet)=0
? 第n月時(shí): 若上月變動(dòng)幅度低于X%,投入1,000塊錢+錢包中的所有錢。若上月變動(dòng)幅度大于X%且小于Y%,則把1,000塊錢放入錢包中。若上月變動(dòng)幅度>=Y%,則拋掉所有投入資產(chǎn)放入錢包中;最后看投入資產(chǎn)+錢包的合計(jì),計(jì)算不同X, Y的收益情況。
“追漲殺跌”是和上面反過來的,即上月漲Y%以上就買入,跌X%以上就賣出
4. ?(按目標(biāo)年化收益率)止損/止盈
? ?可能聽說過“止損很重要”、“落袋為安”這樣的說法,那么我們?cè)趺磻?yīng)該止盈/止損呢?
? ?以下是計(jì)算邏輯:
? ?初始時(shí): 投入資產(chǎn)(invested_amount)=0 錢包(wallet)=0
? 第n月時(shí): 若資產(chǎn)年化收益率=Y%,拋掉已投資產(chǎn)存入錢包中(止損/止盈),已投時(shí)長(zhǎng)也清零。若X%<資產(chǎn)年化收益率<Y%,投資1,000塊錢。
? 若已投時(shí)長(zhǎng)<12月,則不管一頭資產(chǎn)收益率如何都不拋售(不然買賣太頻繁了)
? 最后看投入資產(chǎn)+錢包的合計(jì),計(jì)算不同X, Y的收益情況。
? ?此方法結(jié)合策略2, 策略3也是可以的,但是計(jì)算有點(diǎn)麻煩還是以后計(jì)算吧
5. “黃金/死亡交叉” ?和 ?“均線趨勢(shì)投資”
?如果想知道上述方法以外的模擬結(jié)果,也歡迎指出~(有長(zhǎng)期的過去數(shù)據(jù)就更好)
?作為一個(gè)比較標(biāo)準(zhǔn),首先看一下無腦定投的結(jié)果: ?

? 簡(jiǎn)單說明一下從上到下各指標(biāo)的意思。
? min: 最低值,按數(shù)據(jù)來看大約有1,300次開始定投三十年的機(jī)會(huì),在這1,300次中記錄的最低資產(chǎn)是157,799??偣餐度胭Y產(chǎn)是
? 1,000 × 12月 × 30年 = 360,000
?也就是說最差情況是虧一半。不過需要注意的是標(biāo)普500指數(shù)每年都有1%-10%的股息分紅,這次是不含股息分紅的情況,實(shí)際應(yīng)該沒有這么差。
? average: 在1,300次定投中記錄的平均資產(chǎn)是1,034,300,也就是定投美股30年平均能漲到3倍左右。
? median: 在1,300次定投中記錄的資產(chǎn)的中間值是1,006,829。由于股市波動(dòng)較大,像平均工資一樣多數(shù)人很容易被平均掉,所以我是更喜歡用中間值來評(píng)價(jià)收益情況。
? max: 在1,300次定投中記錄的最大資產(chǎn)是3,184,007,大約漲7.8倍,不過這個(gè)也是極個(gè)別情況,看看就好
? SD: 標(biāo)準(zhǔn)差(standard deviation),表示分散程度的一個(gè)指標(biāo),值越高表示越分散(初中數(shù)學(xué)內(nèi)容,在這里就不多說了)。在金融領(lǐng)域常把它稱之為風(fēng)險(xiǎn)。既然投資不是為了賭一把,那應(yīng)該把風(fēng)險(xiǎn)降到最低,所以可以說標(biāo)準(zhǔn)差越低越好(注意金融領(lǐng)域中風(fēng)險(xiǎn)不單是指資產(chǎn)變?yōu)樨?fù)的概率)。
? 標(biāo)普500指數(shù)過去200年的收益率分布情況大致可以看作是正態(tài)分布(如下圖) ?

? 我們也可以設(shè)想投資收益情況也服從正態(tài)分布,那么就可以從平均值和標(biāo)準(zhǔn)差大致描述收益的分布了。
? 即約68%的概率在平均數(shù)左右的一個(gè)標(biāo)準(zhǔn)差范圍內(nèi),約95%的概率在平均數(shù)左右兩個(gè)標(biāo)準(zhǔn)差的范圍內(nèi) ? 也就是說按上面表格來看,定投美股30年,大約有68%的概率,資產(chǎn)落在[1,034,300±558,573],即[475,727 ?, 1,592,873]以內(nèi)。
? 說個(gè)題外話,上面也是新聞中聽說過的“百年一遇暴跌”的計(jì)算依據(jù)之一。
? Sharpe Ratio: 夏普率,也稱為風(fēng)險(xiǎn)調(diào)整后收益率,在這里把它簡(jiǎn)化為平均值÷風(fēng)險(xiǎn)(即標(biāo)準(zhǔn)差)。由于一般情況下投資的風(fēng)險(xiǎn)和收益是成正比的,而在相同風(fēng)險(xiǎn)下能達(dá)到較高收益的話,那可以說做出了很好的投資績(jī)效了,該值越高越好。30年定投的夏普率是1.85。
? invested_count: 總共有多少個(gè)月進(jìn)行了投資。由于無腦定投是不管價(jià)格如何變動(dòng)都投資1,000塊錢,所以該值等于模擬期間的月數(shù)。
? avg. invested amount: 平均每次投資投了多少錢。由于是無腦定投,所以該值等于每月可投資產(chǎn)值
? sold count: 平均賣了多少次。由于無腦定投是不賣的,所以該值為0。
?由于計(jì)算很費(fèi)時(shí),我7950X+64GB內(nèi)存的電腦,對(duì)每個(gè)策略的計(jì)算也要花將近半天的時(shí)間,所以策略2-5的結(jié)果準(zhǔn)備改天再寫。在此之前大家可以猜一下哪一個(gè)方案更好吧。當(dāng)然有其他想模擬的方案的話,歡迎指出~
無腦定投的模擬代碼在下面:
?https://github.com/lapi2023/Stock-Return-and-safe-withdraw-rates-simulation ?
Return_Simulation_monthly_DCA.py ——計(jì)算用代碼
plot_Return_Simulation_monthly_DCA.py —— 做表格用代碼
注1:我分享過的,以及將要分享的內(nèi)容都是過去數(shù)據(jù)得出來的結(jié)果,而過去數(shù)據(jù)不能保證將來的走勢(shì),投資有風(fēng)險(xiǎn),所有后果應(yīng)由自己承擔(dān)。
注2:我不會(huì)推薦任何具體的金融產(chǎn)品(最多是指數(shù)),任何高端的操作技巧(K線是不會(huì)出來的,也沒有收任何機(jī)構(gòu)的錢,開戶什么的基本操作請(qǐng)自己搜一下(我也不知道國(guó)內(nèi)券商的情況)。該模擬結(jié)果很有可能不適合A股。