一个简单的ggplot练习变成了令人沮丧的经历...也就是说,我想重新创建图表.PerformanceAnalytics包中的GGplot具有Events函数,即在事件日期向量之后创建累积收益图表。过去它已经工作了好几次,但是由于某些原因,以下代码无法产生预期的结果:
library(quantmod)
library(ggplot2)
library(timetk)
library(dplyr)
library(TTR)
library(purrr)
getSymbols("AAPL")
Dates <- AAPL %>% timetk::tk_tbl(.) %>% dplyr::mutate(CC_Index = TTR::CCI(HLC(.), n = 20, maType = "SMA")) %>%
dplyr::arrange(CC_Index) %>% dplyr::slice(n = 1:30) %>% .$index
purrr::map(match(Dates, AAPL %>% timetk::tk_tbl(.) %>% .$index), function(x) Willis %>%
dplyr::mutate(Returns = c(0, diff(log(Close))), Start = x) %>%
dplyr::slice(x:(x+20)) %>% dplyr::mutate(Cum_Returns = cumprod(1+.$Returns), indeks = 1:length(Time))) %>%
dplyr::bind_rows(.) %>%
dplyr::select(indeks, Cum_Returns, Start) %>% dplyr::group_by(Start) %>%
ggplot(.) + geom_line(aes(x = indeks, y = Cum_Returns, colour = Start))
我当然想得到的是标准的“分散”图表,该图表显示了经过一系列事件后某项资产的累积回报。相反,我得到了:
以某种方式无法将“开始”列识别为分组列。我在做什么错了?