Calcolatore di convessità obbligazionaria
Per un'obbligazione a 10 anni con cedola del 5% e rendimento del 4%, un rialzo di 100 punti base porta il prezzo stimato da sopra la pari a circa 1.000. Ottiene anche duration e convessità dagli stessi flussi. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Valore nominale
- 1000
- Tasso cedolare (%)
- 5
- YTM (%)
- 4
- Anni alla scadenza
- 10
- Frequenza
- 2
- Variazione del rendimento (pb)
- 100
- Periodi
- 20
- Pagamento della cedola
- 25
- Prezzo
- 1081,757167
- Durata di Macaulay
- 8,080936
Il prezzo di un'obbligazione non si muove in linea retta quando i rendimenti di mercato saltano. La duration cattura la pendenza di primo ordine di quella curva prezzo-rendimento; la convessità cattura la curvatura che la sola duration sottostima per ampi movimenti dei tassi. Questo calcolatore di convessità obbligazionaria valuta un'obbligazione a cedola fissa a partire dal valore nominale, dal tasso cedolare annuo, dal rendimento a scadenza, dagli anni a scadenza e dalla frequenza di pagamento, poi restituisce la duration di Macaulay, la duration modificata e la convessità annualizzata dallo stesso piano di flussi. Opzionalmente Lei può indicare uno spostamento parallelo del rendimento in basis point per vedere l'effetto di duration, l'effetto di convessità e un prezzo stimato con lo sviluppo classico di Taylor. Lo usi per note di rischio di tasso, esercizi di reddito fisso, controlli di portafoglio e automazione che debba raffinare le previsioni di prezzo oltre una pura approssimazione di duration.
Cosa misura la convessità obbligazionaria e perché la duration non basta
La duration modificata stima la variazione percentuale di prezzo di un'obbligazione per un piccolo movimento parallelo del rendimento: all'incirca meno la duration modificata moltiplicata per la variazione di rendimento. Quell'approssimazione lineare funziona bene per pochi basis point, ma sottostima sistematicamente i guadagni di prezzo quando i rendimenti scendono e sovrastima le perdite quando salgono, perché la vera relazione prezzo-rendimento è convessa per le obbligazioni a cedola fissa ordinarie. La convessità quantifica quella curvatura.
Con la convessità annualizzata Conv e uno spostamento annuo di rendimento Δy espresso in decimale, il raffinamento del secondo ordine è un mezzo moltiplicato per Conv moltiplicato per (Δy) al quadrato, aggiunto al termine di duration. La formula combinata è la variazione percentuale di prezzo approssimativamente uguale a meno la duration modificata per Δy più un mezzo per la convessità per (Δy) al quadrato.
Scadenza più lunga, cedola più bassa e rendimento più basso tendono ciascuno ad alzare la convessità per obbligazioni altrimenti simili, ecco perché i zero lunghi sono particolarmente sensibili a grandi oscillazioni di tasso oltre ciò che prevede la sola duration. Questo calcolatore non recupera quotazioni live né spread di credito; misura la geometria di un piano di flussi che Lei fornisce affinché note di rischio, chiavi d'esame e automazione condividano un'identità verificabile.
Accoppiare duration e convessità è pratica standard del reddito fisso quando gli shock di scenario sono decine o centinaia di basis point e non un singolo tick.
Dove un calcolatore di convessità obbligazionaria dimostra il suo valore
Gestori di portafoglio e desk di rischio usano un calcolatore di convessità obbligazionaria quando un memo di shock di tasso deve mostrare sia l'impatto lineare di duration sia il complemento di secondo ordine di convessità per un movimento parallelo di cento basis point, così le parti interessate vedono perché le obbligazioni lunghe recuperano di più al ribasso di quanto suggerisca una tabella solo di duration.
Consulenti patrimoniali e tesorerie confrontano obbligazioni a cedola e zero spiegando perché due posizioni con duration modificata simile possono ancora divergere sotto grandi movimenti di rendimento. Educatori e piattaforme LMS necessitano di un oracolo deterministico per i compiti di reddito fisso che chiedono prezzo, duration di Macaulay, duration modificata e convessità dai primi principi senza un terminale Bloomberg completo. La validazione fallita non consuma saldo.
Mantenga nominale e anni positivi, fissi i campi arrotondati nei test e otterrà figure di convessità riproducibili per notebook e produzione senza erigere una propria libreria di reddito fisso.
Casi d'uso
Raffinare il prezzo sotto shock di tasso
Combini duration modificata e convessità per stimare la variazione di prezzo dell'obbligazione per ampi movimenti paralleli di rendimento in basis point, non solo un'ipotesi lineare di duration.
Confrontare strutture a cedola e zero
Mantenga la duration modificata pressoché costante e ispezioni la convessità per vedere quale forma di flussi ammortizza meglio i grandi oscillazioni di tasso.
Compiti di reddito fisso e chiavi LMS
Corregga problemi che chiedono prezzo, duration di Macaulay, duration modificata e convessità annualizzata con un oracolo deterministico di flussi di cassa.
Domande frequenti
Come si calcola la convessità di un'obbligazione?
Dai flussi dell'obbligazione: Conv = Σ[CF_k · k · (k+1) / (1+r)^k] / [P · (1+r)² · m²], dove r è il rendimento di periodo, m è il numero di pagamenti all'anno e P è il prezzo dirty dello stesso piano.
In che modo la convessità migliora la stima della variazione di prezzo?
La sola duration è lineare. Aggiungere ½ · Conv · (Δy)² cattura la curvatura, così grandi rialzi di rendimento appaiono meno severi e grandi ribassi più favorevoli per obbligazioni a cedola fissa ordinarie.
Quando la sola duration non basta a stimare la variazione di prezzo?
Quando i tassi si muovono di decine o centinaia di punti base. La duration è un'approssimazione lineare valida per piccoli movimenti, ma sottostima i guadagni quando il rendimento scende ed esagera le perdite quando sale.
Perché le obbligazioni lunghe senza cedola sono così sensibili ai grandi movimenti dei tassi?
Perché una scadenza più lunga, una cedola più bassa e un rendimento più basso aumentano la convessità. Un'obbligazione lunga senza cedola somma le prime due condizioni, quindi è il suo prezzo a curvarsi di più.
Quali frequenze di cedola accetta il calcolatore?
Pagamenti annuali, semestrali, trimestrali o mensili, con quella semestrale come scelta iniziale. Gli anni alla scadenza moltiplicati per i pagamenti annui devono dare un numero intero di periodi, ad esempio 20 per un'obbligazione semestrale a 10 anni.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/finance/bond-convexity \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"face_value":1000,"coupon_rate_percent":5,"ytm_percent":4,"years_to_maturity":10}'const res = await fetch("https://api.kit.forhosting.com/finance/bond-convexity", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"face_value": 1000,
"coupon_rate_percent": 5,
"ytm_percent": 4,
"years_to_maturity": 10
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/finance/bond-convexity",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"face_value": 1000,
"coupon_rate_percent": 5,
"ytm_percent": 4,
"years_to_maturity": 10
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/finance/bond-convexity", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"face_value":1000,"coupon_rate_percent":5,"ytm_percent":4,"years_to_maturity":10}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"face_value":1000,"coupon_rate_percent":5,"ytm_percent":4,"years_to_maturity":10}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/finance/bond-convexity", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"face_value": 1000,
"coupon_rate_percent": 5,
"ytm_percent": 4,
"years_to_maturity": 10
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "finance.bond_convexity",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
L'input non valido fallisce con invalid_input e non viene fatturato.
Contratto di input, formule, arrotondamento ed esempi lavorati
Internamente il tasso di periodo è r uguale a ytm diviso per frequency, la cedola è il nominale per il tasso cedolare diviso per frequency, e il prezzo è il valore attuale di tutte le cedole più il nominale a scadenza. La duration di Macaulay in anni è il tempo medio di pagamento ponderato per valore attuale; la duration modificata è Macaulay divisa per uno più r; la convessità annualizzata è la somma del flusso per k per (k più uno) scontata, divisa per il prezzo per (uno più r) al quadrato per frequency al quadrato. Invii con POST un corpo JSON con quattro numeri finiti obbligatori: face_value maggiore di zero, coupon_rate_percent maggiore o uguale a zero (zero modella un'obbligazione pure discount), ytm_percent come rendimento annuo capitalizzato alla frequenza cedolare, e years_to_maturity maggiore di zero. frequency è opzionale, predefinito due per cedole semestrali, e deve essere uno, due, quattro o dodici; anni per frequenza deve essere un intero positivo di periodi cedolari. yield_change_bp opzionale è lo spostamento parallelo del rendimento in basis point per la stima di Taylor. decimals opzionale è un intero da zero a dodici (predefinito sei) che controlla l'arrotondamento half-up delle uscite numeriche. Esempio: nominale mille, cedola cinque per cento, rendimento quattro per cento, dieci anni, frequenza semestrale produce un prezzo a premio sopra la pari, duration modificata pluriennale e convessità positiva; aggiungendo yield_change_bp di cento si ottengono duration_effect, convexity_effect, estimated_price_change, estimated_price e estimated_percent_change. Campi mancanti, valori non finiti, nominale o scadenza non positivi, cedola negativa, frequency non valida, rendimento troppo negativo che rende non positivo uno più r, o un conteggio non intero di periodi falliscono con invalid_input e non vengono fatturati.
Dove un calcolatore di convessità obbligazionaria dimostra il suo valore
Gli integratori collegano l'endpoint a n8n, edge worker o fogli di pricing interni per fissare goldens di regressione quando cambiano le ipotesi sui flussi.
Domande tecniche
Quali input richiede il calcolatore di convessità obbligazionaria?
Obbligatori: face_value, coupon_rate_percent, ytm_percent, years_to_maturity. Opzionali: frequency (predefinito 2), yield_change_bp per la stima di Taylor e decimals per l'arrotondamento.
Posso modellare un'obbligazione zero-coupon?
Sì. Imposti coupon_rate_percent a zero. L'unico flusso è face_value a scadenza; duration e convessità seguono da quel pagamento unico.
Quanto costa il calcolatore di convessità obbligazionaria?
Lo strumento nel browser è gratuito. Le richieste API usano il saldo KIT prepagato a $0.002 per chiamata riuscita; l'input non valido non viene fatturato.