定期定額購買0050是我目前主要的投資方法,由於投資時間要夠長,才能夠看的出績效,當股市出現起伏時,心理難免也會有雜音。雖然在 0050, 股市長期走勢與傳家寶 內已經提到了美股210年的歷史証明了存股的可得性,但短期的三、五、十年又怎樣呢?如果心理素質不夠堅定,難免會被洗出場。
定期定額回測網站
偶然的機會下,發現了這個 Money Come 的網站,可以來測算定期定額的績效。使用也很簡單:
- 股票代號: 要回測的股票代碼
- 本金: 也就是第一期投入的金額,這邊建議設為0會比較符合定期定額的原則
- 每年額外投入: 每年一次性買入的金額
- 年份: 測算期間
- 每年現金股利再投入: 現金股利是否再投入
按下試算後就可以看到結果了。
試算會分別列出三種購入時機的結果,年初購買、當年最高價與當年最低價。一般用年初購買來當做預期的報酬會比較貼近實際,而最低價與最高價,則代表了定期定額能得到的最低/最高的報酬,讓你心底有個底。
爬蟲一下,不同年份投入的報酬
這個網站是不錯,但如果想要瞭解不同年份投入的報酬,就要手動查詢個幾百次,這樣有點麻煩。於是自己寫了一個爬蟲程式,把幾支比較常存的股票撈了起來,整理一下給大家參考。從這種表才比較能預期,什麼時候可以有比較明顯的回報。
台灣50
元大高股息
中華電信
兆豐金
左邊是買入的年份,上面是賣出的年份,查詢的條件設定為0本金,股利再投入。整體來看,時間拉的越長,整體的年化報酬率都還蠻穩定的,但有幾點要注意的
- 從2019~2021股市開始大漲,原本不怎樣的0050才開始大幅領先其它存股標的。
- 也是在2019~2021開始,中華電的報酬率每況愈下,這其實有點奇怪,但我沒買中華電,就不細究了。
- 若單看 2006~2015,與 2006~2018,0050其是被中華電打趴在地上的,也輸給了兆豐金。這將近10年的時間,看著中華電的高報酬,是否還能抱的住0050,連我自己都很懷疑。
結語
存股是這幾年開始成為顯學的,也剛好是新冠疫情股市大噴發的這段期間,0050也在這期間吐了一口氣,一下子領先各存股標的。若往回推3年,真的要考慮自己是不是有辦法忍住這10年平庸的報酬。存股,果然也是不是件容易的事….
程式
給看的懂又想要爬蟲看看的人。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
#!/bin/bash get_json() { id=$1 y1=$2 y2=$3 curl 'https://www.moneycome.in/piggy/s/ci/calcStock' -X POST -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0' -H 'Accept: application/json' -H 'Accept-Language: zh-TW,zh;q=0.8,en-US;q=0.5,en;q=0.3' --compressed -H "Referer: https://www.moneycome.in/tool/compound_interest?stkCode=${id}" -H 'content-type: application/json' -H 'Origin: https://www.moneycome.in' -H 'Connection: keep-alive' -H 'Cookie: _ga=GA1.2.1343701133.1631977747; _gid=GA1.2.756422980.1631977747; __gads=ID=b5bb558f2d038832-229c08de56ca00c4:T=1631977747:RT=1631977747:S=ALNI_MZaixKdNko8RLf-sH0uEnW9JHQXQA; piggy_account_nickname=user01; piggy_account_token=781d29202d0afc85bfb047be72d060171048f95f1c05fd29f430282ed34a29c756e5be6d87523cef2ed9e6245afccce1c55f058e4c7da292838580373c5dc123; piggy_account_language=zh-TW; _piggy_session=b3lNcjZkRWlDdGVLM3phZTlHU1EyTzV4cFlKTWd6NHF6MVlrQTM0elpWaVE3RjllVkp6cXh2OWFiei9jc1l5Y0pOQnRFWjN2R0tSM2tKaWZBQnlzUGg4d2JWeTdWNVI0c1NsU2oxUUJZVFA1RGZoV3oydVdpN3Yzc05wRC95THA0Sk9LeS95a1BxbzZGQmg3bk9ldnlRPT0tLU5sN1VTc0JBY3Y4ei9yeHpwblllRmc9PQ%3D%3D--7f4e465f629a799ef11572bcce3b7232e2704030; _gat_gtag_UA_56094162_5=1' -H 'Sec-Fetch-Dest: empty' -H 'Sec-Fetch-Mode: cors' -H 'Sec-Fetch-Site: same-origin' --data-raw "{\"token\":\"781d29202d0afc85bfb047be72d060171048f95f1c05fd29f430282ed34a29c756e5be6d87523cef2ed9e6245afccce1c55f058e4c7da292838580373c5dc123\",\"stkCode\":\"${id}\",\"principle\":0,\"invAmtPerPeriod\":60000,\"startYear\":${y1},\"endYear\":${y2},\"isDividendReinvestment\":true,\"isCrashInvestment\":false,\"crashThreshold\":0.3,\"invAmtForCrash\":60000}" | python2.7 -m json.tool > a.json } stockid=2412 syear=2006 eyear=2021 echo "<H1>${stockid} 定期定額</H1>" echo "<table border=1>" echo "<tr>" echo "<td>買賣</td>" for e in `seq $syear $eyear` do echo "<td>$e</td>" done echo "</tr>" for s in `seq $syear $eyear` do echo "<tr>" FIRST=1 for e in `seq $syear $eyear` do if [ $FIRST -eq 1 ];then FIRST=0 echo "<td>$s</td>" fi if [ $s -gt $e ];then echo "<td>-</td>" continue fi get_json ${stockid} ${s} ${e} p=`cat a.json | grep yroi | awk -F: '{print $2}' | tail -n 1 | cut -d "\"" -f 2` echo "<td>$p</td>" done echo "</tr>" done echo "</table>" |
同感,短線需要計較買入賣出的時機,“長期”存股是需要有點傻勁的,才能抱得住。
一起努力!~~