Vai al contenuto principale Passa a contenuto complementare

XIRR - funzione di script

XIRR() restituisce il tasso di rendimento interno aggregato (annuale) per una programmazione di flussi di cassa (non necessariamente periodici) rappresentati da coppie di numeri in pmt e date ripetuti su un insieme di record, come definito da una clausola group by. Tutti i pagamenti sono scontati in base ad un anno composto da 365 giorni.

La funzionalità XIRR di Qlik (funzioni XIRR() e RangeXIRR()) utilizza la seguente equazione, risolvendo il valore Rate, per determinare il valore XIRR corretto:

XNPV(Rate, pmt, date) = 0

l'equazione viene risolta usando una versione semplificata del metodo Newton.

Sintassi:  

XIRR(pmt, date )

Tipo di dati restituiti: numerico

Argomenti
Argomento Descrizione
pmt

Pagamenti. L'espressione o il campo contenente i flussi di cassa corrispondenti alla programmazione di pagamento fornita in date.

date L'espressione o il campo contenente la programmazione di date corrispondente ai pagamenti con flusso di cassa forniti in pmt.

Quando si lavora con questa funzione, si applicano le seguenti limitazioni:

  • Se una o entrambe le parti di una coppia di dati include o includono valori di testo, valori NULL e valori mancanti, l'intera coppia di dati verrà ignorata.

  • Questa funzione richiede almeno un pagamento negativo valido e un pagamento positivo valido (con date corrispondenti valide). Se questi pagamenti non vengono forniti, sarà restituito un valore NULL.

I seguenti argomenti possono risultare utili per lavorare con questa funzione:

Nota informatica

Per informazioni sugli aggiornamenti recenti dell'algoritmo sottostante usato da questa funzione, vedere l'articolo del supporto Correzione e aggiornamento della funzione XIRR.

Esempio

Interpretazione del valore restituito di XIRR

La funzione XIRR viene solitamente usata per analizzare un investimento, che presenta un pagamento (negativo) in uscita all'inizio e successivamente una serie di pagamenti (positivi) in entrata più piccoli. Di seguito è riportato un esempio semplificato con un pagamento negativo e un pagamento positivo:

Cashflow:

LOAD * inline [

Date|Payments

2023-01-01|-100

2024-01-01|110

] (delimiter is '|');

 

Effettuiamo un pagamento iniziale pari a 100 e riceviamo 110 dopo un anno esatto. Ciò rappresenta un tasso di rendimento del 10% all'anno. XIRR(Payments, Date) restituisce un valore pari a 0,1.

Il valore restituito della funzione XIRR può essere positivo o negativo. Nel caso di un investimento, un risultato negativo indica che l'investimento è una perdita. L'importo del guadagno o della perdita può essere calcolato semplicemente tramite un'aggregazione Sum sul campo dei pagamenti.

Nell'esempio precedente, prestiamo denaro per un anno. Il tasso di rendimento può essere considerato come l'interesse. È inoltre possibile usare la funzione XIRR quando si è dall'altro lato della transazione (ad esempio, quando si è il debitore invece del prestatore).

Si consideri questo esempio:

Cashflow:

LOAD * inline [

Date|Payments

2023-01-01|100

2024-01-01|-110

] (delimiter is '|');

 

È uguale al primo esempio, ma invertito. Ora prendiamo in prestito 100 per un anno e ripaghiamo il prestito con un interesse del 10%. In questo esempio, il calcolo XIRR restituisce 0,1 (10%), lo stesso valore del primo esempio.

Si noti che, nel primo esempio, abbiamo ricevuto un profitto di 10 e, nel secondo esempio, abbiamo subito una perdita di 10, ma il valore restituito della funzione XIRR è positivo in entrambi i casi. Ciò è dovuto al fatto che la funzione XIRR calcola l'interesse nascosto nella transazione, a prescindere dal ruolo che si riveste in essa.

Limitazioni con più soluzioni

La funzione XIRR di Qlik è definita dalla seguente equazione, nella quale il valore Rate è risolto:

XNPV(Rate, pmt, date) = 0

A volte è possibile che questa equazione abbia più di una soluzione. Questo fenomeno è noto come "problema dell'IRR multiplo" ed è causato da una serie di flussi di cassa non normali (detti anche flussi di cassa non convenzionali). Il seguente script di caricamento mostra un esempio di tutto ciò:

Cashflow:

LOAD * inline [

Date|Payments

2021-01-01|-200

2022-01-01|500

2023-01-01|-250

] (delimiter is '|');

 

In questo esempio vi sono una soluzione negativa e una soluzione positiva (Rate = -0,3 e Rate = 0,8). XIRR() restituirà 0,8.

Quando la funzione XIRR di Qlik cerca una soluzione, inizia da Rate = 0 e aumenta gradualmente il tasso finché non trova una soluzione. Se esiste più di una soluzione positiva, restituirà la prima che trova. Se non riesce a trovare una soluzione positiva, azzererà Rate e inizierà a cercare una soluzione nella direzione negativa.

Si noti che una serie di flussi di cassa "normali" avrà sempre un'unica soluzione. Una serie di flussi di cassa "normali" implica che tutti i pagamenti con lo stesso segno (positivo o negativo) sono in un gruppo continuo.

Hai trovato utile questa pagina?

Se riscontri problemi con questa pagina o con il suo contenuto – un errore di battitura, un passaggio mancante o un errore tecnico – facci sapere come possiamo migliorare!