最終更新 10 months ago

這兩個 Python 程式分別計算全年投資與不足一年投資的年化報酬率。calculate_annualized_return.py 適用於完整投資年度,而 calculate_annualized_return_for_part_years_investment.py 則適用於短期投資,允許投資期限以小數表示(如 6 個月 = 0.5 年)。這些函數可用於評估投資績效,幫助投資者比較不同投資期間的回報率。

timmy revised this gist 10 months ago. Go to revision

2 files changed, 45 insertions

calculate_annualized_return.py(file created)

@@ -0,0 +1,21 @@
1 + def calculate_annualized_return(initial_investment, final_value, investment_period):
2 + """
3 + 計算年化報酬率的函數。
4 +
5 + :param initial_investment: 初始投資金額
6 + :param final_value: 投資終值
7 + :param investment_period: 投資期限(年)
8 + :return: 年化報酬率
9 + """
10 + annualized_return = ((final_value / initial_investment) ** (1 / investment_period)) - 1
11 + return annualized_return
12 +
13 + # 使用函數計算年化報酬率
14 + initial_investment = 1000000 # 初始投資金額
15 + final_value = 1200000 # 投資終值
16 + investment_period = 2 # 投資期限(年)
17 +
18 + # 輸出結果
19 + annualized_return_rate = calculate_annualized_return(initial_investment, final_value, investment_period)
20 + print(f"年化報酬率: {annualized_return_rate:.4f} 或 {annualized_return_rate * 100:.2f}%")
21 +

calculate_annualized_return_for_part_years_investment.py(file created)

@@ -0,0 +1,24 @@
1 + def calculate_annualized_return(initial_investment, final_value, investment_period_years):
2 + """
3 + 計算年化報酬率的函數,適用於不足一年的投資期限。
4 +
5 + :param initial_investment: 初始投資金額
6 + :param final_value: 投資終值
7 + :param investment_period_years: 投資期限(年),可以是小於1的小數
8 + :return: 年化報酬率
9 + """
10 + if investment_period_years <= 0:
11 + raise ValueError("投資期限必須大於0")
12 + annualized_return = ((final_value / initial_investment) ** (1 / investment_period_years)) - 1
13 + return annualized_return
14 +
15 + # 使用函數計算年化報酬率
16 + initial_investment = 1000000 # 初始投資金額
17 + final_value = 1200000 # 投資終值
18 + investment_period_months = 6 # 投資期限(月)
19 + investment_period_years = investment_period_months / 12 # 將月份轉換為年的小數
20 +
21 + # 輸出結果
22 + annualized_return_rate = calculate_annualized_return(initial_investment, final_value, investment_period_years)
23 + print(f"年化報酬率: {annualized_return_rate:.4f} 或 {annualized_return_rate * 100:.2f}%")
24 +
Newer Older