# Oljefondet under lupen

Interaktiv læringsrapport med fast rapporteringsdato **30. juni 2026**. Kilde: originalmaterialet fra NBIM i oppgavepakken. Presentasjon og analyse er egen bearbeiding, ikke en NBIM-publikasjon.

## Åpne rapporten uten nett

Åpne `index.html` direkte i en moderne nettleser. Dette er testet med Chromium, også med landfilter. Ingen server, byggetrinn, innlogging eller internettilgang kreves. Data lastes som en lokal JavaScript-fil, ikke med `fetch` eller CDN.

Alternativt, fra leveransemappen:

```bash
cd /arbeid/leveranse
python3 -m http.server 8000 --bind 127.0.0.1 --directory .
```

Åpne deretter **http://127.0.0.1:8000/index.html**. Avslutt serveren med Ctrl+C.

## Bruk

- Oversikten og andre aktivaklasser er faste og påvirkes ikke av aksjefiltrene.
- Søk gjelder selskapsnavn og kombineres med land og sektor (AND). Filtrene oppdaterer alle aksjegrafer, konsentrasjon og tabell samtidig.
- Pek/trykk på søyler for verdi, andel og nevner. Klikk et land/en sektor for å filtrere, eller en stor beholdning for selskapsdetaljer. Landgruppen «Øvrige land» kan ikke brukes som filter.
- Tabellen har 25 rader per side. Alle sju kolonner kan sorteres i begge retninger. Klikk selskapsnavnet for originalfeltene, blant annet eierandel, stemmeandel og registreringsland.
- «Last ned utvalg» eksporterer hele det aktuelle utvalget, ikke bare siden som vises. Eksporten følger valgt sortering.
- På mobil kan navigasjonen og den brede aksjetabellen rulles horisontalt. Datatabeller under grafene gir et tekstalternativ.

## Reproduser databehandlingen

```bash
cd /arbeid/leveranse
python3 src/behandle.py --kilder kilder --ut data
```

Eller direkte fra det godkjente materialet:

```bash
python3 src/behandle.py --kilder /pakke/02_oljefondet --ut data
```

Skriptet leser XLSX, kontrollerer felles CSV-felter rad for rad, beregner tabeller og summer, og skriver alle datafiler på nytt. Det endrer ingen kildefiler. Oversiktstall og rapportert H1-avkastning er eksplisitte transkripsjoner i skriptet med sidereferanser i `METODE.md`.

## Kjør nettlesertestene

Start serveren som ovenfor i én terminal, og kjør i en annen:

```bash
cd /arbeid/leveranse
NODE_PATH=/verktoy/node_modules node src/test_rapport.cjs http://127.0.0.1:8000 /arbeid/tmp/oljefond-kontroll
```

Testen skriver JSON-resultat, skjermbilder og en prøvd CSV-eksport i valgt utmappe. Den tester også direkte `file://`-åpning. Skriptet avslutter med feilstatus ved en mislykket kontroll. Siste faktiske resultat fra arbeidet finnes i `kontroll/testresultat.json`.

## Avhengigheter og versjoner

| Bruk | Avhengighet | Versjon brukt |
|---|---|---|
| Rapport i nettleser | Apache ECharts, lokalt kopiert | 5.6.0 |
| Faktisk nettlesertest | Chromium | 140.0.7339.16 |
| Databehandling | Python | 3.12.3 |
| Databehandling | pandas | 2.1.4 |
| XLSX-lesing | openpyxl | 3.1.2 |
| pandas-avhengighet | NumPy | 1.26.4 |
| Testkjøring | Node.js | 22.18.0 |
| Testkjøring | Playwright | 1.55.0 |

ECharts og lisensen er inkludert i `vendor/`. Nettleseren trenger ikke Python/Node. Databehandlings- og testavhengigheter er forhåndsinstallert i arbeidsmiljøet, ikke pakket som virtuelle miljøer. Ingen pakker ble installert. Skrift er lokal DejaVu Sans med sans-serif-reserve; ingen eksterne fontressurser.

## Leveransens struktur

- `index.html`, `src/stil.css`, `src/rapport.js`: redigerbar presentasjon.
- `src/behandle.py`: redigerbar databehandling.
- `src/test_rapport.cjs`: redigerbare nettlesertester.
- `data/aksjebeholdninger_beregnet.csv`: 7 077 aksjer med NOK/USD, porteføljevekt og originalfelter (UTF-8 med BOM, komma, desimalpunktum).
- `data/fordelinger_beregnet.csv`: land, region og sektor/type for aksjer og renter, samt unoterte landtotaler; eksplisitte nevnere.
- `data/avstemming.csv`: filsum, rapporttall, balanse og differanser.
- `data/re_landtotaler.csv`, `data/ri_landtotaler.csv`: dedupliserte landtotaler.
- `data/aksjer.json`, `data/oppsummering.json`, `data/rapportdata.js`: beregnede data og nettleserpakken.
- `kilder/`: byte-identiske kopier av åtte beholdningsfiler, norsk PDF, kilderegister og dataforklaring. Engelsk PDF og valgfri historikkfil er ikke brukt eller kopiert.
- `METODE.md`, `KONTROLLRAPPORT.md`, `kontroll/`: metode, reelle kontroller og skjermbilder.

Interaktiv CSV-eksport bruker semikolon, UTF-8 med BOM og desimalpunktum. Ved import i norsk regneark velges korrekt skilletegn/desimalformat. Original-CSV-ene er UTF-16 med semikolon og er ikke skrevet om.

## Viktige begrensninger og rettigheter

Detaljfilene og rapporten har ikke identisk omfang. Det finnes ingen full dokumentert avstemmingsbro. Se metoden; ikke summer filene til «fondets verdi». Ingen handelshistorikk, egenkonstruerte avkastningsserier, valutarisikomodell eller stresstest er laget.

Kilderegisteret gjengir NBIMs begrensninger for personlig, ikke-kommersiell bruk. Eventuell publisering krever eierens vurdering av vilkårene. Ingen publiseringstillatelse eller annen godkjenning er antatt.
