Ir para conteúdo principal Pular para conteúdo complementar

XIRR - função de script

XIRR() retorna a taxa interna de retorno agregada (anual) para um cronograma de fluxos de caixa (que não é necessariamente periódico) representado por números emparelhados em pmt e date iterados sobre um número de registros, conforme definido por uma cláusula group by. Todos os pagamentos têm descontos baseados em um ano de 365 dias.

Funcionalidade XIRR do Qlik (funções XIRR() e RangeXIRR()) usa a seguinte equação, resolvendo para o valor Rate, para determinar o valor XIRR correto:

XNPV(Rate, pmt, date) = 0

A equação é resolvida usando uma versão simplificada do método de Newton.

Sintaxe:  

XIRR(pmt, date )

Tipo de dados de retorno: numérico

Argumentos
Argumento Descrição
pmt

Pagamentos. A expressão ou campo que contém os fluxos de caixa correspondentes ao cronograma de pagamentos dado no date.

date A expressão ou campo que contém o cronograma de datas correspondentes aos pagamentos de fluxo de caixa dados em pmt.

Ao trabalhar com essa função, as seguintes limitações são aplicáveis:

  • Valores de texto, valores NULL e valores ausentes em qualquer uma das duas partes de um par de dados farão com que o par de dados inteiro seja ignorado.

  • Essa função requer pelo menos um pagamento negativo válido e pelo menos um pagamento positivo válido (com datas válidas correspondentes). Se esses pagamentos não forem fornecidos, um valor NULL será retornado.

Estes tópicos podem ajudar você a trabalhar com essa função:

Nota informativa

Em diferentes versões do Qlik Sense Client-Managed, há variações no algoritmo subjacente usado por essa função. Para obter mais informações sobre atualizações recentes do algoritmo, consulte o artigo de suporte Correção e atualização da função XIRR.

Exemplo

Interpretando o valor de retorno XIRR

A funcionalidade XIRR geralmente é usada para analisar um investimento, em que há um pagamento de saída (negativo) no início e, posteriormente, uma série de pagamentos de receita menores (positivos). Veja a seguir um exemplo simplificado com apenas um pagamento negativo e um positivo:

Cashflow:

LOAD * inline [

Date|Payments

2023-01-01|-100

2024-01-01|110

] (delimiter is '|');

 

Fazemos um pagamento inicial de 100 e recebemos 110 de volta depois de exatamente um ano. Isso representa uma taxa de retorno de 10% ao ano. XIRR(Payments, Date) retorna um valor de 0,1.

O valor de retorno da funcionalidade XIRR pode ser positivo ou negativo. No caso de um investimento, um resultado negativo indica que o investimento é uma perda. A quantidade de ganho ou perda pode ser calculada com uma simples agregação de soma no campo de pagamentos.

No exemplo acima, estamos emprestando nosso dinheiro por um ano. A taxa de retorno pode ser considerada como juros. Também é possível usar a funcionalidade XIRR quando você está do outro lado da transação (por exemplo, se for o mutuário em vez do credor).

Considere este exemplo:

Cashflow:

LOAD * inline [

Date|Payments

2023-01-01|100

2024-01-01|-110

] (delimiter is '|');

 

Isso é igual ao primeiro exemplo, mas invertido. Aqui, tomamos 100 emprestados por um ano e pagamos com juros de 10%. Neste exemplo, o cálculo de XIRR retorna 0,1 (10%), o mesmo valor do primeiro exemplo.

Observe que, no primeiro exemplo, recebemos um lucro de 10 e, no segundo, tivemos uma perda de 10, mas o valor de retorno da funcionalidade XIRR é positivo para ambos os exemplos. Isso ocorre porque a funcionalidade XIRR calcula os juros ocultos na transação, independentemente de qual lado você esteja na transação.

Limitações com várias soluções

A funcionalidade XIRR do Qlik é definida pela seguinte equação, em que o valor Rate é resolvido:

XNPV(Rate, pmt, date) = 0

Às vezes, é possível que essa equação tenha mais de uma solução. Isso é conhecido como "problema de IRR múltipla" e é causado por um fluxo de caixa não normal (também chamado de fluxo de caixa não convencional). O script de carregamento a seguir mostra um exemplo disso:

Cashflow:

LOAD * inline [

Date|Payments

2021-01-01|-200

2022-01-01|500

2023-01-01|-250

] (delimiter is '|');

 

Neste exemplo, há uma solução negativa e uma solução positiva (Rate = -0,3 e Rate = 0,8). XIRR() retornará 0,8.

Quando a funcionalidade XIRR do Qlik procura uma solução, ela começa em Rate = 0 e aumenta a taxa em etapas até encontrar uma solução. Se houver mais de uma solução positiva, ela retornará a primeira que encontrar. Se você não conseguir encontrar uma solução positiva, ele redefinirá Rate de volta para zero e começará a procurar uma solução na direção negativa.

Observe que é garantido que um fluxo de caixa "normal" tenha apenas uma solução. Fluxo de caixa "normal" significa que todos os pagamentos com o mesmo sinal (positivo ou negativo) estão em um grupo contínuo.

Esta página ajudou?

Se você encontrar algum problema com esta página ou seu conteúdo - um erro de digitação, uma etapa ausente ou um erro técnico - informe-nos como podemos melhorar!