Rent-Buy-Breakeven-Model
租房與買房的財務平衡點計算:考慮通膨與房貸利率的量化決策模型
在房地產決策中,「買房還是租房」往往被簡化為情感選擇,而非嚴謹的財務計算。利用淨現值(NPV)模型與蒙地卡羅模擬,我們可以量化通貨膨脹、資產增值率與機會成本的交互影響,找出財務上的「損益平衡點」。
01. 核心參數與假設 (Core Parameters)
建立精準模型的關鍵在於正確設定變數。
- 機會成本: 首付款若不買房,投資於股市或債券的預期年化回報率 (7%-9%)。
- 持有成本: 房屋稅、地價稅、維護費與保險費(約佔房價 1%-1.5%)。
- 通膨影響: 租金通常隨 CPI 調整,而固定利率房貸本息支出則會因通膨而實質貶值。
breakeven_calc.py
NPV Simulation Script
import numpy as np
import numpy_financial as npf
def calculate_breakeven(home_price, rent, years=10):
# 市場假設
appreciation_rate = 0.03 # 房價年增率
investment_return = 0.07 # 投資回報率
mortgage_rate = 0.025 # 房貸利率
inflation_rate = 0.02 # 通膨率
# 買房現金流
down_payment = home_price * 0.2
loan_amount = home_price * 0.8
monthly_payment = npf.pmt(mortgage_rate/12, 30*12, -loan_amount)
buy_equity = down_payment
buy_costs = 0
# 租房現金流 (首付投資)
rent_portfolio = down_payment
for year in range(1, years + 1):
# 資產增值
home_value = home_price * ((1 + appreciation_rate) ** year)
rent_portfolio *= (1 + investment_return)
# 成本累加
annual_rent = rent * 12 * ((1 + inflation_rate) ** year)
rent_portfolio -= annual_rent # 支付租金
# 買房持有成本 (稅+維修 ~1.5%)
maintenance = home_value * 0.015
buy_costs += (monthly_payment * 12 + maintenance)
net_buy = home_value - (loan_amount * 0.9) # 剩餘貸款概算
net_rent = rent_portfolio
return {
"Year": years,
"Net_Buy": net_buy,
"Net_Rent": net_rent,
"Decision": "BUY" if net_buy > net_rent else "RENT"
}
# 執行模擬
result = calculate_breakeven(home_price=20000000, rent=35000)
print(f"Outcome: {result['Decision']} (Diff: ${result['Net_Buy'] - result['Net_Rent']:,.0f})")
02. 利率敏感度分析 (Rate Sensitivity)
房貸利率的微小波動將顯著改變長期持有成本。
- 低利環境 (1.5% - 2.0%): 槓桿效應最大化,買房優勢擴大,平衡年限縮短至 5-7 年。
- 高利環境 (3.5% +): 利息支出大幅侵蝕資產增值,租房並投資的策略往往更優。
- 鎖利策略: 使用長年期固定利率房貸可對沖未來升息風險。
03. 決策指標 (Decision Metrics)
除了淨現值外,我們參考以下量化指標:
7.5 Yrs
平衡年限 (Breakeven)
4.2%
臨界租金回報率
Buy
當前模型建議
結論: 買房不僅是居住需求,更是一項複雜的金融操作。透過建立量化模型,我們能在不確定的市場環境中,做出符合個人財務目標的理性決策。