oneapi
Autentificare
Financiar v1 / RiscCredit

Poziţia investiţională, arhiva BPM5

Metodologia pe care BNR a abandonat-o în 2014 — 37 de serii, 47 de observaţii, 1999-T4 → 2014-T2.
Duce istoricul cu şapte ani înaintea seriei BPM6.

Nu se poate înlănţui cu /pozitie-investitionala, şi asta nu e o avertizare, ci o cifră. Pe cele
30 de trimestre comune, raportul BPM5/BPM6 e între 0,909 şi 0,996 la active şi între 0,937 şi 0,995
la pasive; în 2014-T2 poziţia netă e −85.858 după BPM5 şi −89.960 după BPM6. Comparaţia se
calculează la fiecare cerere, în identitati.comparatie_bpm6.

Ritmul nu e uniform: între 1999 şi 2003 sursa publică o singură observaţie pe an, la sfârşitul
lui, şi abia din 2004-T1 devine trimestrială. Fiecare perioadă îşi poartă ritm-ul.

Denumirea nu distinge latura, codul o poartă. Nouă denumiri sunt folosite de câte două serii —
„Derivate financiare" e şi activ, şi pasiv — deci calea din denumire ar aşeza activele sub pasive.
Ierarhia se ia din cod.

Identitatea se adaptează la ce publică sursa: derivatele financiare intră abia din 2005-T1, deci
în observaţiile mai vechi totalul activelor are patru componente, nu cinci. Numărul lor se
raportează în componente_in_timp, ca intrarea derivatelor să se vadă, nu să fie netezită.

Poziţia netă nu există ca serie în clasă — blocul net o dă calculată, active minus pasive.

GET
https://oneapi.ro/api/financiar/v1/pozitie-investitionala/arhiva

Parametri de interogare

NumeTipDescriereValori acceptate
laturaopțional string | null Opţional: active sau pasive. Poziţia netă se întoarce oricum, în blocul net. activepasive
de_laopțional string | null Opţional, YYYY-Tn sau YYYY-MM. O lună se rotunjeşte la trimestrul care o conţine. ex. 2024-06-15
pana_laopțional string | null Opţional, YYYY-Tn sau YYYY-MM. ex. 2014-T2
nivel_maxopțional integer | null Opţional, 1–3. nivel_max=1 lasă doar cele două totaluri. 1 – 3

Cum se comportă

  • Poziţia investiţională internaţională în metodologia BPM5, pe care BNR a abandonat-o în 2014 — 37 de serii, 47 de observaţii, 1999-T4 → 2014-T2. Duce istoricul cu şapte ani înaintea seriei BPM6 de la /pozitie-investitionala.
  • Nu se lipeşte de seria BPM6, şi asta nu e o avertizare, ci o cifră. Pe cele 30 de trimestre în care ambele publică, raportul BPM5/BPM6 e între 0,909 şi 0,996 la active şi între 0,937 şi 0,995 la pasive. În 2014-T2, poziţia netă e −85.858 după BPM5 şi −89.960 după BPM6 — 4,1 miliarde de euro pentru acelaşi trimestru. identitati.comparatie_bpm6 dă comparaţia pereche cu pereche, calculată la fiecare cerere.
  • Ritmul nu e uniform. Între 1999 şi 2003 sursa publică o singură observaţie pe an, la sfârşitul lui; abia din 2004-T1 devine trimestrială. Cine cere „istoricul trimestrial din 1999" primeşte cinci puncte anuale urmate de 42 trimestriale, iar perioade[].ritm o spune pentru fiecare punct.
  • Denumirea nu distinge latura, codul o poartă. Nouă denumiri sunt folosite de câte două serii — „Derivate financiare" e şi PIIT_AEDF (activ), şi PIIT_PEDF (pasiv) — deci calea din denumire ar aşeza activele sub pasive, tăcut. Ierarhia se ia din cod: AE… active, PE… pasive.
  • E a treia formă de ambiguitate a ierarhiei din modul, şi de aceea verificarea cale-vs-cod se face la fiecare clasă: la rezerve denumirea avea dreptate şi codul era incomplet, la comerţul cu servicii denumirea era plată şi doar codul purta structura, aici denumirea e ambiguă.
  • Identitatea se adaptează la ce publică sursa. Derivatele financiare intră abia din 2005-T1 şi instrumentele pieţei monetare din 2004-T4, deci în observaţiile mai vechi suma are mai puţine componente. Numărul lor se raportează în componente_in_timp, ca intrarea fiecăreia să se vadă în loc să fie netezită.
  • Un singur trimestru din 47 nu se închide: 2004-T3. Investiţiile directe ale nerezidenţilor sunt publicate ca 10.810,8, dar componentele lor însumează 12.078,6. Totalul scade faţă de trimestrul dinainte deşi ambele componente cresc — 9.887 → 10.184 şi 1.747 → 1.895 — deci cifra greşită e totalul, nu componentele. Trimestrele vecine se închid exact. Abaterea se raportează în identitati.descompunere.abateri, nu se acoperă lărgind toleranţa.
  • Poziţia netă nu există ca serie în clasă: PIIT_NA e totalul activelor, PIIT_NP al pasivelor. Blocul net o dă calculată, ca s-o nu scadă fiecare pe cont propriu.
  • Perioadele poartă data_referinta la sfârşit de trimestru, ca la seria BPM6 — e tot un stoc. Toleranţa e derivată: toate cele 1.713 de valori încap în două zecimale, deci o sumă de k componente e mărginită de (k+1) × 0,005.

La ce folosește

  • Poziţia externă a României înainte de aderarea la UE, pe care seria curentă n-o acoperă.
  • Cum au crescut investiţiile străine directe între 1999 şi 2007.
  • Rezervele BNR în anii 2000, ca parte din activele externe.

Structura răspunsului

CâmpTipDescriere
data.metodologie string Mereu BPM5. E motivul pentru care cifrele nu se pot înlănţui cu /pozitie-investitionala.
data.de_la string Începutul intervalului acoperit de răspuns.
data.pana_la string Sfârşitul intervalului acoperit de răspuns, inclusiv.
data.unitate string Unitatea de măsură a valorilor. Citeşte-o înainte de a le pune pe un grafic sau de a le aduna.
data.filtre array Filtrele aplicate efectiv, aşa cum le-a înţeles ruta — util când o valoare a fost normalizată.
data.perioade[].trimestru string Trimestrul la care se referă valoarea.
data.perioade[].data_referinta string Sfârşitul trimestrului, momentul la care e măsurat stocul.
data.perioade[].luna_sursa string Luna aşa cum o etichetează sursa, înainte de normalizare.
data.perioade[].ritm string anual până în 2003, trimestrial din 2004.
data.net object Poziţia netă calculată: totalul activelor minus totalul pasivelor.
data.pozitii[].cod string Codul din nomenclatorul sursei — cheia pe care se filtrează.
data.pozitii[].latura string Latura contului (resurse ori utilizări).
data.pozitii[].eticheta string Eticheta afişabilă a valorii — versiunea citibilă a codului de alături.
data.pozitii[].nivel integer Nivelul din ierarhia clasificării — cu cât e mai adânc, cu atât e mai detaliat.
data.pozitii[].parinte null Codul poziţiei-părinte, din cod. null la cele două totaluri.
data.pozitii[].unitate string Unitatea de măsură a valorilor. Citeşte-o înainte de a le pune pe un grafic sau de a le aduna.
data.pozitii[].perioade_publicate integer Câte perioade a publicat efectiv sursa.
data.pozitii[].valori object Valorile seriei, pe perioade.
data.identitati.descompunere.identitate string Identitatea verificată — ce sumă trebuie să dea ce total.
data.identitati.descompunere.noduri_cu_copii integer Câte noduri din ierarhie au cel puţin un descendent.
data.identitati.descompunere.noduri_inchise integer Câte noduri din ierarhie s-au închis în toleranţă.
data.identitati.descompunere.verificari integer Câte combinaţii au fost verificate.
data.identitati.descompunere.regula_tolerantei string
data.identitati.descompunere.componente_in_timp object Din ce trimestru intră fiecare număr de componente — aşa se vede când începe sursa să publice derivatele.
data.identitati.descompunere.componente_in_timp.PIIT_NA object
data.identitati.descompunere.componente_in_timp.PIIT_AEIP object
data.identitati.descompunere.componente_in_timp.PIIT_NP object
data.identitati.descompunere.abateri[] array Nodurile care nu se închid. Acum e doar 2004-T3.
data.identitati.descompunere.abateri[].nod string
data.identitati.descompunere.abateri[].copii integer
data.identitati.descompunere.abateri[].verificari_inchise integer Câte verificări s-au închis în toleranţă.
data.identitati.descompunere.abateri[].verificari integer Câte combinaţii au fost verificate.
data.identitati.descompunere.abateri[].abatere_maxima string Cea mai mare abatere întâlnită între suma componentelor şi total.
data.identitati.descompunere.abateri[].unde.trimestru string Trimestrul la care se referă valoarea.
data.identitati.descompunere.abateri[].unde.componente_incluse integer
data.identitati.descompunere.abateri[].unde.total string
data.identitati.descompunere.abateri[].unde.suma_componentelor string
data.identitati.comparatie_bpm6 object Nu e o identitate şi nu trebuie să se închidă: sunt metodologii diferite. Cifrele arată de ce cele două serii nu se pot lipi.
data.identitati.comparatie_bpm6.nota string Precizare despre cum se citesc datele — o capcană, o convenţie sau o limită a sursei.
data.identitati.comparatie_bpm6.trimestre_comune integer
data.identitati.comparatie_bpm6.raport_bpm5_bpm6.active.min string
data.identitati.comparatie_bpm6.raport_bpm5_bpm6.active.max string
data.identitati.comparatie_bpm6.raport_bpm5_bpm6.pasive.min string
data.identitati.comparatie_bpm6.raport_bpm5_bpm6.pasive.max string
data.identitati.comparatie_bpm6.perechi[].trimestru string Trimestrul la care se referă valoarea.
data.identitati.comparatie_bpm6.perechi[].active.bpm5 string
data.identitati.comparatie_bpm6.perechi[].active.bpm6 string
data.identitati.comparatie_bpm6.perechi[].active.raport string Raportul dintre cele două mărimi comparate.
data.identitati.comparatie_bpm6.perechi[].pasive.bpm5 string
data.identitati.comparatie_bpm6.perechi[].pasive.bpm6 string
data.identitati.comparatie_bpm6.perechi[].pasive.raport string Raportul dintre cele două mărimi comparate.
meta.sursa string Sursa oficială din care vin datele, cu licenţa ei acolo unde e cerută.
meta.acoperire.de_la string Prima perioadă pentru care avem date.
meta.acoperire.pana_la string Ultima perioadă pentru care avem date.
meta.perioade integer Perioadele pentru care există valori.
meta.pozitii_totale integer Câte poziţii se potrivesc filtrelor, dincolo de pagina curentă.
meta.pozitii_returnate integer Câte poziţii s-au întors efectiv în răspunsul ăsta.
meta.ritm object
meta.nota_bpm6 string Precizare despre cum se citeşte răspunsul: o capcană, o convenţie sau o limită a sursei.
meta.nota_ritm string Precizare despre cum se citeşte răspunsul: o capcană, o convenţie sau o limită a sursei.
meta.nota_ierarhie string Cum se citeşte ierarhia clasificării şi ce niveluri nu se adună între ele.
meta.nota_identitate string Cum se verifică identitatea de mai sus şi ce înseamnă când nu se închide.
meta.nota_net string Precizare despre cum se citeşte răspunsul: o capcană, o convenţie sau o limită a sursei.
meta.nota_null string De ce lipsesc unele valori: sursa nu le-a publicat, nu le-a calculat ori le-a suprimat.
meta.fara_date string data e null, iar aici stă motivul. Nu există valori BPM5 în bază. Intervalul e în afara acoperirii (1999-T4 → 2014-T2).
meta.fara_date_cod string Cuvântul scurt şi STABIL al motivului, pentru clienţii care comută pe el în cod: fara_date e proză şi se poate reformula, ăsta nu.

Exemple de răspuns

GEThttps://oneapi.ro/api/financiar/v1/pozitie-investitionala/arhiva
{
    "data": {
        "metodologie": "BPM5",
        "de_la": "1999-T4",
        "pana_la": "2014-T2",
        "unitate": "milioane EUR",
        "filtre": [],
        "perioade": [
            {
                "trimestru": "1999-T4",
                "data_referinta": "1999-12-31",
                "luna_sursa": "1999-10",
                "ritm": "anual"
            }
        ],
        "net": {
            "1999-T4": "-7093.89",
            "2000-T4": "-9166.77",
            "2001-T4": "-10725.06",
            "2002-T4": "-9250.94",
            "2003-T4": "-13013.00",
            "2004-T1": "-15251.30",
            "2004-T2": "-16243.90",
            "2004-T3": "-14892.00",
            "2004-T4": "-16454.00",
            "2005-T1": "-17246.00",
            "2005-T2": "-19116.00",
            "2005-T3": "-21583.00",
            "2005-T4": "-23146.50",
            "2006-T1": "-26002.20",
            "2006-T2": "-29041.70",
            "2006-T3": "-32564.80",
            "2006-T4": "-36891.00",
            "2007-T1": "-42193.10",
            "2007-T2": "-48984.00",
            "2007-T3": "-54886.40",
            "2007-T4": "-54222.70",
            "2008-T1": "-57559.10",
            "2008-T2": "-63993.80",
            "2008-T3": "-67250.60",
            "2008-T4": "-69006.40",
            "2009-T1": "-69274.90",
            "2009-T2": "-71715.40",
            "2009-T3": "-72803.60",
            "2009-T4": "-73741.10",
            "2010-T1": "-75902.70",
            "2010-T2": "-75187.90",
            "2010-T3": "-77277.80",
            "2010-T4": "-77846.00",
            "2011-T1": "-81956.90",
            "2011-T2": "-82226.50",
            "2011-T3": "-81450.50",
            "2011-T4": "-84394.30",
            "2012-T1": "-84448.50",
            "2012-T2": "-84826.70",
            "2012-T3": "-85115.30",
            "2012-T4": "-89481.40",
            "2013-T1": "-87176.70",
            "2013-T2": "-86903.88",
            "2013-T3": "-85619.19",
            "2013-T4": "-87225.10",
            "2014-T1": "-85344.30",
            "2014-T2": "-85857.50"
        },
        "pozitii": [
            {
                "cod": "PIIT_NA",
                "latura": "active",
                "eticheta": "active",
                "nivel": 1,
                "parinte": null,
                "unitate": "milioane EUR",
                "perioade_publicate": 47,
                "valori": {
                    "1999-T4": "8182.52",
                    "2000-T4": "10206.24",
                    "2001-T4": "12939.72",
                    "2002-T4": "12900.86",
                    "2003-T4": "12490.00",
                    "2004-T1": "13060.20",
                    "2004-T2": "13985.50",
                    "2004-T3": "15773.00",
                    "2004-T4": "17692.00",
                    "2005-T1": "20041.00",
                    "2005-T2": "22160.00",
                    "2005-T3": "24620.00",
                    "2005-T4": "25741.50",
                    "2006-T1": "27309.20",
                    "2006-T2": "27071.20",
                    "2006-T3": "28426.50",
                    "2006-T4": "32062.00",
                    "2007-T1": "32547.70",
                    "2007-T2": "33761.50",
                    "2007-T3": "36117.10",
                    "2007-T4": "36867.30",
                    "2008-T1": "36929.70",
                    "2008-T2": "37772.70",
                    "2008-T3": "39427.30",
                    "2008-T4": "39039.30",
                    "2009-T1": "38834.50",
                    "2009-T2": "40510.40",
                    "2009-T3": "44261.10",
                    "2009-T4": "43713.50",
                    "2010-T1": "48732.90",
                    "2010-T2": "49123.90",
                    "2010-T3": "50133.60",
                    "2010-T4": "50759.50",
                    "2011-T1": "50881.60",
                    "2011-T2": "52838.90",
                    "2011-T3": "52965.90",
                    "2011-T4": "52480.30",
                    "2012-T1": "53886.10",
                    "2012-T2": "52553.00",
                    "2012-T3": "52381.80",
                    "2012-T4": "51189.90",
                    "2013-T1": "53187.90",
                    "2013-T2": "51684.80",
                    "2013-T3": "52688.70",
                    "2013-T4": "51426.20",
                    "2014-T1": "51394.70",
                    "2014-T2": "51578.80"
                }
            }
        ],
        "identitati": {
            "descompunere": {
                "identitate": "fiecare poziţie = suma copiilor ei direcţi, dintre cei publicaţi în perioada aceea",
                "noduri_cu_copii": 13,
                "noduri_inchise": 10,
                "verificari": 611,
                "regula_tolerantei": "(k+1) × 0,005 milioane pentru k componente — valorile clasei încap în două zecimale",
                "componente_in_timp": {
                    "PIIT_NA": {
                        "4": "1999-T4",
                        "5": "2005-T1"
                    },
                    "PIIT_AEIP": {
                        "2": "1999-T4",
                        "3": "2004-T4"
                    },
                    "PIIT_NP": {
                        "3": "1999-T4",
                        "4": "2005-T1"
                    }
                },
                "abateri": [
                    {
                        "nod": "PIIT_NA",
                        "copii": 5,
                        "verificari_inchise": 46,
                        "verificari": 47,
                        "abatere_maxima": "0.30",
                        "unde": {
                            "trimestru": "2004-T3",
                            "componente_incluse": 4,
                            "total": "15773.00",
                            "suma_componentelor": "15772.70"
                        }
                    }
                ]
            },
            "comparatie_bpm6": {
                "nota": "Nu e o identitate şi nu trebuie să se închidă: BPM5 şi BPM6 sunt metodologii diferite. Cifrele există ca să se vadă că cele două serii nu se pot înlănţui într-un istoric lung.",
                "trimestre_comune": 30,
                "raport_bpm5_bpm6": {
                    "active": {
                        "min": "0.9089",
                        "max": "0.9962"
                    },
                    "pasive": {
                        "min": "0.9368",
                        "max": "0.9951"
                    }
                },
                "perechi": [
                    {
                        "trimestru": "2007-T1",
                        "active": {
                            "bpm5": "32547.70",
                            "bpm6": "32829.00",
                            "raport": "0.9914"
                        },
                        "pasive": {
                            "bpm5": "74740.80",
                            "bpm6": "75110.00",
                            "raport": "0.9951"
                        }
                    }
                ]
            }
        }
    },
    "meta": {
        "sursa": "BNR — arhivă poziţia investiţională internaţională, metodologia BPM5 (clasa 577).",
        "acoperire": {
            "de_la": "1999-T4",
            "pana_la": "2014-T2"
        },
        "perioade": 47,
        "pozitii_totale": 37,
        "pozitii_returnate": 37,
        "ritm": {
            "1999": "anual",
            "2000": "anual",
            "2001": "anual",
            "2002": "anual",
            "2003": "anual",
            "2004": "trimestrial",
            "2005": "trimestrial",
            "2006": "trimestrial",
            "2007": "trimestrial",
            "2008": "trimestrial",
            "2009": "trimestrial",
            "2010": "trimestrial",
            "2011": "trimestrial",
            "2012": "trimestrial",
            "2013": "trimestrial",
            "2014": "trimestrial"
        },
        "nota_bpm6": "Seria asta nu se lipeşte de /pozitie-investitionala: pe cele 30 trimestre comune raportul BPM5/BPM6 e între 0.9089 şi 0.9962 la active. Cifrele sunt în `identitati.comparatie_bpm6`, pereche cu pereche.",
        "nota_ritm": "Între 1999 şi 2003 sursa publică o singură observaţie pe an, la sfârşitul lui; din 2004-T1 devine trimestrială. `perioade[].ritm` o spune pentru fiecare punct.",
        "nota_ierarhie": "Ierarhia vine din cod, nu din denumire: nouă denumiri sunt comune celor două laturi, deci calea din denumire ar aşeza activele sub pasive.",
        "nota_identitate": "10 din 13 noduri se închid, pe 611 verificări. Suma include doar componentele publicate în perioada respectivă, iar `componente_in_timp` arată de când intră fiecare — derivatele financiare abia din 2005-T1.",
        "nota_net": "Poziţia netă nu există ca serie în clasă; blocul `net` o dă calculată, totalul activelor minus totalul pasivelor.",
        "nota_null": "`null` într-un trimestru înseamnă că poziţia n-a fost publicată atunci, nu zero."
    }
}

Coduri de eroare

CodSlugCând apare
401neautentificatToken lipsă, invalid, expirat sau revocat.
403feature_indisponibilPlanul curent nu include funcţia de care ţine ruta.
404negasitSeria s-a încheiat, nu se mai actualizează.
422validareinterval_prea_lung peste 60 de perioade, latură în afara listei, sau nivel_max în afara intervalului 1–3.
429cota_depasitaCota 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 60 de perioade, latură în afara listei, sau nivel_max în afara intervalului 1–3.",
        "detalii": {
            "latura": [
                "Valoarea trimisă nu respectă regula parametrului."
            ]
        }
    }
}