Данные по частным активам ежеквартально возвращаются - PullRequest
0 голосов
/ 18 марта 2019

Я пытаюсь рассчитать квартальный IRR для набора данных панели Private Equity Funds с R. Поскольку я новичок в R и уже несколько дней пробовал себя безрезультатно, надеюсь, вы можете помочь мне. По следующей ссылке вы можете увидеть пример моих данных.

У меня есть несколько сотен средств, и все они отсортированы по дате транзакции. Таким образом, данные имеют форму панели данных. Сложность заключается в том, чтобы рассчитать квартальную доходность (IRR) для каждого фонда прямых инвестиций. Это будет сделано в Excel с формулой XIRR. Обычно я делаю это, используя следующий код для преобразования формулы XIRR в Excel в R.

xirr <- function(cashflow, dates){
if (!length(cashflow)) return(NA)
dates<-dates[!is.na(cashflow)]
cashflow<-cashflow[!is.na(cashflow)]
npv <- function(irr){
    timeDiff <- diff(dates)
    units(timeDiff) <- "days"
    day <- cumsum(c(0, as.numeric(timeDiff)))
    if (!is.na(sum(cashflow/(1 + irr/1000)^(day/365)))){
                return(sum(cashflow/(1 + irr/1000)^(day/365)))
}else{
    # prevent from getting stuck? 
    return(runif(1,1,100))
}
}
## try up to 1000% (irr = 10), but still allow extension for extreme cases
## bounded below by -1000 (irr = -1)
irr <- try(uniroot(npv, c(-999.99999, 10000), extendInt = "downX",maxiter=1000),
           silent = TRUE)
if (inherits(irr, "try-error")) {
    return(NA)
} else return(irr$root/1000)
}

Я должен включить для каждого квартала все транзакции с соответствующей датой. Взносы представляют собой отрицательные денежные потоки и распределения, а также бухгалтерский учет - это положительные денежные потоки. Однако учетная чистая стоимость предыдущего квартала также должна быть отрицательным денежным потоком для расчета квартальной доходности средств.

По сути, я думаю, что R просто нужно перейти от одного NAV учета к следующему NAV учета и включить все транзакции, а также даты в формулу XIRR.

Кто-нибудь знает, как это сделать?

Как видно из ссылки, у вас есть два фонда и их денежные потоки. Я хочу рассчитать квартальные доходы, которые находятся на правой стороне. Это делается в Excel с помощью формулы IRR. Поэтому учетную чистую стоимость в начале периода необходимо преобразовать в отрицательный денежный поток. Формула IRR будет рассчитывать доходность с учетом времени. Это должно быть сделано для каждого фонда и для каждого квартала

...