¿XIRR en JMP usando R?Todos,
He estado buscando una solución para manejar el cálculo XIRR en JMP. En el proceso, @ron_horne Tuvo la amabilidad de compartir algo de su trabajo.
Fui por el camino de aprovechar algunos paquetes dentro de R para el cálculo. También he incluido una solicitud de características para que las funciones XIRR y XNPV se implementen en futuras versiones de JMP. Sin embargo, el problema actual que he notado es que el paquete R que estoy aprovechando no está dando los resultados esperados y me confunde. Preguntándome si a alguien como @ih o cualquier otro usuario de JMP en la comunidad ha visto el éxito ir por este camino o aventurarse en una dirección diferente con éxito para el cálculo XIRR.
RConn = R Connect();
ConnFlag = R Is Connected();
If(ConnFlag,
R Submit("
# Reprex
# Attach desired packages
suppressPackageStartupMessages(library(tvm))
# Provide input data
CF <- c(-78662, -32491, -32492, 7651, 40300)
d <- as.Date(c('2019-06-30', '2019-09-30', '2019-12-31', '2020-03-31', '2020-06-30'))
# Call the XIRR Function
Res1 <- vector()
Res1 <- sapply(1:length(d), function(i) {
tryCatch({
expr = xirr(i, CF[1:i],
d[1:i])
}, error = function(i) { return(NA) })
})
# Print Results
#print(Res1)
");
Results = R Get(Res1);
RConn << disconnect;
);
El cálculo anterior debe devolver NA hasta que i = 4, pero una vez que el flujo de efectivo vea un cambio de signo, debe devolver un valor distinto de NA como lo haría Excel. Cualquier pensamiento u orientación para solucionar esto es apreciado.
Re: XIRR en JMP usando R? @Dahlia_Watkins , @Justin_Chilton - ¿Alguno de ustedes ha intentado XIRR en JMP?
Re: XIRR en JMP usando R? @ih ,
He publicado solo una muestra del flujo de caja como ejemplo. Sin embargo, veo el valor de su consejo, porque veo un error cuando no se usa el formulario de solicitud. Aparece el error de uniroot y pensé que era solo por el flujo de efectivo de -ve. Con el fin de evitar eso puse el trycatch en su lugar.
Lo que es interesante, sin embargo, es que Excel es capaz de abordar estos y proporcionar resultados. Pero gracias por el consejo, también revisará su repositorio.
Re: XIRR en JMP usando R?Hola uday
Desafortunadamente, utilizamos nuestro propio cálculo de IRR, así que no soy de mucha ayuda con la función R. Dicho esto, los flujos de efectivo en su proyecto son tan negativos que necesitaría una gran cantidad de fondos. negativo IRR para hacer que el NPV de ese proyecto sea cero. Es probable que necesite más flujos de efectivo positivos para que el solucionador converja (la TIR no se calcula directamente, en su lugar, se encuentra el valor temporal del dinero que establece el VAN igual a cero).
Tenga en cuenta que envolver la llamada de la función xirr con sapply puede enmascarar los errores. Apuesto a que si llama a xirr directamente, verá un error relacionado con un solucionador.
Parece que el paquete nvm está duplicado aquí , eso podría ayudarte a entender lo que hace el paquete. Por ejemplo, podría usar su definición de xnpv para encontrar manualmente el irr ajustando i:
i <- .01
sum(CF / ((1 + i) ^ (as.integer(d - d[1]) / 365)))
JMP tiene un solucionador de ecuaciones, por lo que construir esto en JSL debería ser posible, aunque no he jugado con él.