Saltar al contenido principal Saltar al contenido complementario

XIRR - función de script

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 pmt y date que se repiten a lo largo de un número de registros, según lo definido por una cláusula group by. 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(pmt, date )

Tipo de datos que devuelve: numérico

Argumentos
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.

Al trabajar con esta función, se aplican las siguientes limitaciones:

  • Los valores de texto, valores NULL y valores perdidos en una o ambas partes de un par de datos harán que se descarte el par de datos completo.

  • 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:

Nota informativa

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 las actualizaciones recientes del algoritmo, consulte el artículo de ayuda XIRR function Fix and Update.

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.

¿Esta página le ha sido útil?

No dude en indicarnos en qué podemos mejorar si encuentra algún problema en esta página o su contenido, como, por ejemplo, errores tipográficos, pasos que falta o errores técnicos.