Model tests · The Oil Fund as a learning resource
Claude Sonnet 5.5
Anthropic · tested 30 September 2026 · delivered
The delivery runs as the model made it. Open in a new window.

Our assessment
Our assessments were written in Norwegian; this is our English translation. Quotations from the deliveries are kept in the original Norwegian, with a translation in brackets.
- Does it work?
- 5
- Does it follow the task?
- 5
- Academic or creative quality
- 5
- Little follow-up work
- 4
- Average
- 4.75
- Honesty (not in the average)
- 5
All figures hold up when recalculated, the reconciliation against the report is tidy and honest, and the interactive part works without errors — in nine minutes and USD 1.31.
Strengths
- All key figures are correct when recalculated from the NBIM files: equities NOK 16,435.3 billion and fixed income NOK 6,087.7 billion, USA 54.5%, technology 32.1%, ten largest 20.9%, 115 companies for half the value, effective number of holdings 154, US technology 22.9% and 538 companies with a different country of incorporation.
- The report figures are correct (Table 1, the balance sheet, −427 billion from the krone exchange rate, technology 25.3%), and the return is assembled from the monthly file and checked against Table 3.1 in the code.
- Ten charts (ECharts, copied locally) that are all drawn, with value, share and denominator in the tooltips; every table and chart is labelled with the part of the fund it covers.
- Filter, search, sorting, pagination, CSV and the empty result work; Switzerland + Health Care gives 13 companies, 185.2 billion and 1.13% in both the table and the summary. Works over file:// without a network.
Weaknesses
- The page scrolls sideways on mobile (577 px of content in a 375 px width); the model itself states that mobile has not been tested.
- Country and sector names in the table and filter are left in English (the source's names).
- The check report says 9 charts; there are 10.
Assessed 30 September 2026. One attempt per task.
The run
| Model ID | claude-sonnet-5-5 |
|---|---|
| Settings | thinking: {"type":"adaptive"} · output_config: {"effort":"high"} · maxOutputTokens: 64000 · dryRun: false |
| Environment | Our runner (closed container) |
| Time | 9 min 1 s |
| Steps | 32 |
| Tokens | 2,147,285 in · 60,714 out |
| Cost at the provider | USD 1.31 |
| Ended | Delivered |
| Where data was processed | USA (Anthropic). |
| Material package | ec60361bafe00b8a |
| Human help | None |
The model's own check report
The text was written by the model in Norwegian and is reproduced unchanged, without translation.
# Kontrollrapport
## Levert og kontrollert
- `index.html` åpnet i Chromium (Playwright) over `file://`: ingen konsollfeil, alle 9 grafer og tabeller rendres.
- Fire krevde grafer: aktivafordeling hele fondet (donut), geografisk aksjefordeling (land), sektorer, 15 største aksjebeholdninger. I tillegg: konsentrasjonskurve, obligasjonstype, utstederland, eiendom/infrastruktur per land, månedlig avkastning. Alle har tooltips med verdi, andel og forklaring.
- Tabell over aksjer: søk, filter på land og sektor, sortering på alle kolonner, sidevisning, CSV-eksport av utvalget. Testet: filter på land (Canada → 149 selskaper, 2,31 % av aksjefilen), land + sektor (9), søk uten treff (tydelig «ingen treff»-melding, grafene viser «Ingen data»), nullstilling, sortering på navn og verdi, klikk på sektorsøyle setter filter.
- Filtrerte grafer, nøkkelkort og tabell bruker samme `filtered`-array i `app.js`. Konsentrasjonsgrafen og funntall bruker alltid hele aksjefilen, og er merket slik. Hele-fondet-seksjonen er skilt fra aksjeutvalget.
- Ord i analysetekst (uten tabeller, nav, filterkontroller): ca. 1 470, under grensen på 1 500 (målt med Playwright `innerText`).
- Tall i teksten genereres fra de samme beregningene som tabellene (plassholdere i malen), så tekst og data er konsistente.
- Avkastningskontroll: månedstall sammensatt stemmer med NBIM tabell 3.1 (fond 9,44; aksjer 12,95; renter 0,88; eiendom 3,01; infrastruktur −0,19).
- Sektortall i filen vs. note 5.1: avvik −0,19 til −1,42 %.
## Sentrale avvik (ikke tvunget)
- Aksjefil 16 435,3 mrd. vs tabell 1: 16 358 (+0,5 %) og balanse 16 505,1 (−0,4 %).
- Rentefil 6 087,7 mrd. vs tabell 1: 5 860 (+3,9 %) og balanse 6 096,9 (−0,15 %).
- Eiendom stemmer med balansen; infrastruktur −33 mill. kr mot balansen (tabell 9 inkluderer bankinnskudd).
- Årsakene er ikke dokumentert i kildene og er ikke gjettet i rapporten.
## Kjente mangler og forenklinger
- Ingen historikk per selskap, ingen handelsstrømmer, ingen inntekts-/valutaeksponering (finnes ikke i filene).
- Renter: bare utstedernivå; durasjon, rating og løpetid kan ikke analyseres. Eiendom/infrastruktur: bare landtotaler, ikke verdi per objekt.
- Sektorfiguren i rapporten (avkastning og andel per sektor) er lest fra PDF-tekst uten visuell kontroll av siden (ingen PDF-renderer tilgjengelig). Rekkefølgen «avkastning, andel» er tolket og støttes av at andelene stemmer med filen innenfor 0,1 pp. Andelene summerer til 100,5 % i figuren; uforklart.
- Tall fra PDF (tabell 1, balanse, note 5.1, tabell 3.1) er skrevet inn manuelt i koden; tabell 1, balanse og tabell 7/9 er i tillegg oppgitt i `kilder.md` fra pakken. Note 5.1 og sektorfiguren ble hentet fra PDF-teksten ved uttrekk.
- Kun engelsk PDF ble brukt til uttrekk; norsk PDF ble ikke lest (teksten er kodet likt, men ikke kontrollert).
- Sektorklassifisering følger NBIM (f.eks. Samsung som telekom). Landnavn og sektornavn i tabell/filter er kildens engelske navn; grafene bruker norske sektornavn.
- Risikobetraktningene er min tolkning og er merket slik; de er ikke kvantitative modeller.
- Bruksvilkår: NBIMs innhold kan ha begrensninger for gjengivelse; eieren må vurdere publisering (se kilder.md i pakken).
- Kun testet i Chromium; ikke testet i Firefox/Safari eller på mobil.
## Verktøy brukt
Python 3 (pandas, numpy, openpyxl) til beregning, Apache ECharts 5.6.0 til grafer, vanlig HTML/CSS/JS, Playwright (Chromium) og `skjermbilde` til kontroll, et eget Python-script for PDF-tekstuttrekk (ingen PDF-bibliotek fantes).