You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求合并PerformanceAnalytics包table.CalendarReturns生成的两张业绩表的可行方案

合并PerformanceAnalytics业绩日历表的可行方案

嘿,我来帮你搞定合并两张table.CalendarReturns生成的业绩表的问题~首先得明确,这个函数输出的是矩阵格式的表格,行是年份、列是月份,值对应各时段的收益率。下面我给你两种常用的合并思路,附完整代码:

第一步:先搞出模拟数据(方便你测试)

先构造投资组合和基准的月度收益数据,再生成对应的业绩日历表:

require(PerformanceAnalytics)
set.seed(1)

# 生成6年的投资组合月度收益率(xts格式是PerformanceAnalytics的标准输入)
port_returns <- xts(
  sample(-6:14, 72, replace = TRUE)/10,  # 72个月=6年,收益率范围-60%到140%
  order.by = seq(as.Date("2018-01-01"), as.Date("2023-12-01"), by = "month")
)

# 生成对应的基准收益率
bench_returns <- xts(
  sample(-5:15, 72, replace = TRUE)/10,
  order.by = seq(as.Date("2018-01-01"), as.Date("2023-12-01"), by = "month")
)

# 生成两张目标业绩日历表
port_calendar <- table.CalendarReturns(port_returns)
bench_calendar <- table.CalendarReturns(bench_returns)

第二步:两种合并方式任你选

方式1:同一年份的业绩并排展示(按列合并)

这种方式适合对比同一年份里,组合和基准每个月的表现,操作很简单:

# 给两个表的列名加上标识,避免重名
colnames(port_calendar) <- paste(colnames(port_calendar), "组合", sep = "_")
colnames(bench_calendar) <- paste(colnames(bench_calendar), "基准", sep = "_")

# 按行对齐合并(自动匹配年份行)
merged_table <- cbind(port_calendar, bench_calendar)

# 查看合并后的结果
merged_table

方式2:把两个表堆叠起来(按行合并)

如果想把组合和基准的所有年份数据放在同一列维度下,方便后续分析,可以转成数据框再合并:

# 把矩阵转成数据框,同时添加年份和组别列
port_df <- as.data.frame(port_calendar)
port_df$Year <- rownames(port_calendar)  # 提取行名作为年份列
port_df$Group <- "投资组合"

bench_df <- as.data.frame(bench_calendar)
bench_df$Year <- rownames(bench_calendar)
bench_df$Group <- "基准"

# 堆叠两个数据框
merged_df <- rbind(port_df, bench_df)

# 调整列顺序,把年份和组别放在最前面,看着更清晰
merged_df <- merged_df[, c("Year", "Group", colnames(port_calendar))]

# 查看结果
merged_df

一些小提醒

  • 如果两张表的年份范围不一样,合并前可以先筛选出共同年份,避免出现NA值:
    common_years <- intersect(rownames(port_calendar), rownames(bench_calendar))
    merged_table <- cbind(port_calendar[common_years, ], bench_calendar[common_years, ])
    
  • table.CalendarReturns默认会生成"Annual"合计行,如果不需要,生成表格时可以加个参数annualized = FALSE,或者合并后手动删掉那一行。

内容的提问来源于stack exchange,提问作者Daniel_D

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:39:06