Последняя активность 10 months ago

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

calculate_annualized_return.py Исходник
1def 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# 使用函數計算年化報酬率
14initial_investment = 1000000 # 初始投資金額
15final_value = 1200000 # 投資終值
16investment_period = 2 # 投資期限(年)
17
18# 輸出結果
19annualized_return_rate = calculate_annualized_return(initial_investment, final_value, investment_period)
20print(f"年化報酬率: {annualized_return_rate:.4f}{annualized_return_rate * 100:.2f}%")
21
22
calculate_annualized_return_for_part_years_investment.py Исходник
1def 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# 使用函數計算年化報酬率
16initial_investment = 1000000 # 初始投資金額
17final_value = 1200000 # 投資終值
18investment_period_months = 6 # 投資期限(月)
19investment_period_years = investment_period_months / 12 # 將月份轉換為年的小數
20
21# 輸出結果
22annualized_return_rate = calculate_annualized_return(initial_investment, final_value, investment_period_years)
23print(f"年化報酬率: {annualized_return_rate:.4f}{annualized_return_rate * 100:.2f}%")
24
25