User guides

Trade simulator

Simulate sells and buys — and see the tax bill before you trade

How the trade simulator works: free-form what-if plans, tax-optimized rebalancing suggestions, what the simulator does and does not take into account.

The trade simulator answers a deceptively hard question: if I make these trades, what happens — to my allocation, and to my taxes? You compose a plan of sells and buys, and the simulator continuously shows the consequences: estimated additional tax this year (using the same rules as the tax overview), your allocation before and after, and the cash flow per account. Nothing is saved and no orders are placed — it is purely a what-if tool.

It can also do the composing for you: ask it to suggest rebalancing trades, and it generates a plan that brings your asset groups back toward their targets while paying as little additional tax this year as possible.

Opening the simulator

The portfolio view’s toolbar has two entry points (available for today’s date only, since tax estimation is defined as “if sold today”):

  • Trade simulator opens with an empty plan, for free-form simulation.
  • Rebalance… opens with a suggested rebalancing plan for the current perspective. If no group is outside its tolerance, you are asked how to rebalance instead.

The simulator works on the current perspective — its asset groups, targets, and tolerances define what “rebalancing” means.

The rebalancing suggestion

Suggest rebalancing trades… asks two questions:

  • Which groups? Only groups outside their tolerance band, or every group that is off target.
  • How far? All the way to target, or only back inside the tolerance band — fewer and smaller trades, less tax, at the cost of staying near the edge of the band.

The generated plan sells where it costs the least tax this year, in order of preference:

  1. Pension and lager-taxed holdings (ASK, positivliste ETFs) — taxed annually on unrealized gains whether you sell or not, so selling triggers no extra tax.
  2. Cash in overweight cash groups — spending cash is free.
  3. Positions with unrealized losses — a realized loss offsets gains in the same tax pool, or grows your carry-forward.
  4. Gains covered by carry-forward losses from previous years.
  5. Aktieindkomst gains within your progression threshold (low rate) before gains above it, and before kapital/personlig income at your marginal rates.

The calculation uses your actual year-to-date tax situation: realized gains and losses so far, carry-forward pools per income type (with ASK and speculative income isolated), the progression threshold, and the legally mandated cost basis methods — average acquisition cost (GAK) for stocks, strict FIFO lot order for crypto and speculative positions.

The plan is executable. Pension accounts only rebalance internally (money cannot leave), deposits into an aktiesparekonto are capped by the estimated indskudsloft headroom, cash moves between account pools appear as explicit transfer lines, and instrument quantities are whole units. Groups inside their tolerance are only touched as a funding source or sink, and never pushed past their own target.

Adjusting the plan

Every line can be edited — amounts and quantities edit together, and instruments snap to whole units. You can swap a trade to another asset held in the group, search for a new instrument, add your own sells and buys, or remove lines. All consequence panels update after every change, and warnings flag anything that needs your attention: figures based on incomplete cost-basis data, ASK headroom estimates, buys exceeding available cash, and deviations that cannot be fixed within the account constraints.

What the simulator does not do

Knowing the tool’s limits matters as much as knowing its features:

  • It does not place orders or save anything. The plan is a piece of analysis, not an instruction to anyone.
  • It ignores transaction costs and spread. For small trades, brokerage minimums and spread can easily outweigh the tax it so carefully optimizes. Sanity-check small lines.
  • It does not model how buys affect your future GAK. Buying more of a stock you already own changes the average acquisition cost that future sales will be taxed against.
  • It optimizes this tax year only. Deferring a gain has value beyond December 31 — and realizing a gain now at the low aktie rate may beat realizing it later at the high rate. Multi-year planning is yours to do; the simulator only shows the current year.
  • It cannot hit targets exactly. Whole-unit quantities and compartment constraints leave residual deviations — flagged, not hidden.
  • The ASK deposit headroom is an estimate. The statutory test is based on the account value at the previous year-end; verify with your bank before depositing.
  • It only knows this portfolio. Cash and holdings outside the perspective’s accounts, and your plans for them, are invisible to it.

Don’t follow the suggestion blindly

The suggestion minimizes one number: additional tax this year. That is a useful default, but it is not the same as the best trade for you:

  • It will happily sell the position you believe in most, simply because it is the cheapest to sell. The optimizer has no opinion about expected returns — you do.
  • Tax is usually a second-order concern. Rebalancing exists to control risk through discipline; paying some tax to maintain your target allocation is often the right trade-off, as discussed in Rebalancing in practice — discipline first, taxes second.
  • Danish realisation taxation genuinely changes the math of classic rebalancing — see Rebalancing vs. Danish taxation for why, and What is rebalancing for the fundamentals.
  • The quality of the tax figures depends on the quality of your transaction data. Lines based on assumed-zero cost basis carry a warning — fix the data before trusting the number.

Treat the suggestion as a well-informed first draft: the tax math is done for you, and the trade-offs are visible. The judgment is still yours. Estimates are not tax or investment advice.