How it works
The rules are fixed. The AI advises. Nothing is hidden.
The portfolio invests exclusively in stocks listed on Oslo Børs. The eligible universe is maintained in a database table and can be updated without code changes. The universe currently covers 15 liquid large-cap stocks across seven sectors.
No stock is hardcoded. If a stock is delisted or marked inactive, it is excluded from the next rebalance automatically.
Three strategies run in parallel from the same starting capital, scoring the same universe with the same AI call each day. They differ only in how they translate scores into a target allocation.
| AI Momentum | Score-weighted — positions sized proportionally to each stock's AI score. Higher scores get larger allocations, subject to the position-size caps. |
| AI Equal Weight | The same top-ranked stocks as Momentum, but every position receives an equal share of capital. Scores determine which stocks are included, not how much of each. |
| AI Concentrated | The five highest-scoring stocks only, score-weighted. Higher conviction, higher single-stock risk. |
These limits are enforced by the construction algorithm and cannot be overridden — not even by the AI. The position count limit varies by strategy.
| Starting capital | 1,000,000 NOK per strategy |
| Number of positions | 8–15 (Momentum & Equal Weight) / 5 (Concentrated) |
| Max position size | 20% of portfolio |
| Min position size | 3% of portfolio |
| Max sector exposure | 40% of portfolio |
| Max cash (post ramp-up) | 30% of portfolio |
The portfolio is reviewed once per day. Any rebalancing decision made at the end of day T is executed at the open of day T+1. There is no intraday trading.
Rebalancing is minimal by design — the algorithm only generates trades when the current allocation differs meaningfully from the target, to avoid unnecessary churn.
All trades carry a realistic cost load to make the simulation credible. Costs are stored explicitly on each trade so historical reconstruction is exact regardless of future config changes.
| Transaction cost | 0.05% of gross trade value |
| Slippage | 0.10% of gross trade value |
| Total per trade | 0.15% of gross trade value |
The AI is strictly advisory. It scores each stock in the universe from 0 to 100 and provides a short thesis. Those scores are one input into the construction algorithm — nothing more.
The AI cannot directly allocate capital, execute trades, or override any constraint listed above. If the AI gives a high score to a stock that would breach the sector cap, the algorithm simply allocates less of it (or none).
| AI can do | Score stocks 0–100, write a short thesis, generate daily commentary |
| AI cannot do | Allocate capital, execute trades, bypass any hard constraint |
| Model | Claude (Anthropic) — scores refreshed daily before market open |
Each day the algorithm runs in this order:
Performance is measured against the Oslo Børs All Share Index (OSEAX), fetched daily from Yahoo Finance. Daily values are stored alongside portfolio snapshots so the comparison remains accurate over time.
This portfolio is entirely fictional. No real money is invested. Nothing on this site constitutes financial advice.