Nel post precedente ti ho introdotto a Ledger mostrandoti le sue funzionalità di base, il modo in cui vengono tracciati i movimenti e come interrogarlo per estrarre informazioni utili. Ti ho anche accennato come le potenzialità di questo software fossero molto più ampie. Oggi è arrivato il momento di mostrarti come utilizzarlo per tenere traccia dei tuoi investimenti.

Cos’è una commodity

Da un punto di vista economico/finanziario il termine commodity indica un bene il cui valore non varia in base alla sua fonte di provenienza. Per cui l’euro può essere vista come una commodity in quanto un euro vale sempre uguale indipendentemente da chi lo riceviamo. Lo stesso discorso vale anche per un lingotto d’oro o per un barile di petrolio. Le mele invece, non sono propriamente delle commodity in quanto la loro fonte va ad influenzare anche la qualità del prodotto. In Ledger le commodity sono definite in maniera più ampia e possono essere viste come l’unità di misura delle transazioni. Nel primo post ti ho detto che all’interno di un journal di Ledger vengono tracciai i movimenti di denaro tra un conto e l’altro, ma in realtà il concetto può essere generalizzato in quanto è possibile utilizzare le transazioni per spostare cose da un conto ad un altro.

Ledger non richiede un definizione esplicita delle commodities, ma io ti consiglio di utilizzarla, in quanto rende il tutto più pulito. La definizione delle commodities avviene all’interno del journal mediate la keyword commodity seguita dal simbolo della stessa. Per esempio possiamo definire la commodity euro attraverso la seguente notazione.

commodity EUR
  default

In questo caso abbiamo utilizzato anche la keyword default per indicare che la commodity in questione è quella primaria.

Tracciare gli investimenti

Di seguito sono citati strumenti e titoli finanziari, il loro utilizzo è a solo scopo d’esempio e non va interpretato come consiglio alla vendita o all’acquisto.

Il journal di esempio è disponibile qui

Ipotizziamo di avere 2000€ da investire e di volerlo fare mediante un P.A.C. su un ETF1 All-World come il VWCE. Quindi per prima cosa andiamo ad inserire la nuova commodity nel Journal e creiamo la transazione d’apertura.

commodity VWCE

2022-01-01 Opening Balances
    assets:current:checking        2000 EUR
    equity:open                   -2000 EUR

Possiamo verificare la correttezza dei dati inseriti attraverso il comando balance.

            2000 EUR  assets:current:checking
           -2000 EUR  equity:open
--------------------
                   0

Non vogliamo investire tutto il nostro capitale in un solo colpo, e decidiamo di investire ogni mese al massimo 500€ per comprare quanti più titoli possibili del nostro ETF. Ipotizzando che una quota a gennaio costi 95€, riusciremo ad acquistare cinque quote. Possiamo descrivere questo scenario in Ledger attraverso la seguente transazione.

2022-01-03 ETF All-World
    assets:investments:pac        5 VWCE @ 95 EUR
    assets:current:checking

Con questa notazione stiamo dicendo a Ledger che il tre gennaio abbiamo acquistato 5 quote dell’ETF VWCE al prezzo di 95€ l’una2. Il costo di acquisto totale non è dichiarato il maniera esplicita, ma Ledger è abbastanza furbo da sapere che equivale a 475€ (5 * 95). Controlliamo il risultato di questa transazione attraverso il comando balance.

            1525 EUR
              5 VWCE  assets
            1525 EUR    current:checking
              5 VWCE    investments:pac
           -2000 EUR  equity:open
--------------------
            -475 EUR
              5 VWCE

Qui iniziamo a vedere qualcosa di interessante. Quando si utilizzano più commodities, il comando balance, mostra il saldo dei conti in entrambe le commodities. In questo caso il saldo del conto assets è pari a 1525€, ma ci sono anche 5 quote dell’ETF.

Arriva febbraio e acquistiamo altre quote. Durante il mese di gennaio il titolo si è apprezzato per cui ora una quota costa 99€. Quindi in Ledger avremo la seguente transazione.

2022-02-01 ETF All-World
    assets:investments:pac        5 VWCE @ 99 EUR
    assets:current:checking

Ed eseguendo il comando balance si ha il seguente output:

            1030 EUR
             10 VWCE  assets
            1030 EUR    current:checking
             10 VWCE    investments:pac
           -2000 EUR  equity:open
--------------------
            -970 EUR
             10 VWCE

Continuiamo con il nostro piano di accumulo e a marzo andiamo ad eseguire un nuovo ordine. In questo caso la singola quota costa 102€ per cui riusciremo a comprare solo quattro quote in quanto abbiamo deciso di spendere massimo 500€ al mese. La transazione sul journal sarà del tipo:

2022-03-01 ETF All-World
    assets:investments:pac        4 VWCE @ 102 EUR
    assets:current:checking

Penso che arrivati a questo punto il meccanismo ti sia piuttosto chiaro.

Tutto molto bello, ma sarebbe utile vedere il proprio bilancio in euro in modo da capire a quanto ammonta, ad oggi, il nostro patrimonio. Possiamo perseguire il nostro obbiettivo attraverso il flag --exchange che ci permette di convertire tutte le commodities in un’unica valuta. Ma come convertirli? Ledger permette di eseguire due conversioni, una basata sul prezzo d’acquisto (--basis) e una sul valore di mercato attuale (--market). Quindi eseguendo il comando ledger -f ledger.journal balance --exchange EUR --basis si ottiene il seguente risultato:

            2000 EUR  assets
             622 EUR    current:checking
            1378 EUR    investments:pac
           -2000 EUR  equity:open
--------------------
                   0

Com’è possibile osservare il saldo del conto assets:investments:pac è pari a 1378€. Da dove viene fuori? Come detto il flag --basis considera il presso di acquisto, quindi avremo 5 quote acquistate a 95€, più 5 quote acquistate a 99€ e infine 4 quote acquistate a 102€, prendendo la calcolatrice ed eseguendo la somma si ottiene giusto giusto 1378€. Interessante, ma non è quello che volevamo ottenere, noi siamo interessati a conoscere il valore del nostro patrimonio ad oggi quindi dobbiamo usare il flag --market. In questo caso si ottiene:

            2050 EUR  assets
             622 EUR    current:checking
            1428 EUR    investments:pac
           -2000 EUR  equity:open
--------------------
              50 EUR

In questo caso il calcolo da fare è molto più facile basta prendere il numero di quote dell’ETF (14) e moltiplicarlo per l’ultimo valore, dal punto di vista temporale, conosciuto; in questo caso 102€. Quanto abbiamo guadagnato (o perso)? Puoi calcolare la differenza tra il valore ottenuto con il flag --market e quello con --basis o sfruttare le potenzialità di Ledger e usare il comando register con il flag --gain ottenendo il seguente risultato:

2022-02-01 Commodities revalued         <Revalued>          20 EUR          20 EUR
2022-03-01 Commodities revalued         <Revalued>          30 EUR          50 EUR

In due mesi abbiamo guadagnato 50€, mica male!

Registrare le variazioni di prezzo

Nell’esempio precedente, il prezzo dell’ETF è variato nel tempo. Ledger si è accorto di questo cambiamento dai nostri acquisti. Ora ti starai chiedendo: “È possibile aggiornare il prezzo di una commodity senza doverla acquistare?. La risposta è banalmente si, basta aggiungere all’interno del journal la direttiva P.

P 2022-03-04 VWCE 100 EUR

Questa linea sta dicendo a Ledger che il quattro marzo il prezzo di una quota dell’ETF VWCE è pari a 100€. Prova ad aggiungere questa direttiva P al journal ed a eseguire il comando ledger -f ledger.journal register pac --gain dovresti scoprire che siamo ancora in positivo, ma abbiamo guadagnato di meno.

Registrare una vendita

Sono passati un paio di giorni, nei quali hai capito che ancora non sei pronto per i mercati azionari; tutto questo sali e scendi ti crea ansia. Nel frattempo il prezzo dell’ETF è salito leggermente e si attesta a 101€ a quota per cui decidi di vendere tutto, ma come si segna in Ledger una vendita di una commodity? Per prima cosa guardiamo la transazione e poi ti spiego il suo significato.

2022-03-09 ETF All-Warld
    assets:investments:pac          -5 VWCE {95 EUR} @ 101 EUR
    assets:investments:pac          -5 VWCE {99 EUR} @ 101 EUR
    assets:investments:pac         -4 VWCE {102 EUR} @ 101 EUR
    income:gain                                        -36 EUR
    assets:current:checking                           1414 EUR

La notazione utilizzata per la vendita sembra simile a quella utilizzata per l’acquisto, ma ha una novità, l’utilizzo delle parentesi graffe. La linea -5 VWCE {95 EUR} @ 101 EUR sta dicendo a Ledger che stiamo vendendo 5 quote dell’ETF al prezzo di 101 EUR per quota. Inoltre sta specificando che queste quote sono state acquistate in origine a 95€ per quota, in questo modo Ledger sa che su questo lotto di azioni abbiamo guadagnato 6€ per quota. I profitti della vendita di queste quattordici quote sono pari a 1414€, la differenza tra prezzo di acquisto e prezzo di vendita ammonta a 36€ che è il nostro guadagno (ante-tasse).


  1. Un ETF è un fondo che può essere scambiato sui mercati. I fondi al loro interno possono contenere diversi titoli finanziari. Per esempio un ETF azionario All-World contiene al suo interno titoli azionari di aziende di tutto il mondo. ↩︎

  2. Ci sono casi in cui risulta più comodo inserire il costo totale di acquisto rispetto a quello unitario. In questi casi è possibile usare la notazione @@; per cui il caso precedente diventa 5 VWCE @@ 475 EUR↩︎