探索 S&P 500 的月度收益
在接下来的练习中,您将分析 S&P 500 的月度表现。图胜千言。因此,大多数绩效分析都会先从查看投资价值的时间序列图开始。
右侧展示了 1986 年至 2016 年 8 月期间的 S&P 500 走势图。图中的每个观测值都是每日收盘时的数值。图表显示了多次上涨与下跌。看一看这张图,您是否能理解为什么 2000 年代常被称为投资的"失去的十年"?
PerformanceAnalytics 和 xts 包已预加载,S&P 500 的日度价格已作为变量 sp500 提供在您的工作区中。该变量属于 xts 时间序列类,这意味着每个观测值都带有时间戳。您的任务是描述 S&P 500 的月度表现。为此,您需要先把日度价格序列聚合为月末价格。随后计算月度收益,并用表格进行可视化展示。
本练习是课程的一部分
R 中的投资组合分析入门
练习说明
- 使用函数 to.monthly() 处理
sp500,并将结果赋给sp500_monthly。 - 打印
sp500_monthly的前 6 行。注意,聚合后得到包含 4 列的表格,分别为每个月的开盘价、最低价、最高价和收盘价。 - 使用
Return.calculate()对sp500_monthly的"收盘价"(sp500_monthly的第 4 列)计算收益,创建sp500_returns。 - 使用
plot.zoo()绘制sp500_returns的时间序列图。 - 使用 PerformanceAnalytics 中的函数 table.CalendarReturns() 以表格形式按"年份 × 月份"展示月度收益数据。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Convert the daily frequency of sp500 to monthly frequency: sp500_monthly
sp500_monthly <-
# Print the first six rows of sp500_monthly
# Create sp500_returns using Return.calculate using the closing prices
sp500_returns <-
# Time series plot
# Produce the year x month table