timmy revidoval tento gist 10 months ago. Přejít na revizi
2 files changed, 45 insertions
calculate_annualized_return.py(vytvořil soubor)
| @@ -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(vytvořil soubor)
| @@ -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 | + | ||