BTP Italia Sì spiegato semplice: cedola, inflazione e rendimento con Python

11 giugno 2026 11 min di lettura

Guida semplice al BTP Italia Sì: scopri come funziona la cedola, il legame con l’inflazione, il premio fedeltà e come simulare il rendimento con esempi Python.

BTP Italia Sì spiegato semplice: cedola, inflazione e rendimento con Python

Il BTP Italia Sì è un titolo di Stato pensato per i risparmiatori individuali e collegato all’andamento dell’inflazione italiana.

La domanda che molti investitori si fanno è semplice:

quanto rende davvero la cedola del BTP Italia Sì?

Quando si parla di obbligazioni indicizzate all’inflazione, la spiegazione può diventare subito tecnica. Si parla di indici, rivalutazione, capitale nominale, tasso fisso, premio fedeltà, prezzo di mercato, tassazione e scadenza.

In questo articolo proviamo a fare una cosa diversa: partiamo da un esempio semplice e usiamo Python per simulare i calcoli.

L’obiettivo non è dire se il BTP Italia Sì conviene oppure no. L’obiettivo è capire il meccanismo.

Vedremo:

  • come funziona la cedola del BTP Italia Sì;
  • perché conta l’inflazione del semestre;
  • cosa cambia tra inflazione, disinflazione e deflazione;
  • come stimare cedola lorda e cedola netta;
  • come simulare più semestri con Python;
  • quali sono i limiti di una simulazione di questo tipo.

BTP Italia Sì: qualche informazione sul collocamento

Il BTP Italia Sì è stato annunciato come una nuova emissione rivolta ai risparmiatori individuali.

Il collocamento è previsto dal 15 giugno al 19 giugno 2026, fino alle ore 13:00 dell’ultimo giorno, salvo chiusura anticipata.

Alcune caratteristiche operative importanti:

  • durata: 5 anni;
  • scadenza: 23 giugno 2031;
  • data di godimento: 23 giugno 2026;
  • lotto minimo acquistabile: 1.000 euro;
  • prezzo di emissione: 100%;
  • cedole: semestrali;
  • premio fedeltà: 0,6% lordo per chi acquista durante il periodo di distribuzione e mantiene il titolo fino alla scadenza;
  • mercato di collocamento: MOT di Borsa Italiana;
  • rimborso: a scadenza, salvo vendita anticipata sul mercato.

Il tasso fisso minimo garantito viene comunicato dal Ministero dell’Economia e delle Finanze prima dell’avvio del collocamento. Alla chiusura dell’offerta può essere confermato o rivisto solo al rialzo.

Questi dati sono importanti perché ci aiutano a capire il contesto, ma nel nostro esempio useremo un tasso fisso ipotetico del 2% annuo solo per spiegare il funzionamento del calcolo.

Come funziona la cedola del BTP Italia Sì

La cedola del BTP Italia Sì può essere vista come la somma di due componenti:

  1. una parte fissa;
  2. una parte legata all’inflazione del semestre.

La parte fissa dipende dal tasso annuo stabilito dal titolo.

La parte variabile dipende invece dall’inflazione italiana registrata nel semestre di riferimento.

Questo significa che non dobbiamo ragionare solo sull’inflazione annuale o sulle notizie generiche relative ai prezzi. Per capire la cedola, dobbiamo guardare il singolo semestre.

La formula didattica che useremo è questa:

cedola lorda = capitale × (tasso fisso semestrale + max(inflazione semestrale, 0))

La funzione max(inflazione semestrale, 0) è importante perché ci permette di rappresentare una regola semplice:

  • se l’inflazione è positiva, la componente variabile viene considerata;
  • se l’inflazione è negativa, la componente variabile va a zero.

Quindi, in caso di deflazione, la parte indicizzata non diventa negativa. Semplicemente non viene pagata. Resta però la parte fissa.

Esempio semplice: 1.000 euro investiti

Facciamo un esempio.

Ipotizziamo:

capitale = 1.000 €
tasso fisso annuo = 2%
tasso fisso semestrale = 1%
inflazione semestre = 5%

La parte fissa semestrale è:

1.000 × 1% = 10 €

La parte legata all’inflazione è:

1.000 × 5% = 50 €

La cedola lorda diventa quindi:

10 € + 50 € = 60 €

Questa è la logica di base. Ora traduciamola in codice Python.

Codice 1: calcoliamo una cedola

# Esempio base: calcolo della cedola semestrale del BTP Italia Sì

capitale = 1000
tasso_fisso_annuo = 0.02
inflazione_semestre = 0.05

tasso_fisso_semestrale = tasso_fisso_annuo / 2

# Se l'inflazione è negativa, la componente variabile diventa zero
componente_inflazione = max(inflazione_semestre, 0)

cedola_lorda = capitale * (tasso_fisso_semestrale + componente_inflazione)
cedola_netto_tasse = cedola_lorda * (1 - 0.125)

print("Cedola lorda:", round(cedola_lorda, 2), "€")
print("Cedola netta stimata:", round(cedola_netto_tasse, 2), "€")

L’output atteso è:

Cedola lorda: 60.0 €
Cedola netta stimata: 52.5 €

Nel codice abbiamo impostato:

  • capitale = 1000;
  • tasso_fisso_annuo = 0.02, cioè 2%;
  • inflazione_semestre = 0.05, cioè 5%.

Poi abbiamo diviso il tasso fisso annuo per due, perché la cedola è semestrale.

La riga più importante è questa:

componente_inflazione = max(inflazione_semestre, 0)

Questa istruzione dice al programma:

  • se l’inflazione è positiva, usala;
  • se l’inflazione è negativa, usa zero.

Infine abbiamo applicato una tassazione ipotetica del 12,5%, tipica dei titoli di Stato italiani.

Attenzione: il calcolo del netto è una semplificazione didattica. Nella pratica bisogna considerare anche eventuali costi dell’intermediario, arrotondamenti, regole fiscali aggiornate e la situazione specifica dell’investitore.

Tre scenari: inflazione, disinflazione e deflazione

Per capire meglio il meccanismo, confrontiamo tre scenari.

Scenario Inflazione semestrale Cedola lorda su 1.000 €
Inflazione alta +5% 60 €
Disinflazione +2% 30 €
Deflazione -2% 10 €

Nel primo scenario, con inflazione semestrale al 5%, la cedola è composta da:

10 € di parte fissa
50 € di parte inflazione
60 € di cedola lorda totale

Nel secondo scenario, l’inflazione è ancora positiva, ma più bassa: 2%.

Questa è disinflazione, non deflazione.

I prezzi continuano a salire, solo più lentamente. La componente legata all’inflazione viene quindi comunque pagata:

10 € di parte fissa
20 € di parte inflazione
30 € di cedola lorda totale

Nel terzo scenario i prezzi scendono del 2%.

Qui parliamo di deflazione.

La componente inflazione non viene pagata, ma resta la parte fissa:

10 € di parte fissa
0 € di parte inflazione
10 € di cedola lorda totale

Questo è uno degli aspetti più importanti da capire: disinflazione e deflazione non sono la stessa cosa.

Codice 2: confrontiamo gli scenari con pandas

Ora costruiamo una piccola tabella con Python.

import pandas as pd

capitale = 1000
tasso_fisso_annuo = 0.02
tasso_fisso_semestrale = tasso_fisso_annuo / 2
aliquota_tasse = 0.125

scenari = [
    {"scenario": "Inflazione alta", "inflazione_semestre": 0.05},
    {"scenario": "Disinflazione", "inflazione_semestre": 0.02},
    {"scenario": "Deflazione", "inflazione_semestre": -0.02},
]

risultati = []

for s in scenari:
    inflazione_usata = max(s["inflazione_semestre"], 0)
    parte_fissa = capitale * tasso_fisso_semestrale
    parte_inflazione = capitale * inflazione_usata
    cedola_lorda = parte_fissa + parte_inflazione
    cedola_netta = cedola_lorda * (1 - aliquota_tasse)

    risultati.append({
        "Scenario": s["scenario"],
        "Inflazione semestre": s["inflazione_semestre"],
        "Parte fissa lorda": parte_fissa,
        "Parte inflazione lorda": parte_inflazione,
        "Cedola lorda": cedola_lorda,
        "Cedola netta stimata": cedola_netta,
    })

tabella = pd.DataFrame(risultati)
print(tabella)

Qui facciamo un piccolo salto di qualità.

Invece di calcolare un solo caso, creiamo una lista di scenari e li analizziamo uno alla volta.

Per ogni scenario calcoliamo:

  • la parte fissa;
  • la parte legata all’inflazione;
  • la cedola lorda;
  • la cedola netta stimata.

La colonna più importante da osservare è:

Parte inflazione lorda

Quando l’inflazione è positiva, anche se più bassa del semestre precedente, la componente variabile viene pagata.

Quando l’inflazione è negativa, la componente variabile va a zero, ma la parte fissa resta.

Visualizzare la cedola con un grafico

Una tabella è utile, ma un grafico rende il meccanismo ancora più chiaro.

import matplotlib.pyplot as plt

tabella.plot(
    x="Scenario",
    y=["Parte fissa lorda", "Parte inflazione lorda"],
    kind="bar",
    stacked=True
)

plt.title("Cedola semestrale lorda su 1.000 €")
plt.ylabel("Euro")
plt.xlabel("")
plt.xticks(rotation=0)
plt.tight_layout()
plt.show()

Il grafico a barre impilate mostra la composizione della cedola.

Una parte è sempre presente: la parte fissa.

L’altra parte dipende dall’inflazione del semestre.

Nel caso di inflazione alta, la parte variabile è grande. Nel caso di disinflazione è più piccola, ma esiste ancora. Nel caso di deflazione sparisce e resta solo la componente fissa.

Questo è il vantaggio della programmazione applicata agli investimenti: invece di dire solo “dipende dall’inflazione”, possiamo vedere numericamente come cambia la cedola.

Simulazione su 5 anni

Finora abbiamo guardato un semestre alla volta.

Ma un titolo con durata di 5 anni paga più cedole nel tempo.

Ipotizziamo quindi 10 semestri:

+3%, +2%, -1%, +1%, +0,5%, +2,5%, 0%, -0,5%, +1,5%, +2%

Questa sequenza non è una previsione.

È solo uno scenario didattico per capire come funziona il meccanismo nel tempo.

L’idea è calcolare:

  • la cedola lorda di ogni semestre;
  • la cedola netta stimata;
  • il totale delle cedole;
  • il premio fedeltà;
  • il totale netto stimato con premio.

Codice 3: simulazione completa

import pandas as pd
import matplotlib.pyplot as plt

# Parametri didattici
capitale = 1000
tasso_fisso_annuo = 0.02
tasso_fisso_semestrale = tasso_fisso_annuo / 2
aliquota_tasse = 0.125
premio_fedelta = 0.006

# Scenari semestrali ipotetici: non sono previsioni
inflazioni_semestrali = [
    0.03, 0.02, -0.01, 0.01, 0.005,
    0.025, 0.0, -0.005, 0.015, 0.02
]

righe = []

for numero_semestre, inflazione in enumerate(inflazioni_semestrali, start=1):
    # La parte fissa viene pagata ogni semestre
    parte_fissa = capitale * tasso_fisso_semestrale

    # La parte inflazione si considera solo se positiva
    parte_inflazione = capitale * max(inflazione, 0)

    # Cedola lorda e netta stimata
    cedola_lorda = parte_fissa + parte_inflazione
    cedola_netta = cedola_lorda * (1 - aliquota_tasse)

    righe.append({
        "Semestre": numero_semestre,
        "Inflazione": inflazione,
        "Parte fissa lorda": parte_fissa,
        "Parte inflazione lorda": parte_inflazione,
        "Cedola lorda": cedola_lorda,
        "Cedola netta stimata": cedola_netta,
    })

df = pd.DataFrame(righe)

totale_cedole_lorde = df["Cedola lorda"].sum()
totale_cedole_nette = df["Cedola netta stimata"].sum()

premio_lordo = capitale * premio_fedelta
premio_netto_stimato = premio_lordo * (1 - aliquota_tasse)

print(df)
print()
print("Totale cedole lorde:", round(totale_cedole_lorde, 2), "€")
print("Totale cedole nette stimate:", round(totale_cedole_nette, 2), "€")
print("Premio fedeltà lordo:", round(premio_lordo, 2), "€")
print("Premio fedeltà netto stimato:", round(premio_netto_stimato, 2), "€")
print(
    "Totale netto stimato con premio:",
    round(totale_cedole_nette + premio_netto_stimato, 2),
    "€"
)

# Grafico 1: composizione della cedola
df.plot(
    x="Semestre",
    y=["Parte fissa lorda", "Parte inflazione lorda"],
    kind="bar",
    stacked=True
)

plt.title("Composizione cedola semestrale lorda")
plt.xlabel("Semestre")
plt.ylabel("Euro")
plt.tight_layout()
plt.show()

# Grafico 2: cedole cumulate
df["Cedole nette cumulate"] = df["Cedola netta stimata"].cumsum()

plt.plot(df["Semestre"], df["Cedole nette cumulate"], marker="o")
plt.title("Cedole nette cumulate stimate")
plt.xlabel("Semestre")
plt.ylabel("Euro")
plt.grid(True)
plt.tight_layout()
plt.show()

Questo script mette insieme tutto il ragionamento.

Per ogni semestre calcola:

  • parte fissa lorda;
  • parte inflazione lorda;
  • cedola lorda;
  • cedola netta stimata.

Poi somma le cedole e aggiunge il premio fedeltà, ipotizzato allo 0,6% del capitale nominale.

Su 1.000 euro, il premio fedeltà lordo è:

1.000 × 0,6% = 6 €

Stimando la tassazione al 12,5%, il premio netto stimato diventa:

6 × (1 - 12,5%) = 5,25 €

Nello scenario didattico mostrato nel video, il risultato della simulazione è:

Totale cedole lorde: 225.0 €
Totale cedole nette stimate: 196.88 €
Premio fedeltà lordo: 6.0 €
Premio fedeltà netto stimato: 5.25 €
Totale netto stimato con premio: 202.12 €

Questo non significa che il BTP Italia Sì renderà sicuramente 202,12 euro netti su 1.000 euro.

Significa solo che, con quelle ipotesi di inflazione semestrale e con quel tasso fisso ipotetico, la simulazione produce quel risultato.

Attenzione al grafico se esegui Python da terminale

Se esegui lo script da terminale o in un ambiente non interattivo, potresti vedere un messaggio simile:

UserWarning: FigureCanvasAgg is non-interactive, and thus cannot be shown

Non è un errore di calcolo.

Significa solo che matplotlib non riesce ad aprire una finestra grafica per mostrare il grafico.

In quel caso puoi salvare il grafico come immagine:

df["Cedole nette cumulate"] = df["Cedola netta stimata"].cumsum()

plt.figure(figsize=(10, 6))
plt.plot(df["Semestre"], df["Cedole nette cumulate"], marker="o")

plt.title("Cedole nette cumulate stimate")
plt.xlabel("Semestre")
plt.ylabel("Euro")
plt.grid(True)
plt.tight_layout()

plt.savefig("cedole_nette_cumulate.png", dpi=150)
plt.close()

Così ottieni un file immagine, ad esempio:

cedole_nette_cumulate.png

che puoi aprire, condividere o usare in una presentazione.

Limiti della simulazione

Questa simulazione è utile per capire il meccanismo, ma non dice tutto.

Non considera:

  • il prezzo di mercato se vendi prima della scadenza;
  • eventuali commissioni;
  • costi del conto titoli;
  • reinvestimento delle cedole;
  • inflazione futura reale;
  • confronto con altri BTP;
  • confronto con ETF obbligazionari;
  • situazione personale dell’investitore.

Questo punto è fondamentale.

Se tieni il titolo fino a scadenza, il ragionamento sulle cedole e sul rimborso nominale è un conto.

Se invece vendi prima, devi considerare il prezzo di mercato. Quel prezzo può essere superiore o inferiore a 100 e dipende da molti fattori, tra cui tassi di interesse, domanda, offerta, durata residua e condizioni di mercato.

Quindi il codice serve a capire il meccanismo della cedola, non a decidere automaticamente se comprare o non comprare.

Errori comuni da evitare

Quando si guarda un titolo come il BTP Italia Sì, ci sono alcuni errori frequenti.

1. Confondere disinflazione e deflazione

Se l’inflazione passa dal 5% al 2%, i prezzi stanno ancora salendo.

La cedola indicizzata viene ancora pagata, anche se è più bassa.

La deflazione è diversa: significa che i prezzi scendono. In quel caso la parte variabile va a zero.

2. Guardare solo l’inflazione annuale

Il meccanismo della cedola lavora semestre per semestre.

Per questo non basta guardare un dato annuale generico.

3. Pensare che tutto sia garantito anche se si vende prima

Il rimborso nominale è previsto a scadenza.

Se vendi prima, il prezzo dipende dal mercato.

4. Ignorare tasse e costi

Nel video usiamo il 12,5% come aliquota fiscale di riferimento per i titoli di Stato.

Ma nella pratica bisogna considerare anche costi dell’intermediario, conto titoli e condizioni personali.

5. Confrontare strumenti diversi senza cautela

Un BTP Italia Sì, un BTP tradizionale e un ETF obbligazionario non sono la stessa cosa.

Hanno durata, rischio, prezzo, liquidità, fiscalità e meccanismi diversi.

Conclusione

Il BTP Italia Sì è interessante da studiare perché ci permette di capire bene il rapporto tra obbligazioni, cedole e inflazione.

La cedola nasce dalla somma di:

parte fissa + parte legata all’inflazione semestrale

Se l’inflazione è positiva, la componente variabile viene pagata.

Se c’è deflazione, la componente variabile va a zero e resta la parte fissa.

Python ci aiuta a rendere tutto più chiaro: invece di ragionare solo a parole, possiamo costruire scenari, confrontare risultati, creare tabelle e visualizzare i numeri con grafici.

Ricorda però il punto più importante: questo articolo e il video hanno finalità educative e non sono consulenza finanziaria.

Prima di investire è sempre necessario leggere la documentazione ufficiale, verificare dati aggiornati, costi, fiscalità e valutare la propria situazione personale.