Skip to main content

sedlabanki

Central Bank of Iceland — SDMX balance sheets + new credit, key interest rates via gagnabanki, and FX intervention (kaup/sala, turnover, reserves, ISK/EUR).

Informations de source

Dépôt
jokull/icelandic-data
Dernière activité de la source
10 septembre 2026 à 15:02
Langue détectée de SKILL.md
anglais
Étoiles
54
Forks
4

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
sedlabanki
description
Central Bank of Iceland — SDMX balance sheets + new credit, key interest rates via gagnabanki, and FX intervention (kaup/sala, turnover, reserves, ISK/EUR).
# Seðlabanki Íslands (Central Bank of Iceland) **Requires:** Tier 0 (core) for SDMX and FX; Tier 2 (browser) for the gagnabanki interest-rate scrape. Monetary and financial statistics: interest rates, balance sheets, and new credit. **Important:** Both sedlabanki.is and gagnabanki.is are JavaScript SPAs (Blazor / Angular). Simple HTTP fetches return empty HTML shells. Use Playwright for data extraction. ## Data Scope Three core datasets covering Iceland's monetary system: ### 0. Key Interest Rates (Meginvextir Seðlabankans) **Type:** Daily observations **Period:** Jan 2007 - present (18+ years) **Frequency:** Daily (business days) Central Bank policy rates: - **Meginvextir / Key rate** (7-day term deposit rate) — the main policy rate since 2014 - **Vextir á daglánum / Overnight lending rate** - **Vextir á viðskiptareikningum / Current account rate** - Also: 7-day collateralised lending, 28-day CBI CDs, REIBOR rates **Source:** gagnabanki.is Power BI embed (report key: `interests`) ### Data Portal: gagnabanki.is The Central Bank's data portal at `gagnabanki.is` is an Angular SPA wrapping Power BI reports. **Architecture:** - Config API: `GET https://gagnabanki.is/api/config` — returns all report IDs, time series keys, filters - Embed token: `GET https://gagnabanki.is/api/embed/{groupId}/{reportId}` - Group ID: `05060786-7f48-4442-8981-314b262d68a7` - Data flows through Power BI's WABI backend (`*.pbidedicated.windows.net`) **Interest Rate Report:** - Config key: `interests` - Report ID (live): `2b28c90f-7da7-4fd0-bd9b-f87ffeddbb07` - Dataset: `e75e5a3b-6118-4899-a266-62550d1b32e4` - Default series: keys 24, 28, 17923 - All series keys: `[17923, 28, 75, 55, 24, 3459, 17922, 4125, 289, 3460, 3461, 3458]` **Extraction method:** Playwright intercepts Power BI `querydata` responses from `*.pbidedicated.windows.net`. Data arrives in DSR (DataShapeResult) format with compressed values. ```bash # Fetch interest rates to CSV uv run python scripts/sedlabanki_rates.py # Output as JSON uv run python scripts/sedlabanki_rates.py --json ``` **Output:** `data/processed/sedlabanki_rates.csv` with columns: date, series, value ### 1. Balance Sheets (Efnahagur innlánsstofnana) — via SDMX **Type:** Stock (end-of-month positions) **Period:** Sept 1993 - present (387+ months, 32 years) **Frequency:** Monthly Full balance sheet of deposit-taking institutions: - **Assets** (Eignir) - Domestic: Loans (indexed/non-indexed), deposits, securities, derivatives - Foreign: Same breakdown for foreign-held assets - **Liabilities** (Skuldir) - Deposits (demand/term), debt securities, borrowing, equity ### 2. New Credit (Ný útlán) — via Library Download **Type:** Flow (net new lending minus prepayments) **Period:** Jan 2013 - present (155+ months, 13 years) **Frequency:** Monthly New lending by sector and index type: - **Sectors:** Non-financial corps (by industry), Financial corps, Government, Households - **Household detail:** Mortgages (fixed/floating rate), car loans - **Index types:** Indexed (verðtryggð), Non-indexed, Foreign currency ### 3. FX Intervention (Gjaldeyriskaup/-sala) — via XML Time Series **Type:** Flow (daily CBI FX purchases/sales, market turnover) + stock (reserves) **Period:** Daily series since Jan 2009; reserves monthly since Jan 1994 **Frequency:** Daily (business days), aggregated monthly downstream CBI foreign-exchange intervention — the answer to "did the CBI defend the króna?" questions (e.g. the COVID 2020-21 period and the 2025 carry-trade era): - **TS 285** Gjaldeyrissala SÍ í ISK — CBI *sales* of foreign currency, M.kr. (positive = CBI sells FX) - **TS 287** Gjaldeyriskaup SÍ í ISK — CBI *purchases* of foreign currency, M.kr. - **TS 284** Heildarvelta á innlendum gjaldeyrismarkaði — total interbank FX market turnover, M.kr. - **TS 282** Same turnover, M.eur - **TS 4064** Evra, skráð miðgengi — official EUR mid rate (ISK per EUR), daily - **FX reserves** (Gjaldeyrisforði) — from the CBI's own balance sheet workbook ("Sedlabanki" sheet, row "Liðir til skýringar: Gjaldeyrisforði"), monthly M.kr. **Source:** `https://sedlabanki.is/xmltimeseries/Default.aspx` — plain HTTP, **directly fetchable** (no Playwright, no gagnabanki proxy) for the daily series. The reserves workbook is a `sedlabanki.is/library` item fetched through the gagnabanki proxy (see Download URLs). **Fetch:** `uv run python scripts/sedlabanki_fx.py fetch` **Output:** `data/processed/sedlabanki_fx_intervention.csv` — monthly rows with `date, net_purchases_mkr, turnover_mkr, reserves_mkr, isk_per_eur, item_en`. `net_purchases_mkr` = kaup − sala (negative = CBI net seller, defending the króna; positive = accumulating reserves). Reserves and ISK/EUR are month-end; the daily flow series are summed per month. **Known COVID-era pattern (verified against this data):** the CBI was a heavy net SELLER of FX from March 2020 through spring 2021 (net −132.7 bn kr in 2020, −22.7 bn kr in 2021; monthly peaks Oct 2020 −38.3 bn kr), selling reserves to support the króna as ISK/EUR rose from ~135 (Dec 2019) to a trough ~164 (Oct 2020), then recovered to ~146-150 through 2021. It flipped to a net BUYER from 2025 (67.9 bn kr bought in 2025, matching the 67.9 ma.kr. stated in Peningamál 2026/1). ## API **Portal:** `https://gagnabanki.is/report/monetary` **Download Proxy:** `https://gagnabanki.is/api/download` (POST) > ### ⚠️ `fr.sedlabanki.is` is not fetchable directly — the proxy is mandatory > > The SDMX host resolves (`217.151.180.10`, a Vodafone Iceland xDSL pool address) > but **black-holes on both 80 and 443** from the public internet: connections > hang until timeout rather than being refused. It has never been publicly > reachable — archive.org has zero captures of it, ever. > > The server itself is alive and serving current data. Seðlabanki's own backend > reaches it, so **every SDMX fetch must go through > `POST https://gagnabanki.is/api/download`**, which performs the GET from inside > their network. This is a hard requirement, not a convenience wrapper. > > The SDMX URL below is therefore a **proxy payload, not a URL you can curl**. > If you `curl` it directly you will get a `ConnectTimeout` and conclude the > service is dead. It isn't. > > The block mechanism (geo-restriction, source-IP allowlist, or a public A record > fronting a firewalled host) is **unverified** — only the effect is established. ## Download URLs | Dataset | URL Type | Direct? | URL | |---------|----------|---------|-----| | Balance Sheets | SDMX | ❌ **proxy only** | `https://fr.sedlabanki.is/sdmx/v2/table/IS2_EXT/INN_BALANCE_SHEETS_TOTAL/1.0?format=xlsx` | | New Credit | Library | ✅ direct | `https://sedlabanki.is/library?itemid=b73e42d6-ba32-4eb3-b39e-1c70d2e45aec` | | FX market (daily) | XML time series | ✅ **direct** | `https://sedlabanki.is/xmltimeseries/Default.aspx?DagsFra=2009-01-01&GroupID=8&Type=csv` | | EUR mid rate (daily) | XML time series | ✅ **direct** | `https://sedlabanki.is/xmltimeseries/Default.aspx?DagsFra=2009-01-01&TimeSeriesID=4064&Type=csv` | | CBI balance sheet (reserves) | Library | ❌ **proxy only** | `https://sedlabanki.is/library?itemid=c0126d81-fd88-42bd-aee3-449e09b9089f` | ### XML Time Series endpoint (`xmltimeseries`) Separate from the SDMX service: a simple public GET at `sedlabanki.is` (NOT `www.` — that host 301s), returning `Type=csv` as a **headerless semicolon CSV**: `group;group_name;series_id;;series_name;description;date;value`. Dates are `M/D/YYYY h:mm:ss AM` — parse with `%m/%d/%Y %I:%M:%S %p`. Parameters: `DagsFra`/`DagsTil` (`YYYY-MM-DD`, or `LATEST`/`TODAY`), `GroupID` or `TimeSeriesID`, `Type=xml|csv`. See the full catalog at `https://sedlabanki.is/gagnatorg/xml-gogn/` (GroupID 8 = "Velta á gjaldeyrismarkaði", the FX market group; the official mid rates are GroupID 9). ## Fetching Data ```bash # Balance Sheets (32 years of monthly stock data) curl 'https://gagnabanki.is/api/download' \ -X POST -H 'Content-Type: application/json' \ --data-raw '{"url":"https://fr.sedlabanki.is/sdmx/v2/table/IS2_EXT/INN_BALANCE_SHEETS_TOTAL/1.0?format=xlsx"}' \ -o data/raw/sedlabanki/balance_sheets.xlsx # New Credit (13 years of monthly flow data) curl 'https://gagnabanki.is/api/download' \ -X POST -H 'Content-Type: application/json' \ --data-raw '{"url":"https://sedlabanki.is/library?itemid=b73e42d6-ba32-4eb3-b39e-1c70d2e45aec"}' \ -o data/raw/sedlabanki/newcredit.xlsx ``` ## Data Structure ### Balance Sheets Excel Layout - Sheet: `INN_BALANCE_SHEETS_TOTAL` - Row 3: Date headers (1993-09, 1993-10, ...) - Row 4+: Balance sheet line items with hierarchy (indented) - Column B: Row labels (Icelandic / English) - Column C+: Monthly values in M.kr. **Key line items:** ``` Eignir samtals / Assets, total Innlendar eignir / Domestic assets Lán / Loans Útlán / Loans outstanding Niðurfærslur / Provisions (negative) Erlendar eignir / Foreign assets Skuldir samtals / Liabilities, total Innlán / Deposits Markaðsskuldabréf / Debt securities issued Eigið fé / Equity ``` ### New Credit Excel Layout - Sheet: `I` - Row 10: Header with "M.kr." and dates - Row 11+: Sector rows - Repeating blocks for: Total, Non-indexed, Indexed, Foreign currency **Sector hierarchy:** ``` Ný útlán / New credit (total) ├── Atvinnufyrirtæki / Non-financial corporations │ ├── Landbúnaður / Agriculture │ ├── Fiskveiðar / Fisheries │ ├── Iðnaður / Manufacturing │ └── ... ├── Fjármálageiri / Financial corporations ├── Hið opinbera / Government ├── Heimili / Households │ ├── Lán með veði í íbúð / Mortgage loans │ │ ├── Breytilegir vextir / Floating rate │ │ └── Fastir vextir / Fixed rate │ └── Bílalán / Car loans └── Erlendur aðili / Non-residents ``` ### FX Intervention CSV Layout `data/processed/sedlabanki_fx_intervention.csv` — one row per month: | Column | Type | Meaning | |--------|------|---------| | date | date (YYYY-MM-01) | month (flows are monthly sums; stocks are month-end) | | net_purchases_mkr | float | CBI kaup − sala, M.kr. **negative = CBI net seller of FX** | | turnover_mkr | float | interbank FX market total turnover, M.kr. | | reserves_mkr | float | month-end FX reserves (Gjaldeyrisforði), M.kr. | | isk_per_eur | float | month-end official EUR mid rate | | item_en | str | descriptive label of the row | ### CBI Balance Sheet Excel Layout (for reserves) - Sheets: `FAME Persistence2`, `Sedlabanki` - `Sedlabanki` sheet: row 9 = date headers (`1994-01-31 00:00:00`, …), row 60 = `Liðir til skýringar: Gjaldeyrisforði (erlendar eignir, a-f)` — the FX reserves memo line, M.kr. ## Processing Pipeline ```bash # Process balance sheets + new credit to tidy CSVs uv run python scripts/sedlabanki.py # Fetch FX intervention data (raw + processed monthly CSV) uv run python scripts/sedlabanki_fx.py fetch # List the daily FX series available upstream uv run python scripts/sedlabanki_fx.py list ``` **Outputs:** - `data/processed/sedlabanki_newcredit.csv` - New credit by sector - `data/processed/sedlabanki_balance_sheets.csv` - Balance sheet items - `data/processed/sedlabanki_fx_intervention.csv` - FX intervention (monthly) ## Icelandic Terms | Icelandic | English | |-----------|---------| | Innlánsstofnanir | Deposit institutions (banks) | | Efnahagur | Balance sheet | | Eignir | Assets | | Skuldir | Liabilities | | Útlán | Loans (outstanding) | | Ný útlán | New credit (flow) | | Innlán | Deposits | | Verðtryggð | Indexed (to inflation) | | Óverðtryggð | Non-indexed | | Heimili | Households | | Atvinnufyrirtæki | Non-financial corporations | | Gjaldeyriskaup | FX purchases (CBI buys foreign currency) | | Gjaldeyrissala | FX sales (CBI sells foreign currency) | | Gjaldeyrisforði | FX reserves | | Velta á gjaldeyrismarkaði | FX market turnover | | Skráð miðgengi | Official mid rate | ## Data Notes 1. **Stock vs Flow:** Balance sheets are end-of-month stocks; New credit is monthly flow (new loans minus prepayments) 2. **Indexation:** Icelandic loans are either indexed to CPI (verðtryggð) or non-indexed. This distinction is critical for analyzing credit conditions. 3. **Provisional data:** Latest months are provisional, revised when annual accounts published 4. **Units:** All values in M.kr. (million ISK) 5. **Source:** Data collection per Act 92/2019 on the Central Bank of Iceland 6. **Encoding.** Icelandic chars (þ, ð, æ, ö) appear in sector names (Heimili, Atvinnufyrirtæki, verðtryggð) across both SDMX exports and the gagnabanki Power BI payload. Read CSV with `encoding="utf-8"` (the Excel-derived files are `utf-8-sig`); write JSON with `ensure_ascii=False`. 7. **FX sign convention.** In `sedlabanki_fx_intervention.csv`, `net_purchases_mkr` = kaup − sala, so a **negative** value means the CBI *sold* FX that month (net) — the direction that defends/dampens the króna. Series 285 (sala) and 287 (kaup) are both reported as positive numbers upstream; the sign appears only in the net column. 8. **FX provisional data.** The daily FX market numbers are provisional ("nýjustu tölur eru bráðabirgðatölur") and revised; the daily series update each business day at 16:00 with a two-day lag. 9. **Reserves workbook layout is positional.** The `Sedlabanki` sheet reserves row (60) and date row (9) are assumed by row number in `scripts/sedlabanki_fx.py`. If the CBI reorders the workbook, the reserves column breaks — the health test only catches reachability, not the row numbers.
Voir sur GitHub
Ce SKILL.md est tres volumineux, SkillsMP affiche donc ici seulement la premiere section. Voir sur GitHub