La funzione di script XNPV() prende le date specifiche corrispondenti a ciascun flusso di cassa da attualizzare, oltre al tasso di sconto. È diversa dalla funzione NPV(), poiché NPV() assume che tutti i periodi di tempo siano uguali. Per questo motivo, XNPV() è più preciso di NPV().
Sintassi:
XNPV(discount_rate, pmt,
date)
Tipo di dati restituiti: numerico. Per impostazione predefinita, il risultato sarà formattato come valuta.
La formula per calcolare l'XNPV è:
dove:
Pi= Flussi di cassa netti in entrata e in uscita durante un singolo periodo i
d1= la data del primo pagamento
di = la data del io pagamento
rate = tasso di sconto
Il valore attuale netto, o VAN, viene utilizzato per calcolare il valore totale attuale di un flusso di cassa futuro. Per calcolare il VAN, dobbiamo stimare i flussi di cassa futuri per ogni periodo e determinare il tasso di sconto corretto.
XNPV() prende un tasso di sconto e più valori ordinati per periodo. I flussi in entrata (redditi) sono positivi e i flussi in uscita (pagamenti futuri) sono considerati valori negativi. Si verificano alla fine di ogni periodo.
Argomenti
Argomento
Descrizione
discount_rate
discount_rate è il tasso percentuale di sconto applicato.
Un valore di 0,1 indica un tasso di sconto del 10%.
value
Questo campo contiene i valori del flusso di cassa. Il primo valore viene assunto come flusso di cassa all'inizio e la data corrispondente viene utilizzata come riferimento per il calcolo del valore attuale di tutti i flussi di cassa futuri.
Nota informaticaXNPV() non sconta il flusso di cassa iniziale. I pagamenti successivi sono scontati in base ad un anno composto da 365 giorni. Questo è diverso da NPV(), dove ogni pagamento viene scontato.
date
Questo campo contiene la data in cui si è verificato il flusso di cassa (value, il secondo parametro). Il primo valore viene utilizzato come data di inizio per il calcolo delle compensazioni per i flussi di cassa futuri.
Limiti:
Se sono presenti valori di testo, valori NULL e valori mancanti in una o entrambe le parti di una coppia di dati, la coppia di dati verrà ignorata.
Casi di utilizzo
XNPV() è utilizzato nella modellistica finanziaria per calcolare il valore attuale netto (VAN) di un'opportunità di investimento.
Grazie alla sua maggiore precisione, l'XNPV è preferito al VAN per tutti i tipi di modelli finanziari.
Impostazioni locali
Se non diversamente specificato, gli esempi di questo argomento utilizzano il seguente formato di data: MM/GG/AAAA. Il formato della data viene specificato nell'istruzione SET DateFormat nello script di caricamento dei dati. La formattazione predefinita della data potrebbe essere diversa nel proprio sistema, a causa delle impostazioni regionali e di altri fattori. È possibile modificare i formati degli esempi seguenti in base alle proprie esigenze. In alternativa, è possibile modificare i formati nel proprio script di caricamento per adattarli a questi esempi.
Le impostazioni regionali predefinite delle app si basano sulle impostazioni regionali del sistema del computer o del server in cui risulta installato Qlik Sense. Se il server Qlik Sense a cui si accede è impostato in Svezia, l'editor caricamento dati utilizzerà le impostazioni regionali svedesi per date, ora e valuta. Queste impostazioni di formato regionale non riguardano la lingua visualizzata nell'interfaccia utente Qlik Sense. Qlik Sense verrà visualizzato nella stessa lingua del browser utilizzato.
Esempio 1 - Pagamento singolo (script)
Panoramica
Aprire l'editor caricamento dati e aggiungere lo script di caricamento sotto in una nuova scheda.
Lo script di caricamento contiene:
Un set di dati di un progetto e del suo flusso di cassa per un anno, in una tabella denominata CashFlow. La data iniziale per il calcolo è fissata al 1° luglio 2022, con un flusso di cassa netto pari a 0. Dopo un anno, si verifica un flusso di cassa di 1000 dollari.
Un caricamento residente dalla tabella CashFlow, utilizzato per calcolare il campo XNPV del progetto in una tabella denominata XNPV.
Nel calcolo del XNPV viene utilizzato un tasso di sconto fisso del 10% (0,1).
Un'istruzione Group By viene utilizzata per raggruppare tutti i pagamenti del progetto.
Script di caricamento
CashFlow:
Load
*
Inline
[
PrjId,Dates,Values
1,'07/01/2022',0
1,'07/01/2023',1000
];
XNPV:
Load
PrjId,
XNPV(0.1,Values,Dates) as XNPV //Discount Rate of 10%
Resident CashFlow
Group By PrjId;
Risultati
Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:
PrjId
XNPV
Tabella dei risultati
PrjId
XNPV
1
$909.09
Secondo la formula, il valore XNPV per il primo record è 0, mentre per il secondo record il valore XNPV è di $909,09. Pertanto, il valore XNPV totale è $909.09.
Esempio 2 - Pagamenti multipli (script)
Panoramica
Aprire l'editor caricamento dati e aggiungere lo script di caricamento sotto in una nuova scheda.
Lo script di caricamento contiene:
Un set di dati di un progetto e del suo flusso di cassa per un anno, in una tabella denominata CashFlow.
Un caricamento residente dalla tabella CashFlow, utilizzato per calcolare il campo XNPV del progetto in una tabella denominata XNPV.
Nel calcolo del XNPV viene utilizzato un tasso di sconto fisso del 10% (0,1).
Un'istruzione Group By viene utilizzata per raggruppare tutti i pagamenti del progetto.
Script di caricamento
CashFlow:
Load
*
Inline
[
PrjId,Dates,Values
1,'07/01/2022',0
1,'07/01/2024',500
1,'07/01/2023',1000
];
XNPV:
Load
PrjId,
XNPV(0.1,Values,Dates) as XNPV //Discount Rate of 10%
Resident CashFlow
Group By PrjId;
Risultati
Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:
PrjId
XNPV
Tabella dei risultati
PrjId
XNPV
1
$1322.21
In questo esempio, alla fine del primo anno si riceve un pagamento di $1000 dollari e alla fine del secondo anno se ne riceve uno di $500. Con un tasso di sconto del 10% per periodo, l'XNPV effettivo è pari a $1322,21.
Notare che solo la prima riga di dati deve fare riferimento alla data base per i calcoli. Per il resto delle righe, l'ordine non è importante, poiché il parametro della data viene utilizzato per calcolare il periodo trascorso.
Esempio 3 - Pagamenti multipli e flussi di cassa irregolari (script)
Panoramica
Aprire l'editor caricamento dati e aggiungere lo script di caricamento sotto in una nuova scheda.
Lo script di caricamento contiene:
Tassi di sconto per due progetti in una tabella denominata Project.
Flussi di cassa per più periodi per ogni progetto per ID progetto e Date. Il campo Dates viene utilizzato per calcolare la durata per la quale il tasso di sconto viene applicato al flusso di cassa. A parte il primo record (flusso di cassa iniziale e data), l'ordine dei record non è importante e la sua modifica non dovrebbe influire sui calcoli.
Utilizzando una combinazione di NoConcatenate, caricamenti residenti e la funzione Left Join, viene creata una tabella temporanea, tmpNPV, che combina i record delle tabelle Project e CashFlow in una tabella piatta. In questa tabella i tassi di sconto saranno ripetuti per ogni flusso di cassa.
Un caricamento residente dalla tabella tmpNPV, utilizzato per calcolare il campo XNPV per ciascun progetto in una tabella denominata XNPV.
Il tasso di sconto a valore singolo associato a ciascun progetto viene recuperato tramite la funzione only() e utilizzato nel calcolo XNPV per ciascun progetto.
Un'istruzione Group By, raggruppata per ID progetto, viene utilizzata per raggruppare tutti i pagamenti e le date corrispondenti per ogni progetto.
Per evitare che vengano caricati dati sintetici o ridondanti nel modello di dati, la tabella tmpXNPV viene eliminata alla fine dello script.
Script di caricamento
Project:
Load * inline [
PrjId,Discount_Rate
1,0.1
2,0.15
];
CashFlow:
Load
*
Inline
[
PrjId,Dates,Values
1,'07/01/2021',0
1,'07/01/2022',1000
1,'07/01/2023',1000
2,'07/01/2020',0
2,'07/01/2023',500
2,'07/01/2024',1000
2,'07/01/2022',500
];
tmpXNPV:
NoConcatenate Load *
Resident Project;
Left Join
Load *
Resident CashFlow;
XNPV:
Load
PrjId,
XNPV(Only(Discount_Rate),Values,Dates) as XNPV //Discount Rate will be 10% for Project 1 and 15% for Project 2
Resident tmpXNPV
Group By PrjId;
Drop table tmpXNPV;
Risultati
Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:
PrjId
XNPV
Tabella dei risultati
PrjId
XNPV
1
$1735.54
2
$278.36
Il progetto ID 1 ha un flusso di cassa iniziale di 0 dollari il 1° luglio 2021. Sono previsti due pagamenti di 1.000 dollari da ricevere alla fine di due anni successivi, a un tasso di sconto del 10% per periodo. Pertanto, il valore XNPV effettivo è pari a $1735.54.
Il progetto ID 2 ha un'uscita iniziale di $1.000 (quindi il segno negativo) il 1° luglio 2020. Dopo due anni è previsto un pagamento di $500. Dopo 3 anni è previsto un altro pagamento di $500. Infine, il 1° luglio 2024 è previsto un pagamento di $1.000. Con un tasso di sconto del 15%, l'XNPV effettivo è pari a $278,36.
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!