Lagerprincippet Futures Tax: Unrealised Gains in Denmark
Denmark values your financial contracts on 31 December and taxes the change, whether or not you closed anything. That one rule reshapes how a Danish futures trader plans the year.
General information about tax rules, not tax or legal advice. Rules change and every situation is different: check with a qualified adviser in your country before you file.
It is 2 January. You have not withdrawn a krone from your trading account, you have one position still open that you intend to hold into February, and you are already sitting on a tax bill for last year. Not on the profits you took. On the position you did not close.
That is lagerprincippet, and it is the single rule that separates Danish futures traders from almost everyone else in Europe. Skattestyrelsen does not wait for you to realise anything. Every 31 December it takes a snapshot, values your financial contracts, and taxes the change in value over the year as if you had closed everything and opened it again the next morning.
Most traders meet this rule the hard way, which is in March, on the årsopgørelse, when a number appears that does not match anything in their head. The rule itself is not unfair. It is arguably more logical than the alternative. But it changes how you size positions in December, how you plan cash, how you handle a losing year, and what you tell your accountant.
This article covers the whole of it: what counts as a financial contract, how the year is actually calculated, why losses on these contracts fit into one very narrow hole, which boxes on the oplysningsskema you use, and how to stop the whole thing from turning into an unexpected restskat with interest attached.
What the 31 December snapshot actually does
Skat states it plainly: with financial contracts you pay tax each year on the increase in value, even if you have not realised the gain. Gains and losses are worked out as the difference between the value of the contract at the start of the year and its value at the end of the year. For a contract you both opened and closed inside the same year, it is simply the difference between what you paid and what you got.
Three things follow immediately.
- Holding does not defer anything. Carrying a winning position into January does not postpone the tax. It moves the taxable event to 31 December of the year you are already in.
- A gain can reverse and you still paid for it. If a position is up on 31 December and gives it all back in February, you were taxed on a profit you never received. You get relief the following year, in the following year's calculation, not retroactively.
- There is no long term versus short term. Holding period is irrelevant. There is no equivalent of a time test to wait out.
For a day trader who is flat every night, lagerprincippet is close to invisible. Everything you did was realised anyway, so the snapshot finds nothing open. For a swing trader carrying positions across the new year, it is the defining rule of the whole tax year, and it deserves to be part of your December planning rather than a March surprise.
Which of your positions counts as a financial contract
The category is broad. Futures, forwards, options and similar instruments whose value derives from something else generally fall inside it, and that includes the CME contracts most Danish traders use: equity index futures, energy, metals, the micro versions of all of them.
Gains on financial contracts are treated as capital income, kapitalindkomst, which means they are taxed alongside your other income under the ordinary rules rather than in a separate flat bucket. What you actually pay therefore depends on your municipality, your other income and where you sit relative to the top bracket thresholds. Because those thresholds and the structure of Danish income tax have moved more than once in recent years, look up the current numbers at skat.dk rather than trusting a percentage you half remember.
Two boundary cases are worth flagging, because both come up constantly:
- Shares are not financial contracts. If you also hold ordinary listed shares, those sit under a different regime with different rates and different loss rules. Do not merge the two in your records.
- Structured products and certificates need checking. Some retail products that look like a share behave, for tax purposes, like a contract. If you hold anything that is not a plain share, a plain fund or a plain exchange traded future, ask before you assume.
Working out the year, line by line
The calculation is mechanical once you have the right inputs. For each contract:
- If it was open at the start of the year and open at the end, take the value on 31 December minus the value on 1 January.
- If it was opened during the year and still open at year end, take the year end value minus what you paid.
- If it was opened and closed inside the year, take the ordinary realised result.
- If it was open at the start and closed during the year, take the closing result minus the value at 1 January.
Then you sum the contracts to get a net figure for the year. That net figure is what goes on the return, not a list of individual trades.
For a futures account this is easier than it sounds, because a futures broker already marks your positions to market every single day. The equity in your account on 31 December, adjusted for deposits and withdrawals, is very close to what the rule is asking for. What you must be able to do is show the working: the account value at both ends of the year, every deposit, every withdrawal, and the currency conversions.
Commissions, exchange fees and clearing fees paid on those contracts reduce the result. Keep them separated in your records rather than trusting a net figure the platform shows you, because if anything is ever queried you will be asked to break it down.
Losses that only fit one hole
Here is the part that catches people who had a bad year and expected the tax system to soften it.
Losses on financial contracts are source restricted, kildeartsbegrænset. A loss can be deducted only to the extent that it does not exceed taxable net gains on financial contracts that you have previously declared, going back to the 2002 income year. Whatever is left cannot be set against your salary, your rental income or your share gains. It is carried forward and waits for future gains on financial contracts.
Read that again if you are in your first year. It means a beginner who loses money on futures before ever making any gets no relief at all in that year. The loss is not lost, but it is parked. It only becomes worth something when you produce net gains on financial contracts later.
The practical implications:
- Declare the loss anyway. A carry forward has to be registered to exist. Silence in a losing year costs you the deduction later.
- Track the balance yourself. Keep a running note of the unused loss by year. Skattestyrelsen holds the figure too, but you should be able to reconcile it.
- Keep contract types separate. The rules distinguish between general financial contracts and those built on shares, and only the second kind can, under conditions, reach across to share gains. This distinction has its own boxes on the return.
The boxes on the oplysningsskema
Practical detail, because this is where most people give up and guess. Skat's own guidance on financial contracts points to a specific set of boxes:
- 346 for net gains on financial contracts.
- 434 where the contract is issued abroad, used instead of 346.
- 85 for the carried forward loss balance on general financial contracts.
- 86 for the carried forward loss balance on share based contracts, the ones that may under conditions be set against share gains.
- 87 for the election about how a loss is used, including transferring it to a spouse.
- 88 where you are offsetting part of a loss, which requires the accompanying form.
Box numbers do change between years, so check the current guide in E-tax before you file rather than copying the list above blindly. The important thing is knowing that the loss balance is reported separately from the year's result, and that failing to fill in the balance boxes is how carry forwards quietly disappear.
If your contracts are with a foreign broker, and for CME futures they almost certainly are, be prepared for the foreign box and for the question of documentation. There is no Danish reporting to lean on. You supply the numbers and you keep the evidence.
Cash flow, forskudsopgørelse and why December stings
Lagerprincippet creates a cash flow problem that a realisation based system does not: tax on money you have not taken out.
Two habits fix it. The first is to update your forskudsopgørelse, the preliminary income assessment, when you know you are having a good year. Adding the expected capital income there means the tax is collected during the year rather than landing as a restskat afterwards, and a restskat above the free amount carries an interest surcharge. The second is to hold back cash. If your account is up meaningfully going into December, assume a chunk of that increase belongs to Skattestyrelsen and do not put it back into position size.
There is a strategic question too, and it deserves an honest answer rather than a clever one. Some traders reduce or close positions before year end specifically to control the snapshot. That is legitimate in the sense that you are free to choose when you hold risk. It is also a bad reason to exit a trade that your method says to hold. Do not let a tax date make your trading decisions. Let it inform your position sizing in the last week of the year, which is a much smaller intrusion.
The Danish filing calendar is straightforward: the standard deadline for the oplysningsskema is 1 May, and taxpayers who have to file the extended version, which includes many people with foreign income, get until 1 July. Check which one applies to you in E-tax rather than assuming.
Dollars into kroner, and the records nobody keeps
Your contracts settle in dollars. Your return is in kroner. That conversion is part of the calculation, not an afterthought, and it applies at both ends of the lagerprincippet snapshot.
What you need on file, every year, without exception:
- The account statement showing the value at the start and the end of the year.
- Every deposit and withdrawal with its date and amount, because these are not gains and must be stripped out of the year on year change.
- The exchange rates used, on a consistent and defensible basis you can explain.
- Commissions, exchange fees and clearing fees, separately from the trading result.
- Invoices and payment records for platform licences, market data and any system you bought, kept with the year they relate to.
Download the statements monthly. Brokers change platforms, close old portals and lose history, and reconstructing a year from memory when the download link no longer works is a genuinely miserable weekend.
Chicago hours on a Danish clock
Denmark sits seven hours ahead of Chicago for most of the year, which puts the American session in a very workable part of your day.
CME Globex runs the equity index week from Sunday at 17:00 Chicago time through to Friday at 16:00, with a one hour halt every day beginning at 16:00 Chicago time. Translated to Danish time, the week opens around midnight on Sunday night, the daily pause falls between 23:00 and midnight, and the week ends around 23:00 on Friday.
The hour that matters for most methods is the US cash open, which in Denmark is 15:30, with the American equity cash close at 22:00. That is an afternoon session, not a night shift. You can hold a normal job, be at a screen by three, and be finished long before the day is over.
Watch the clock changes. The United States and the European Union do not switch on the same dates, so for roughly three weeks in March and for a shorter stretch at the end of October the gap is six hours and the cash open arrives at 14:30 Danish time. Every year traders show up an hour late to the most important part of the session. Put both dates in your calendar today.
Do three things this week and lagerprincippet stops being a problem. Write down your account value in kroner as of 1 January, so that next year's calculation starts from a number you already have. Set a reminder for the second week of December to look at what you are carrying and what the snapshot would produce. And check your forskudsopgørelse against how the year has actually gone.
Then leave the tax rule where it belongs, in the background. It does not change which contract you trade, which setup you take or where your stop goes. It changes when you plan cash and how you size the last weeks of December. That is all.
None of this is tax advice, and the boxes, thresholds and rates on the Danish return do move. Verify the current version at skat.dk, and if you are carrying positions across a year end with real money on them, pay a revisor for an hour of their time. It is the cheapest part of this entire business.
Educational content, not investment advice. Trading futures involves substantial risk of loss and is not suitable for every investor. Any reference to Algomyth results is hypothetical, simulated over historical data, and shown in full on the performance page; past performance does not guarantee future results.
Take the seat: watch the engines live
Three specialist engines on Nasdaq, S&P and Gold, every signal streamed the moment it happens, with the stop and the target written before the trade. From $149 a month per market.