1
网页计算器可以参考:(新浪财经投资收益计算器)http://finance.sina.com.cn/money/283/2005/0708/19.html
计算方法
由图可知:
F
V
=
(
1
+
r
)
n
∗
P
V
FV=(1+r)^n * PV
FV=(1+r)n∗PV
其中:
由此计算,可知:
-
P
V
=
F
V
(
1
+
r
)
n
PV = \frac{FV}{(1+r)^n}
PV=(1+r)nFV
-
n
=
log
(
1
+
r
)
F
V
P
V
n=\log_{(1+r)}{\frac{FV}{PV} }
n=log(1+r)PVFV
-
r
=
F
V
P
V
n
−
1
r = \sqrt[n]{\frac{FV}{PV} } -1
r=nPVFV
−1
python的计算方法如下:
计算函数&代码
import numpy as np
def cal_annualized_income(start_value=0, end_value=0, years=0, annualized=0.0):
"""
计算年化收益、期初收益、期末收益
:param start_value: 期初资产
:param end_value: 期末资产
:param years: 时间(年)
:param annualized: 年化收益率
:return:
"""
if end_value and years and annualized: # 计算初始值 start_value
start_value = end_value / np.power(1 + annualized, years)
return start_value
if start_value and years and annualized: # 计算终值 end_value
end_value = start_value * np.power(1 + annualized, years)
return end_value
if start_value and end_value and annualized: # 计算年限 years
years = - np.log(end_value / start_value) / np.log(1 / (1 + annualized))
return round(years, 2)
if start_value and end_value and years: # 计算年化收益率 annualized
annualized = np.power(end_value / start_value, 1 / years) - 1
return annualized
def main():
annual_value = cal_annualized_income(start_value=100, end_value=500, years=10) # 计算收益率
end_value = cal_annualized_income(start_value=100, years=10, annualized=0.05) # 计算终值
year_value = cal_annualized_income(start_value=100, end_value=600, annualized=0.06) # 计算年份
start_value = cal_annualized_income(end_value=500, years=10, annualized=0.05) # 期初资产
if __name__ == '__main__':
main()