複利拐點:定期定額多久才能超過主動投資數額

今天討論一個問題,要投資多久的時間之後,產生的利息會超越投資的數額, 研究這個問題只是出於好奇,對投資活動不會有什麼用處。 如果每個月定期定額投資10000元,n個月後的投資總額就是10000×n元, 但跟據未來值的計算,資產數值會超過10000×n, 兩者的差距就是投資帶來的利息, 什麼時候利息會超過10000×n,也就是複利的拐點什麼時候到來呢? 定期定額投資的數額對最終結果是線性的 未來值的計算有3個影響參數: 投入的數額、投資報酬率、和投資時間長度, 其中會影響指數計算結果的只有投資報酬率和投資時間長度, 投入的數額只有加乘作用,這個特性可以直接從公式看出來, 我們也可以驗算一下,假設每個月定期定額投資10000元,投資報酬率7%, 10年之後會變成1730848元 >>> import numpy_financial as npf >>> npf.fv(0.07/12, 10*12, -10000, 0) 1730848.0743353704 如果改成每個月定期定額投資加倍,變成20000元,投資報酬率一樣是7%, 10年之後變成3461696,最終數字也是加倍而已。 >>> npf.fv(0.07/12, 10*12, -20000, 0) 3461696.148670741 也就是說,在計算複利拐點時,定期定額的數額並不會影響計算結果。 投資報酬率7%時的複利拐點 理解上述的理由後,我們就直接假設每個月定期定額投資10000元, 然後寫個小程式來算出複利拐點: import numpy_financial as npf rate = 0.07 monthly_investment = -10000 done = False num_month = 1 while not done: total_asset = npf.fv(rate/12, num_month, monthly_investment, 0) total_investment = abs(monthly_investment) * num_month profit = total_asset - total_investment num_year = num_month / 12 if profit >= total_investment: done = True print(f"{num_month} {num_year:....

October 18, 2025

應對親友借錢,比較好的還款方式

TL;DR 比照房貸的作法,雙方一開始就制定還款計畫,每月還款 當我們有些積蓄後,難免遇到親友來借錢的情況, 借錢的理由不外乎是買房子和創業等等,借款金額都是以百萬為單位在算的, 我們也聽過不少鬼故事,網友們更直接建議不要期待太多,要有作功德的心理準備; 要是親友沒跑路,還了至少一部分款項,就算幸運了。 從借方來講, 找親友借錢要背負人情壓力,這個人情壓力可以很沉重的, 我認識一個朋友,他寧願去借高利貸去週轉,也不向家人借錢,可見一般。 直覺上,向親友借錢的還款方式是像公債一樣, 雙方議定了金額(假設是 100 萬)、利率(假設是 1.5%) 和借幾年後(假設借 5 年), 之後 5 年裡,每年付利息 15000 元給債權人, 最後一年還本金,所以最後一年要付共 1015000 元, 這個金額很大,當初之所以要借錢,就是因為沒錢,實在是難以期待借貸方在 5 年後就有 100 萬元。 除此之外,債權人每年收一次利息,這個反饋週期太長,如果借貸方財務出了狀況, 債權人有可能會錯失處理債務的黃金時機。 改用房貸還款方式 如果我們改用還房貸的作法來處理這個借貸,情況就會不一樣, 首先,Google一下「房貸試算」,現在許多銀行都有這個線上服務,挑一個使用就好了, 然後打進上述的條件:金額 100 萬,借 5 年,單一利率 1.5%,選本息平均攤還, 就可以算出前 59 個月要還 17310 元,第 60 個月還 17305 元。 從債務人來看,每個月還約一萬七,相較於在最後一年還一百多萬,壓力就小多了; 從債權人來看,每個月的還款表示這項借貸還在順利進行中, 要是款項沒有收到或收齊,也能快點掌握情況和早點介入,讓事情不致失控。

January 7, 2025

每天少喝些咖啡可以變有錢嗎?

TL;DR 如果重點劃在「每天」,答案是 Yes。 如果重點放在「咖啡」,答案是 No, 因為同一筆錢如果沒花在咖啡上,也會以其他名目花掉。 留意自己的固定開銷,那怕每個月只省下一些錢,長期下來對財務的幫助很大。 這是老題目了,有部分人是認為省下咖啡錢對財務沒什麼幫助,即使是重度使用者, 一個月花 3000 元喝咖啡,一年也只省下 36000 元,大約可以買台中等性能的筆電, 算不上了不起的成就。 如果有機會成本和定期定額投資的概念,結論會完全不一樣, 在 Future Value 未來值 介紹過怎麼算未來值,現在我們把問題換成 每月定期定額投資 3000 元,年化報酬率設定為 7%,20 年後會變成多少錢? 答案是約 156 萬元!差不多是一戶 800 萬房子的頭期款。 >>> import numpy_financial as npf # 月報酬率=0.97/12, 20年共20*12期 >>> npf.fv(0.07/12, 20*12, -3000, 0) 1562779.979476553 顯然,這是時間和複利的力量,和咖啡無關。 接下來,我們套用相同的概念,看怎麼怎麼讓自己的財務越來越好。 檢視固定開銷 現代生活有許多固定開銷,有部分是我們覺得自己需要,但其實用不到那麼多,這部分的錢就可以省下來。 比方說,手機門號可以不用吃到飽的699,只用基本的199; 沒有常常在看 4K 串流影片的話,家裡網路就不用太快的,改用慢一點的就可以; 咖啡改買15元的濾泡;沒有必要的話,省下健身房會員、取消或降級各種定閱, 一個月下來,可以省下不少錢。 高配款 基本款 省下的錢 手機月付 699 199 500 家用網路費 1299 650 649 咖啡 3000 450 2550 Netflix 460 290 170 健身房月費 1000 0 1000 google drive定閱 650 65 585 chatgpt定閱 600 0 600 總計 6054 再用未來值計算一次,20 年後變成 315 萬,差不多是 1600 萬房子的頭期款。...

January 5, 2025

常用財務函式

TL;DR 在做財務規畫時,使用財務函式會產生出具體數字作為參考,執行上才不會過度保守或激進。 由於利息和通貨澎脹的存在,錢這個東西在相同的時間下比較才公平, 只是我們有時候會忘了這一點,即使想到, 也會因為計算過程中有指數運算而乾脆不算了, 不管原因是什麼,沒能把錢算清楚通常意味著要付出超出合理範圍的錢。 財務函式都是複利計算,以前我們在國中學到如何使用複利公式算出錢的未來數額,其他的情況學校就沒有教了; 這裡列了幾個常用的財務函式,這些財務函式在 excel 或 google spreadsheet 裡都有, 因為我是唸Computer Science的,所以我自己是偏好使用 Python 計算而不是使用現成的軟體, 以下列子都是使用numpy_financial這個套件,可以用 pip 自行安裝。 pip install --user numpy_financial 不管是 Python 套件還是excel/google spreadsheet, 函式名字都一樣,只有在操作上不同, 例如,如果想知道怎麼在excel裡計算未來值的話, 上網查「excel fv」就可以了。 在使用函式時,會把流出的金錢用負數表入(例如付款、投資),流入的金錢用正數表示(例如利息、股利),這一點要先習慣。 Future Value 未來值 未來值就是複利的結果,fv的參數有 fv(利率, 期數, 每期投入金額, 期初金額) 這裡的意思是 利率:通常是投資報酬率或者是通貨澎脹率 期數:複利多少次 每期投入金額:數值為0的話對應回標準的複利公式,若不為0對應到定期定額投資 期初金額:初始投入 讓我們實驗一下 >>> import numpy_financial as npf # (簡單測試用) 年利率7%, 投入10萬元,一年後變成是107000元 >>> npf.fv(0.07, 1, 0, -10_0000) # 流出的錢用負數表示,故最後一個參數是負的 107000.0 # 年利率7%, 投入10萬元,10年後變成 >>> npf....

January 2, 2025

72 法則

TL;DR 翻倍時間 = 72 / 投資報酬率百分比 72 法則(Rule of 72)用來速算在複利成長下資產翻倍所需的大約時間, 只要心算就可以,不需要動用到計算機;只要算 72 除以年化報酬率的百分比數字就可以, 例如年化報酬率是7%的話,72 法則算出來大約需要 72/7 ≅ 10.2 年達到翻倍, 而公式計算則是解 $1.07^y = 2$ 這個式子,兩邊取 log 可算出 $y = \log_{1.07}2 = 10.244$。 下表是 72 法則在年化報酬率從 1% 到 12% 的結果,可以看出來算出來的結果和正解很接近。 年化報酬率 72法則 正解 誤差 1% 72.0 69.7 3.36% 2% 36.0 35.0 2.85% 3% 24.0 23.4 2.35% 4% 18....

January 1, 2025