XIRR - función de gráfico
XIRR() devuelve la tasa interna de rendimiento agregada (anual) de una planificación de flujos de efectivo (no necesariamente periódicos) representados por números pareados en las expresiones proporcionadas por pmt y date, que se repiten a lo largo de las dimensiones del gráfico. Todos los pagos son descontados según una base de un año de 365 días.
La funcionalidad XIRR de Qlik (funciones XIRR() y RangeXIRR()) utiliza la siguiente ecuación, resolviendo para el valor Rate, a fin de determinar el valor XIRR correcto:
XNPV(Rate, pmt, date) = 0
La ecuación se resuelve utilizando una versión simplificada del método de Newton.
Sintaxis:
XIRR([TOTAL [<fld {,fld}>]] pmt, date)
Tipo de datos que devuelve: numérica
Argumento | Descripción |
---|---|
pmt |
Pagos. La expresión o campo que contiene los flujos de caja correspondientes a la programación de pagos proporcionada en date. |
date | La expresión o campo que contiene la planificación de fechas correspondientes a los pagos de efectivo proporcionados en pmt. |
TOTAL |
Si la palabra TOTAL aparece antes de los argumentos de la función, el cálculo se realiza sobre todos los valores posibles dadas las selecciones actuales y no solo aquellas que pertenecen al valor dimensional actual, es decir, no tiene en cuenta las dimensiones del gráfico. Usar TOTAL [<fld {.fld}>], donde al cualificador TOTAL le sigue una lista de uno o más nombres de campo como un subconjunto de las variables de dimensión del gráfico, crea un subconjunto de los valores totales posibles. |
Al trabajar con esta función, se aplican las siguientes limitaciones:
-
pmt y date no deben contener funciones de agregación, a menos que dichas agregaciones internas contengan el calificador TOTAL. Para agregaciones anidadas más avanzadas, utilice la función avanzada Aggr, en combinación con una dimensión especificada.
-
Los valores de texto, valores NULL y los valores perdidos en cualquiera o ambas partes de un par de datos dan como resultado que el par de datos completo no se tenga en cuenta.
-
Esta función requiere al menos un pago negativo válido y al menos un pago positivo válido (con las fechas válidas correspondientes). Si no se proporcionan estos pagos, devuelve un valor NULL.
Estos temas le ayudarán a trabajar con esta función:
-
XNPV - función de gráfico: utilice esta función para calcular el valor actual neto agregado de una programación de flujos de efectivo.
-
RangeXIRR - función de script y de gráfico: RangeXIRR() es el equivalente de la función range para la función XIRR().
En diferentes versiones de Qlik Sense administrado por el cliente, hay variaciones en el algoritmo que utiliza esta función. Para más información sobre actualizaciones recientes del algoritmo, consulte el artículo de ayuda Reparación y actualización de la función XIRR.
Ejemplo
Interpretación del valor de retorno XIRR
La funcionalidad XIRR generalmente se utiliza para analizar una inversión, donde hay un pago saliente (negativo) al principio, y luego una serie de pagos de ingresos más pequeños (positivos) más adelante. Aquí tiene un ejemplo simplificado con solo un pago negativo y uno positivo:
Cashflow:
LOAD * inline [
Date|Payments
2023-01-01|-100
2024-01-01|110
] (delimiter is '|');
Hacemos un pago inicial de 100 y recuperamos 110 después de exactamente un año. Esto representa una tasa de rendimiento del 10% anual. XIRR(Payments, Date) devuelve un valor de 0,1.
El valor de retorno de la funcionalidad XIRR puede ser positivo o negativo. En el caso de una inversión, un resultado negativo indicaría que la inversión es una pérdida. La cantidad de ganancia o pérdida se puede calcular simplemente haciendo una suma agregada sobre el campo de pagos.
En el ejemplo anterior, estamos prestando nuestro dinero por un año. La tasa de rendimiento se puede considerar como interés. También es posible usar la funcionalidad de XIRR cuando estamos del otro lado de la transacción (por ejemplo, si somos el prestatario en lugar del prestamista).
Vea este ejemplo:
Cashflow:
LOAD * inline [
Date|Payments
2023-01-01|100
2024-01-01|-110
] (delimiter is '|');
Es igual que el primer ejemplo, pero invertido. Aquí, tomamos prestados 100 por un año y lo devolvemos con un 10% de interés. En este ejemplo, el cálculo de XIRR devuelve 0,1 (10 %), el mismo valor que en el primer ejemplo.
Tenga en cuenta que en el primer ejemplo recibimos una ganancia de 10 y en el segundo ejemplo experimentamos una pérdida de 10, pero el valor de rendimiento de la funcionalidad XIRR es positivo para ambos ejemplos. Esto se debe a que la funcionalidad XIRR calcula el interés oculto en la transacción, sin importar de qué lado se encuentre en la transacción.
Limitaciones con múltiples soluciones
La funcionalidad XIRR de Qlik se define mediante la siguiente ecuación, en la que se resuelve el valor de Rate:
XNPV(Rate, pmt, date) = 0
A veces es posible que esta ecuación tenga más de una solución. Esto se conoce como el "problema de múltiples TIR" y es ocasionado por un flujo de efectivo no normal (también llamado flujo de efectivo no convencional). El siguiente script de carga muestra un ejemplo de ello:
Cashflow:
LOAD * inline [
Date|Payments
2021-01-01|-200
2022-01-01|500
2023-01-01|-250
] (delimiter is '|');
En este ejemplo, hay una solución negativa y una solución positiva. (Rate = -0,3 y Rate = 0,8). XIRR() devolverá 0,8.
Cuando la funcionalidad XIRR de Qlik busca una solución, comienza en Rate = 0 y aumenta la tasa en pasos hasta que encuentra una solución. Si hay más de una solución positiva, devolverá la primera que encuentre. Si no puede encontrar una solución positiva, reiniciará Rate de nuevo en cero y comenzará a buscar una solución en la dirección negativa.
Tenga en cuenta que se garantiza que una corriente de flujo de efectivo "normal" tiene una sola solución. El flujo de efectivo "normal" significa que todos los pagos con el mismo signo (positivo o negativo) están en un grupo continuo.