投资组合模拟 - 第 I 部分
在接下来的几个练习中,您将计算股票投资组合的预期回报,并刻画其不确定性。
假设您在由多只股票组成的投资组合中投资了 $10,000。您希望评估该组合在 10 年内的表现。您可以调整整体预期回报率和波动率(回报率的标准差)。假设回报率服从正态分布。
首先,编写一个函数,接收本金(初始投资)、年份数、预期回报率和波动率作为输入,并返回 10 年后的投资组合总价值。
完成本练习后,您将得到一个可调用的函数,用于评估投资组合表现。
本练习是课程的一部分
Python 中的统计模拟
练习说明
- 在函数定义中,接收 4 个参数:年份数
yrs、预期回报率avg_return、波动率sd_of_return,以及本金(初始投资)principal。 - 将每一年的
rates模拟为服从正态分布的随机变量。 - 将
end_return初始化为输入的principal。在for循环中,每年按对应回报率放大end_return。 - 使用
portfolio_return()计算并打印result。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# rates is a Normal random variable and has size equal to number of years
def portfolio_return(____):
np.random.seed(123)
rates = ____(loc=avg_return, scale=sd_of_return, size=yrs)
# Calculate the return at the end of the period
end_return = ____
for x in rates:
end_return = end_return*(1+____)
return end_return
result = portfolio_return(yrs = 5, avg_return = 0.07, sd_of_return = 0.15, principal = 1000)
print("Portfolio return after 5 years = {}".format(____))