Dobânda reală (ex-post)
Cât a valorat efectiv o dobândă, după ce se scade inflaţia.
Formula exactă, nu scăderea: (1 + nominal) / (1 + inflaţie) − 1. Diferenţa nu e neglijabilă
când inflaţia e mare, adică fix când cifra contează: în decembrie 2022, la ROBOR 3M de 7,66% şi
inflaţie de 16,37%, scăderea dă −8,71% iar formula −7,49% — 1,23 puncte exagerare a pierderii.
Răspunsul conţine şi cifra prin scădere, cu diferenţa alături: e cea pe care o calculează toată
lumea, iar ascunsă ar circula mai departe.
Numai EX-POST. Se compară cu inflaţia care S-A ÎNTÂMPLAT, nu cu una aşteptată — pentru aceea ar
trebui prognoze, pe care nu le avem. O rată reală calculată cu o inflaţie inventată ar arăta
identic şi ar fi altceva.
Perechea e pe acelaşi orizont: rata nominală a lunii cerute faţă de inflaţia pe cele douăsprezece
luni care se încheie în aceeaşi lună. O dobândă anuală se pune faţă în faţă cu o inflaţie anuală.
IPC se publică cu aproximativ două luni întârziere, deci luna curentă n-are cu ce fi comparată —
răspunsul e 404 cu ultima lună acoperită, nu o extrapolare.
Parametri de interogare
YYYY-MM. Luna ratei nominale şi capătul intervalului de inflaţie.
ex. 2024-06
ircc, politica, robor1m, robor3m, robor6m, robor12m. Exclude nominala.
irccpoliticarobor1mrobor3mrobor6mrobor12m
rata.
ex. 7
total (implicit), alimentare, nealimentare sau servicii.
totalalimentarenealimentareservicii
Cum se comportă
- Cât a valorat efectiv o dobândă, după ce se scade inflaţia.
- Formula exactă, nu scăderea:
(1 + nominal) / (1 + inflaţie) − 1. Diferenţa nu e neglijabilă când inflaţia e mare, adică fix când cifra contează. În decembrie 2022, la ROBOR 3M de 7,57% şi inflaţie de 16,37%, scăderea dă −8,80% iar formula −7,56%: 1,24 puncte exagerare a pierderii. Faţă de inflaţia alimentară a aceleiaşi luni (22,05%), diferenţa urcă la 2,62 puncte. prin_scadereconţine aproximarea uzuală, cu diferenţa alături. E cifra pe care o calculează toată lumea — ascunsă, ar circula mai departe; la vedere, cu abaterea scrisă, nu.- Numai EX-POST. Se compară cu inflaţia care S-A ÎNTÂMPLAT, nu cu una aşteptată. Varianta ex-ante cere prognoze de inflaţie, pe care nu le avem; calculată cu o cifră inventată, ar arăta identic şi ar fi altceva.
meta.felo declară la fiecare răspuns. - Perechea e pe acelaşi orizont: rata nominală a lunii cerute faţă de inflaţia pe cele DOUĂSPREZECE luni care se încheie în aceeaşi lună. O dobândă anuală se pune faţă în faţă cu o inflaţie anuală; alt orizont ar compara lucruri diferite.
- Rata nominală vine dintr-o serie a noastră (
robor1m…robor12m,ircc,politica) sau de la client (nominala) — a doua e cazul unui depozit propriu, unde rata e pe contract, nu în seriile publice. Când vine dintr-o serie,nominala.sursaspune exact din ce zi sau din ce trimestru. - IPC se publică cu circa două luni întârziere, deci luna curentă n-are cu ce fi comparată: răspunsul e 404 cu numărul de luni găsite şi ultima lună acoperită, nu o extrapolare.
- Categoria de inflaţie se poate schimba (
alimentare,nealimentare,servicii) când contractul sau întrebarea o cere. Implicit e coşul complet. - Nu se oferă HICP ca alternativă la IPC. Sunt coşuri şi metodologii diferite, iar un comutator între ele ar invita comparaţia care nu se poate face — acelaşi motiv pentru care
/ipcşi/hicpsunt rute separate.
La ce folosește
- Cât a pierdut efectiv un depozit în anii cu inflaţie mare.
- Compararea unei dobânzi primite cu inflaţia reală a perioadei.
- Verificarea unui calcul făcut prin scădere simplă.
Structura răspunsului
data_de_client.
nominala − inflatie.
data e null, iar aici stă motivul: ori nu avem cele 12 luni de IPC care se încheie în luna cerută (motivul dă ultima lună publicată), ori seria de rată cerută n-are valori în luna aceea. Nu se întoarce un procent calculat pe mai puţin de 12 luni — ar fi plauzibil şi greşit.
fara_date e proză şi se poate reformula, ăsta nu.
Exemple de răspuns
{
"data": {
"luna": "2024-06",
"nominala": {
"valoare": "5.90",
"sursa": {
"index": "ircc",
"trimestru": "2024-T2"
}
},
"inflatie": {
"procent": "4.94",
"orizont": "12 luni",
"de_la": "2023-06",
"pana_la": "2024-06",
"categorie": "total",
"luni_folosite": 12
},
"reala": "0.91",
"reala_exacta": "0.9138107339",
"prin_scadere": {
"valoare": "0.96",
"diferenta_fata_de_exact": "-0.05"
}
},
"meta": {
"sursa": "BNR (rate nominale) + INS prin modulul Ins (IPC).",
"formula": "reala = (1 + nominala/100) / (1 + inflatie/100) − 1, exprimată în procente.",
"fel": "ex_post — se compară cu inflaţia care s-a întâmplat, nu cu una aşteptată. Pentru ex-ante ar trebui prognoze, pe care nu le avem.",
"nota_scadere": "`prin_scadere` e aproximarea uzuală `nominala − inflatie`. E dată tocmai ca diferenţa să se vadă: creşte odată cu inflaţia şi trece de un punct peste 15%.",
"nota_orizont": "Inflaţia e pe 12 luni încheiate în luna cerută — acelaşi orizont ca o rată anuală. Alt orizont ar compara lucruri diferite."
}
}
{
"data": {
"luna": "2024-06",
"nominala": {
"valoare": "7.00",
"sursa": {
"fel": "data_de_client"
}
},
"inflatie": {
"procent": "4.94",
"orizont": "12 luni",
"de_la": "2023-06",
"pana_la": "2024-06",
"categorie": "total",
"luni_folosite": 12
},
"reala": "1.96",
"reala_exacta": "1.9620183997",
"prin_scadere": {
"valoare": "2.06",
"diferenta_fata_de_exact": "-0.10"
}
},
"meta": {
"sursa": "BNR (rate nominale) + INS prin modulul Ins (IPC).",
"formula": "reala = (1 + nominala/100) / (1 + inflatie/100) − 1, exprimată în procente.",
"fel": "ex_post — se compară cu inflaţia care s-a întâmplat, nu cu una aşteptată. Pentru ex-ante ar trebui prognoze, pe care nu le avem.",
"nota_scadere": "`prin_scadere` e aproximarea uzuală `nominala − inflatie`. E dată tocmai ca diferenţa să se vadă: creşte odată cu inflaţia şi trece de un punct peste 15%.",
"nota_orizont": "Inflaţia e pe 12 luni încheiate în luna cerută — acelaşi orizont ca o rată anuală. Alt orizont ar compara lucruri diferite."
}
}
{
"data": {
"luna": "2024-06",
"nominala": {
"valoare": "6.01",
"sursa": {
"index": "robor3m",
"din_ziua": "2024-06-28"
}
},
"inflatie": {
"procent": "4.94",
"orizont": "12 luni",
"de_la": "2023-06",
"pana_la": "2024-06",
"categorie": "total",
"luni_folosite": 12
},
"reala": "1.02",
"reala_exacta": "1.0186315005",
"prin_scadere": {
"valoare": "1.07",
"diferenta_fata_de_exact": "-0.05"
}
},
"meta": {
"sursa": "BNR (rate nominale) + INS prin modulul Ins (IPC).",
"formula": "reala = (1 + nominala/100) / (1 + inflatie/100) − 1, exprimată în procente.",
"fel": "ex_post — se compară cu inflaţia care s-a întâmplat, nu cu una aşteptată. Pentru ex-ante ar trebui prognoze, pe care nu le avem.",
"nota_scadere": "`prin_scadere` e aproximarea uzuală `nominala − inflatie`. E dată tocmai ca diferenţa să se vadă: creşte odată cu inflaţia şi trece de un punct peste 15%.",
"nota_orizont": "Inflaţia e pe 12 luni încheiate în luna cerută — acelaşi orizont ca o rată anuală. Alt orizont ar compara lucruri diferite."
}
}
{
"data": {
"luna": "2024-06",
"nominala": {
"valoare": "7.00",
"sursa": {
"index": "politica",
"din_ziua": "2023-01-11"
}
},
"inflatie": {
"procent": "1.09",
"orizont": "12 luni",
"de_la": "2023-06",
"pana_la": "2024-06",
"categorie": "alimentare",
"luni_folosite": 12
},
"reala": "5.85",
"reala_exacta": "5.8481905245",
"prin_scadere": {
"valoare": "5.91",
"diferenta_fata_de_exact": "-0.06"
}
},
"meta": {
"sursa": "BNR (rate nominale) + INS prin modulul Ins (IPC).",
"formula": "reala = (1 + nominala/100) / (1 + inflatie/100) − 1, exprimată în procente.",
"fel": "ex_post — se compară cu inflaţia care s-a întâmplat, nu cu una aşteptată. Pentru ex-ante ar trebui prognoze, pe care nu le avem.",
"nota_scadere": "`prin_scadere` e aproximarea uzuală `nominala − inflatie`. E dată tocmai ca diferenţa să se vadă: creşte odată cu inflaţia şi trece de un punct peste 15%.",
"nota_orizont": "Inflaţia e pe 12 luni încheiate în luna cerută — acelaşi orizont ca o rată anuală. Alt orizont ar compara lucruri diferite."
}
}
Coduri de eroare
| Cod | Slug | Când apare |
|---|---|---|
| 401 | neautentificat | Token lipsă, invalid, expirat sau revocat. |
| 403 | feature_indisponibil | Planul curent nu include funcţia de care ţine ruta. |
| 422 | validare | Lună malformată; rată lipsă, dublă sau necunoscută; categorie inexistentă. |
| 429 | cota_depasita | Cota lunară a planului a fost depăşită (vezi Retry-After). |
Toate erorile au aceeași formă. eroare.cod e stabil și e cel după care trebuie să ramifici în cod — nu după textul din mesaj, care se poate schimba.
{
"eroare": {
"cod": "validare",
"mesaj": "Lună malformată; rată lipsă, dublă sau necunoscută; categorie inexistentă.",
"detalii": {
"luna": [
"Valoarea trimisă nu respectă regula parametrului."
]
}
}
}