(종료/시작)^(1/년 수) -1로 정의 된 CAGR 값을 계산하려고합니다.ID로 합성 반환 값 계산 R
"주식", "날짜", "Annual.Growth.Rate"열이있는 df 있습니다. 주의 할 점은 : 지연 함수를 사용하여이 작업을 수행하려고했지만 각 주식 시작 부분에 재귀 수식을 변경할 수 없었습니다. 출력을 보면 더 이해할 수 있습니다.
structure(list(Stock = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 2L,
2L, 2L, 2L, 2L, 2L), .Label = c("A", "B"), class = "factor"),
date = structure(c(6L, 2L, 3L, 4L, 5L, 1L, 12L, 8L, 9L, 10L,
11L, 7L), .Label = c("3/28/16", "3/29/12", "3/29/13", "3/29/14",
"3/29/15", "3/30/11", "6/28/16", "6/29/12", "6/29/13", "6/29/14",
"6/29/15", "6/30/11"), class = "factor"), Annual.Growth.Rate = c(0.1,
0.2, 0.1, 0.1, 0.1, 0.1, 0.3, 0.2, 0.14, 0.14, 0.14, 0.14
), Growth = c(110, 132, 145.2, 159.72, 175.692, 193.2612,
130, 156, 177.84, 202.7376, 231.120864, 263.477785), CAGR = c(0.098479605,
0.098479605, 0.098479605, 0.098479605, 0.098479605, 0.098479605,
0.125, 0.125, 0.125, 0.125, 0.125, 0.125)), .Names = c("Stock",
"date", "Annual.Growth.Rate", "Growth.on.100", "CAGR"), class = "data.frame", row.names = c(NA,
-12L))
예상되는 출력입니다. 주식, 날짜 및 성장이 있기 전에). 100에서의 성장은 이전의 모든 "지연"이 아닙니다. 첫 번째 사용 가능 날짜에 주어진 스타터 (이 경우 100, (1 + .1) * 100)를 곱한 후 다음 성장 값은 다음 성장 속도 인 미래 값 (110)입니다. dplyr을 사용하여 CAGR을 수행하는 방법을 파악할 수 있지만 성장이 100 일에 걸렸습니다.