Poziţia investiţională internaţională
Stocul de active şi pasive externe ale României, trimestrial din 2007 — 51 de poziţii pe patru
niveluri. În ultimul trimestru: active 166.182, pasive 333.943, poziţia netă −167.761 milioane euro.
Perioadele sunt trimestre, cu data de referinţă explicită. Sursa etichetează trimestrul cu luna
lui de început, dar valoarea e stocul de la sfârşitul lui. Verificat pe activele de rezervă faţă de
rezervele lunare: comparate pe eticheta proprie, zero trimestre se potrivesc, cu abateri
de până la 5.274 milioane de euro; decalate cu două luni, se potrivesc toate 77. Fiecare perioadă
poartă data_referinta şi luna_sursa, iar cheile din valori sunt trimestre.
Activele şi pasivele nu sunt simetrice — 22 de poziţii comune, trei doar pe active (activele de
rezervă, aurul monetar, rezerva valutară) şi una doar pe pasive (alocările de DST). Nu e o matrice
latură × poziţie ca la balanţa de plăţi.
Toleranţa fiecărei identităţi e derivată, nu aleasă. Sursa publică milioane întregi, deci o
identitate cu k componente are eroarea de rotunjire mărginită de ⌊(k+1)/2⌋. Cu regula asta 17
din 18 identităţi se închid pe toate trimestrele; descompunerea pasivelor iese cu 3 într-un singur
trimestru, raportat în unde în loc să fie acoperit prin lărgirea toleranţei.
Parametri de interogare
YYYY-Tn sau YYYY-MM. O lună se rotunjeşte la trimestrul care o conţine, iar perioade arată exact ce a ieşit.
ex. 2024-06-15
YYYY-Tn sau YYYY-MM.
ex. 2024-06-15ex. 2024-06-30
net, active, pasive.
netactivepasive
Cum se comportă
- Stocul de active şi pasive externe ale României, trimestrial din 2007 — 51 de poziţii pe patru niveluri. În 2026-T1: active 166.182, pasive 333.943, poziţia netă −167.761 milioane euro.
- Perioadele sunt trimestre, cu data de referinţă explicită — şi asta contează. Sursa etichetează trimestrul cu luna lui de început, dar valoarea e stocul de la sfârşitul lui. Verificat pe activele de rezervă faţă de rezervele lunare: comparate pe eticheta din sursă, niciun trimestru nu se potriveşte, cu abateri de până la 5.274 milioane de euro; decalate cu două luni, se potrivesc toate, cu abatere maximă 0,5 — rotunjirea, fiindcă aici valorile sunt milioane întregi iar rezervele au zecimale.
- De aceea cheile din
valorisunt trimestre (2025-T3), iar fiecare perioadă poartădata_referinta(2025-09-30) şiluna_sursa(2025-07), pentru cine face join înapoi în seria brută. Verificare live: activele de rezervă în 2025-T3 sunt 75.786, iar rezervele la 30 septembrie 2025 sunt 75.785,94. - La balanţa de plăţi trimestrială nu se pune problema: acolo sunt fluxuri, iar perioada chiar e trimestrul. Aici e stoc.
- Activele şi pasivele nu sunt simetrice — 22 de poziţii comune, trei doar pe active (activele de rezervă, aurul monetar, rezerva valutară) şi una doar pe pasive (alocările de DST). Nu e o matrice latură × poziţie ca la balanţa de plăţi, deci fiecare latură îşi poartă propriul arbore.
- Toleranţa fiecărei identităţi e derivată, nu aleasă. Toate cele 3.450 de valori ale clasei sunt milioane întregi — verificat, niciuna cu zecimale — deci fiecare cifră poartă cel mult o jumătate de milion eroare de rotunjire, iar o identitate cu
kcomponente e mărginită de⌊(k+1)/2⌋. - Cu regula asta se verifică 18 identităţi:
net = active − pasive, descompunerea fiecărei laturi pe instrumente, şi termen scurt / termen lung pe fiecare. Şaptesprezece se închid pe toate trimestrele. A optsprezecea nu: pasivele în 2011-T3 sunt 136.750 faţă de o sumă de 136.753 — abatere 3 la o toleranţă de ±2. Toleranţa nu se urcă la 3 ca să „treacă"; abaterea se raportează înunde. - Identităţile se verifică pe toate poziţiile şi toate trimestrele ferestrei, indiferent de
laturasaunivel_max— un filtru n-are voie să facă garanţia să dispară. - Toată istoria încape într-o singură cerere.
La ce folosește
- Poziţia netă a României faţă de restul lumii, trimestru de trimestru.
- Stocul de investiţii străine directe în România, pe participaţii şi datorie.
- Datoria externă pe termen scurt faţă de rezerve — indicatorul de acoperire.
Structura răspunsului
valori.
net, active sau pasive.
null la cele trei rădăcini.
serie_inexistenta (sursa nu publică deloc componenta), nepublicata_in_fereastra (există, dar nu în intervalul ăsta) sau fara_perioada_completa (componentele există, dar nu simultan în nicio perioadă). Numărul verificat se schimbă cu fereastra, iar aici scrie de ce.
data e null, iar aici stă motivul. Nu există valori de poziţie investiţională în bază. Intervalul e în întregime în afara acoperirii (2007-T1 → prezent). Se suprapune peste ea, dar n-are valori.
fara_date e proză şi se poate reformula, ăsta nu.
Exemple de răspuns
{
"data": {
"de_la": "2007-T1",
"pana_la": "2026-T2",
"unitate": "milioane EUR",
"filtre": [],
"perioade": [
{
"trimestru": "2007-T1",
"data_referinta": "2007-03-31",
"luna_sursa": "2007-01"
}
],
"pozitii": [
{
"cod": "PII6T_N",
"latura": "net",
"eticheta": "Poziţia netă",
"cale": [
"Poziţia netă"
],
"nivel": 1,
"parinte": null,
"unitate": "milioane EUR",
"trimestre_publicate": 78,
"valori": {
"2007-T1": "-42281",
"2007-T2": "-49074",
"2007-T3": "-54971",
"2007-T4": "-54305",
"2008-T1": "-57521",
"2008-T2": "-65081",
"2008-T3": "-68727",
"2008-T4": "-69090",
"2009-T1": "-69360",
"2009-T2": "-71797",
"2009-T3": "-73871",
"2009-T4": "-74814",
"2010-T1": "-77013",
"2010-T2": "-76388",
"2010-T3": "-78410",
"2010-T4": "-78995",
"2011-T1": "-83059",
"2011-T2": "-83314",
"2011-T3": "-82579",
"2011-T4": "-85558",
"2012-T1": "-85591",
"2012-T2": "-86012",
"2012-T3": "-86287",
"2012-T4": "-90628",
"2013-T1": "-89549",
"2013-T2": "-89642",
"2013-T3": "-89969",
"2013-T4": "-90640",
"2014-T1": "-88496",
"2014-T2": "-89960",
"2014-T3": "-88718",
"2014-T4": "-85967",
"2015-T1": "-86314",
"2015-T2": "-85772",
"2015-T3": "-85162",
"2015-T4": "-86480",
"2016-T1": "-85720",
"2016-T2": "-85304",
"2016-T3": "-88273",
"2016-T4": "-85989",
"2017-T1": "-88333",
"2017-T2": "-90647",
"2017-T3": "-90559",
"2017-T4": "-91177",
"2018-T1": "-93182",
"2018-T2": "-93679",
"2018-T3": "-96231",
"2018-T4": "-93335",
"2019-T1": "-93775",
"2019-T2": "-97596",
"2019-T3": "-99115",
"2019-T4": "-98940",
"2020-T1": "-92857",
"2020-T2": "-97341",
"2020-T3": "-100549",
"2020-T4": "-106419",
"2021-T1": "-105498",
"2021-T2": "-109358",
"2021-T3": "-109538",
"2021-T4": "-113368",
"2022-T1": "-114762",
"2022-T2": "-112430",
"2022-T3": "-110957",
"2022-T4": "-119327",
"2023-T1": "-119844",
"2023-T2": "-126557",
"2023-T3": "-127142",
"2023-T4": "-133106",
"2024-T1": "-134527",
"2024-T2": "-139450",
"2024-T3": "-147364",
"2024-T4": "-146006",
"2025-T1": "-149579",
"2025-T2": "-156146",
"2025-T3": "-162914",
"2025-T4": "-169560",
"2026-T1": "-167761",
"2026-T2": "-168202"
}
}
],
"identitati": [
{
"identitate": "active = poziţia netă + pasive",
"total": "PII6T_A",
"componente": [
"PII6T_N",
"PII6T_P"
],
"toleranta": "1",
"trimestre_verificate": 78,
"trimestre_inchise": 78,
"abatere_maxima": "1"
}
],
"identitati_neverificate": []
},
"meta": {
"sursa": "BNR — poziţia investiţională internaţională, metodologia BPM6.",
"acoperire": {
"de_la": "2007-T1",
"pana_la": "2026-T2"
},
"trimestre": 78,
"pozitii_totale": 51,
"pozitii_returnate": 51,
"identitati_verificate": 18,
"identitati_inchise": 17,
"nota_datare": "Valorile sunt stocuri la `data_referinta`, adică sfârşitul trimestrului — nu la `luna_sursa`, care e doar eticheta din sursă. Comparate pe etichetă cu date lunare, activele de rezervă ies cu până la 5.274 milioane de euro alături; decalate corect, se potrivesc pe toate trimestrele.",
"nota_laturi": "Activele şi pasivele nu au aceleaşi poziţii: 22 comune, trei doar pe active (activele de rezervă, aurul monetar, rezerva valutară), una doar pe pasive (alocările de DST).",
"nota_identitati": "17 din 18 identităţi se închid pe toate trimestrele. Toleranţa fiecăreia e derivată din numărul de componente — sursa publică milioane întregi, deci eroarea de rotunjire e mărginită de ⌊(k+1)/2⌋. Ce depăşeşte se raportează în `unde`, nu se acoperă lărgind toleranţa.",
"nota_ierarhie": "`cale` şi `parinte` vin din denumire, verificate faţă de mnemonicul codului: 0 poziţii corectate. Mnemonicele se cuibăresc pe prefix de caractere (`IXNS` sub `IXN`), nu pe segmente despărţite de liniuţe.",
"nota_null": "`null` într-un trimestru înseamnă că poziţia n-a fost publicată atunci, nu zero."
}
}
{
"data": {
"de_la": "2024-T2",
"pana_la": "2026-T2",
"unitate": "milioane EUR",
"filtre": [],
"perioade": [
{
"trimestru": "2024-T2",
"data_referinta": "2024-06-30",
"luna_sursa": "2024-04"
}
],
"pozitii": [
{
"cod": "PII6T_N",
"latura": "net",
"eticheta": "Poziţia netă",
"cale": [
"Poziţia netă"
],
"nivel": 1,
"parinte": null,
"unitate": "milioane EUR",
"trimestre_publicate": 9,
"valori": {
"2024-T2": "-139450",
"2024-T3": "-147364",
"2024-T4": "-146006",
"2025-T1": "-149579",
"2025-T2": "-156146",
"2025-T3": "-162914",
"2025-T4": "-169560",
"2026-T1": "-167761",
"2026-T2": "-168202"
}
}
],
"identitati": [
{
"identitate": "active = poziţia netă + pasive",
"total": "PII6T_A",
"componente": [
"PII6T_N",
"PII6T_P"
],
"toleranta": "1",
"trimestre_verificate": 9,
"trimestre_inchise": 9,
"abatere_maxima": "1"
}
],
"identitati_neverificate": []
},
"meta": {
"sursa": "BNR — poziţia investiţională internaţională, metodologia BPM6.",
"acoperire": {
"de_la": "2007-T1",
"pana_la": "2026-T2"
},
"trimestre": 9,
"pozitii_totale": 51,
"pozitii_returnate": 51,
"identitati_verificate": 18,
"identitati_inchise": 18,
"nota_datare": "Valorile sunt stocuri la `data_referinta`, adică sfârşitul trimestrului — nu la `luna_sursa`, care e doar eticheta din sursă. Comparate pe etichetă cu date lunare, activele de rezervă ies cu până la 5.274 milioane de euro alături; decalate corect, se potrivesc pe toate trimestrele.",
"nota_laturi": "Activele şi pasivele nu au aceleaşi poziţii: 22 comune, trei doar pe active (activele de rezervă, aurul monetar, rezerva valutară), una doar pe pasive (alocările de DST).",
"nota_identitati": "18 din 18 identităţi se închid pe toate trimestrele. Toleranţa fiecăreia e derivată din numărul de componente — sursa publică milioane întregi, deci eroarea de rotunjire e mărginită de ⌊(k+1)/2⌋. Ce depăşeşte se raportează în `unde`, nu se acoperă lărgind toleranţa.",
"nota_ierarhie": "`cale` şi `parinte` vin din denumire, verificate faţă de mnemonicul codului: 0 poziţii corectate. Mnemonicele se cuibăresc pe prefix de caractere (`IXNS` sub `IXN`), nu pe segmente despărţite de liniuţe.",
"nota_null": "`null` într-un trimestru înseamnă că poziţia n-a fost publicată atunci, nu zero."
}
}
{
"data": {
"de_la": "2007-T1",
"pana_la": "2024-T2",
"unitate": "milioane EUR",
"filtre": [],
"perioade": [
{
"trimestru": "2007-T1",
"data_referinta": "2007-03-31",
"luna_sursa": "2007-01"
}
],
"pozitii": [
{
"cod": "PII6T_N",
"latura": "net",
"eticheta": "Poziţia netă",
"cale": [
"Poziţia netă"
],
"nivel": 1,
"parinte": null,
"unitate": "milioane EUR",
"trimestre_publicate": 70,
"valori": {
"2007-T1": "-42281",
"2007-T2": "-49074",
"2007-T3": "-54971",
"2007-T4": "-54305",
"2008-T1": "-57521",
"2008-T2": "-65081",
"2008-T3": "-68727",
"2008-T4": "-69090",
"2009-T1": "-69360",
"2009-T2": "-71797",
"2009-T3": "-73871",
"2009-T4": "-74814",
"2010-T1": "-77013",
"2010-T2": "-76388",
"2010-T3": "-78410",
"2010-T4": "-78995",
"2011-T1": "-83059",
"2011-T2": "-83314",
"2011-T3": "-82579",
"2011-T4": "-85558",
"2012-T1": "-85591",
"2012-T2": "-86012",
"2012-T3": "-86287",
"2012-T4": "-90628",
"2013-T1": "-89549",
"2013-T2": "-89642",
"2013-T3": "-89969",
"2013-T4": "-90640",
"2014-T1": "-88496",
"2014-T2": "-89960",
"2014-T3": "-88718",
"2014-T4": "-85967",
"2015-T1": "-86314",
"2015-T2": "-85772",
"2015-T3": "-85162",
"2015-T4": "-86480",
"2016-T1": "-85720",
"2016-T2": "-85304",
"2016-T3": "-88273",
"2016-T4": "-85989",
"2017-T1": "-88333",
"2017-T2": "-90647",
"2017-T3": "-90559",
"2017-T4": "-91177",
"2018-T1": "-93182",
"2018-T2": "-93679",
"2018-T3": "-96231",
"2018-T4": "-93335",
"2019-T1": "-93775",
"2019-T2": "-97596",
"2019-T3": "-99115",
"2019-T4": "-98940",
"2020-T1": "-92857",
"2020-T2": "-97341",
"2020-T3": "-100549",
"2020-T4": "-106419",
"2021-T1": "-105498",
"2021-T2": "-109358",
"2021-T3": "-109538",
"2021-T4": "-113368",
"2022-T1": "-114762",
"2022-T2": "-112430",
"2022-T3": "-110957",
"2022-T4": "-119327",
"2023-T1": "-119844",
"2023-T2": "-126557",
"2023-T3": "-127142",
"2023-T4": "-133106",
"2024-T1": "-134527",
"2024-T2": "-139450"
}
}
],
"identitati": [
{
"identitate": "active = poziţia netă + pasive",
"total": "PII6T_A",
"componente": [
"PII6T_N",
"PII6T_P"
],
"toleranta": "1",
"trimestre_verificate": 70,
"trimestre_inchise": 70,
"abatere_maxima": "1"
}
],
"identitati_neverificate": []
},
"meta": {
"sursa": "BNR — poziţia investiţională internaţională, metodologia BPM6.",
"acoperire": {
"de_la": "2007-T1",
"pana_la": "2026-T2"
},
"trimestre": 70,
"pozitii_totale": 51,
"pozitii_returnate": 51,
"identitati_verificate": 18,
"identitati_inchise": 17,
"nota_datare": "Valorile sunt stocuri la `data_referinta`, adică sfârşitul trimestrului — nu la `luna_sursa`, care e doar eticheta din sursă. Comparate pe etichetă cu date lunare, activele de rezervă ies cu până la 5.274 milioane de euro alături; decalate corect, se potrivesc pe toate trimestrele.",
"nota_laturi": "Activele şi pasivele nu au aceleaşi poziţii: 22 comune, trei doar pe active (activele de rezervă, aurul monetar, rezerva valutară), una doar pe pasive (alocările de DST).",
"nota_identitati": "17 din 18 identităţi se închid pe toate trimestrele. Toleranţa fiecăreia e derivată din numărul de componente — sursa publică milioane întregi, deci eroarea de rotunjire e mărginită de ⌊(k+1)/2⌋. Ce depăşeşte se raportează în `unde`, nu se acoperă lărgind toleranţa.",
"nota_ierarhie": "`cale` şi `parinte` vin din denumire, verificate faţă de mnemonicul codului: 0 poziţii corectate. Mnemonicele se cuibăresc pe prefix de caractere (`IXNS` sub `IXN`), nu pe segmente despărţite de liniuţe.",
"nota_null": "`null` într-un trimestru înseamnă că poziţia n-a fost publicată atunci, nu zero."
}
}
{
"data": {
"de_la": "2024-T2",
"pana_la": "2024-T2",
"unitate": "milioane EUR",
"filtre": [],
"perioade": [
{
"trimestru": "2024-T2",
"data_referinta": "2024-06-30",
"luna_sursa": "2024-04"
}
],
"pozitii": [
{
"cod": "PII6T_N",
"latura": "net",
"eticheta": "Poziţia netă",
"cale": [
"Poziţia netă"
],
"nivel": 1,
"parinte": null,
"unitate": "milioane EUR",
"trimestre_publicate": 1,
"valori": {
"2024-T2": "-139450"
}
}
],
"identitati": [
{
"identitate": "active = poziţia netă + pasive",
"total": "PII6T_A",
"componente": [
"PII6T_N",
"PII6T_P"
],
"toleranta": "1",
"trimestre_verificate": 1,
"trimestre_inchise": 1,
"abatere_maxima": "0"
}
],
"identitati_neverificate": []
},
"meta": {
"sursa": "BNR — poziţia investiţională internaţională, metodologia BPM6.",
"acoperire": {
"de_la": "2007-T1",
"pana_la": "2026-T2"
},
"trimestre": 1,
"pozitii_totale": 51,
"pozitii_returnate": 51,
"identitati_verificate": 18,
"identitati_inchise": 18,
"nota_datare": "Valorile sunt stocuri la `data_referinta`, adică sfârşitul trimestrului — nu la `luna_sursa`, care e doar eticheta din sursă. Comparate pe etichetă cu date lunare, activele de rezervă ies cu până la 5.274 milioane de euro alături; decalate corect, se potrivesc pe toate trimestrele.",
"nota_laturi": "Activele şi pasivele nu au aceleaşi poziţii: 22 comune, trei doar pe active (activele de rezervă, aurul monetar, rezerva valutară), una doar pe pasive (alocările de DST).",
"nota_identitati": "18 din 18 identităţi se închid pe toate trimestrele. Toleranţa fiecăreia e derivată din numărul de componente — sursa publică milioane întregi, deci eroarea de rotunjire e mărginită de ⌊(k+1)/2⌋. Ce depăşeşte se raportează în `unde`, nu se acoperă lărgind toleranţa.",
"nota_ierarhie": "`cale` şi `parinte` vin din denumire, verificate faţă de mnemonicul codului: 0 poziţii corectate. Mnemonicele se cuibăresc pe prefix de caractere (`IXNS` sub `IXN`), nu pe segmente despărţite de liniuţe.",
"nota_null": "`null` într-un trimestru înseamnă că poziţia n-a fost publicată atunci, nu zero."
}
}
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 | interval_prea_lung peste 80 de trimestre, latură în afara listei, sau nivel_max în afara intervalului 1–4. |
| 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": "interval_prea_lung peste 80 de trimestre, latură în afara listei, sau nivel_max în afara intervalului 1–4.",
"detalii": {
"de_la": [
"Valoarea trimisă nu respectă regula parametrului."
]
}
}
}