Markets desk
The Markets Desk byline covers broker analysis, EU regulation, trading-cost analysis, and risk management. Research is conducted by qualified contribu...
Credentials
- Editorial persona — FX-Brokers EU
Executive Summary
Key Findings
- Switzerland charges 0% capital gains tax on private trading.But cantonal wealth tax (0.1–1.0% of account value) and the risk of professional-dealer reclassification mean it is not unconditionally free.
- Germany’s EUR 20,000 derivative loss cap is uniquely punitive.A trader who loses EUR 100,000 in year one and gains EUR 100,000 in year two pays tax on EUR 80,000 of the gain. No other country in this comparison imposes an annual ceiling on loss deductions.
- The Netherlands taxes assumed returns, not actual profits.Box 3 levies ~2.17% on capital above EUR 57,000 regardless of performance. Profitable traders pay far less than in any other EU country; losing traders still owe tax.
- France offers the best loss carryforward:10 years with no annual cap. Italy and Spain allow 4 years. Germany’s derivative cap makes carryforward effectively multi-decade for large losses.
- At EUR 250,000 profit, the spread is enormous: from €2,000 total drag in Switzerland to €75,000in France — a €73,000 difference.
Six Tax Regimes at a Glance
These six countries represent over 70% of Western European GDP and five fundamentally different approaches to taxing investment gains. Germany and France use flat rates but differ on loss treatment. Italy adds a wealth-tax layer. Spain uses progressive tiers. The Netherlands ignores actual gains entirely. Switzerland exempts private traders but introduces reclassification risk.
| Metric | Germany | France | Italy | Spain | Netherlands | Switzerland |
|---|---|---|---|---|---|---|
| Tax authority | BZSt | DGFiP | AdE | AEAT | Belastingdienst | ESTV |
| Currency | EUR | EUR | EUR | EUR | EUR | CHF |
| Headline CGT rate | 26.375% | 30% | 26% | 19–28% | ~2.17%* | 0%* |
| Tax basis | Realised gains | Realised gains | Realised gains | Realised gains | Deemed return | N/A (exempt) |
| Loss carryforward | EUR 20k/yr cap | 10 years (no cap) | 4 years | 4 years | N/A (deemed) | N/A (exempt) |
| Wealth tax / IVAFE | None | None | 0.2% IVAFE | None | None | 0.1–1.0% |
| Social contributions | None | 17.2% CSG-CRDS | None | None | None | None |
| Investor compensation | EUR 20,000 | EUR 70,000 | EUR 20,000 | EUR 20,000 | EUR 20,000 | CHF 100,000 |
| EUR conversion cost | 0% | 0% | 0% | 0% | 0% | 0.2–0.5% |
| Filing deadline | 31 July | May–June | 30 November | 30 June | 1 May | 31 March |
| Foreign account declaration | Anlage KAP | Form 3916 (EUR 1,500 fine) | Quadro RW (no threshold) | Modelo 720 (> EUR 50k) | Box 3 declaration | Wertschriftenverzeichnis |
* Netherlands: ~2.17% is the effective rate on capital (not profit) via Box 3 deemed-return system. Switzerland: 0% for private investors meeting ESTV 5-criteria test; cantonal wealth tax applies separately.
Worked Examples: What You Actually Keep
Below are total drag calculations (income tax + wealth tax/IVAFE + conversion cost) at four profit levels. For the Netherlands, we model Box 3 on the assumption that account capital equals annual profit (conservative). For Switzerland, we include cantonal wealth tax at 0.5% (Zurich mid-range) and CHF conversion at 0.3%.
France’s 30% PFU includes the 17.2% CSG-CRDS social contribution. Italy includes 0.2% IVAFE on foreign-held assets. Germany assumes no derivative loss from a prior year.
Scenario: €25,000 Annual Forex Profit
| Country | Income Tax | Eff. Rate | Wealth Tax | Conv. Cost | Total Drag | Net Take-Home |
|---|---|---|---|---|---|---|
| 🇩🇪Germany | €6,594 | 26.4% | — | — | €6,594 | €18,406 |
| 🇫🇷France | €7,500 | 30% | — | — | €7,500 | €17,500 |
| 🇮🇹Italy | €6,500 | 26% | €50 | — | €6,550 | €18,450 |
| 🇪🇸Spain | €5,130 | 20.5% | — | — | €5,130 | €19,870 |
| 🇳🇱NetherlandsLowest | €0 | 0% | — | — | €0 | €25,000 |
| 🇨🇭Switzerland | €0 | 0% | €125 | €75 | €200 | €24,800 |
Scenario: €50,000 Annual Forex Profit
| Country | Income Tax | Eff. Rate | Wealth Tax | Conv. Cost | Total Drag | Net Take-Home |
|---|---|---|---|---|---|---|
| 🇩🇪Germany | €13,188 | 26.4% | — | — | €13,188 | €36,812 |
| 🇫🇷France | €15,000 | 30% | — | — | €15,000 | €35,000 |
| 🇮🇹Italy | €13,000 | 26% | €100 | — | €13,100 | €36,900 |
| 🇪🇸Spain | €10,380 | 20.8% | — | — | €10,380 | €39,620 |
| 🇳🇱NetherlandsLowest | €0 | 0% | — | — | €0 | €50,000 |
| 🇨🇭Switzerland | €0 | 0% | €250 | €150 | €400 | €49,600 |
Scenario: €100,000 Annual Forex Profit
| Country | Income Tax | Eff. Rate | Wealth Tax | Conv. Cost | Total Drag | Net Take-Home |
|---|---|---|---|---|---|---|
| 🇩🇪Germany | €26,375 | 26.4% | — | — | €26,375 | €73,625 |
| 🇫🇷France | €30,000 | 30% | — | — | €30,000 | €70,000 |
| 🇮🇹Italy | €26,000 | 26% | €200 | — | €26,200 | €73,800 |
| 🇪🇸Spain | €21,880 | 21.9% | — | — | €21,880 | €78,120 |
| 🇳🇱Netherlands | €935 | 0.9% | — | — | €935 | €99,065 |
| 🇨🇭SwitzerlandLowest | €0 | 0% | €500 | €300 | €800 | €99,200 |
Scenario: €250,000 Annual Forex Profit
| Country | Income Tax | Eff. Rate | Wealth Tax | Conv. Cost | Total Drag | Net Take-Home |
|---|---|---|---|---|---|---|
| 🇩🇪Germany | €65,938 | 26.4% | — | — | €65,938 | €184,062 |
| 🇫🇷France | €75,000 | 30% | — | — | €75,000 | €175,000 |
| 🇮🇹Italy | €65,000 | 26% | €500 | — | €65,500 | €184,500 |
| 🇪🇸Spain | €58,380 | 23.4% | — | — | €58,380 | €191,620 |
| 🇳🇱Netherlands | €4,197 | 1.7% | — | — | €4,197 | €245,803 |
| 🇨🇭SwitzerlandLowest | €0 | 0% | €1,250 | €750 | €2,000 | €248,000 |
Germany’s EUR 20,000 Derivative Loss Cap: The Hidden Penalty
Since 1 January 2021, German tax law (§20 Abs. 6 Satz 5 EStG) caps deductible losses from “Termingeschäfte” (derivatives including CFDs, options, and futures) at EUR 20,000 per year. Excess losses carry forward indefinitely but can only offset EUR 20,000 per year against future derivative gains.
This creates an asymmetric tax structure that penalises volatile strategies. The cap does not apply to losses on spot forex, shares, or other non-derivative instruments — but most retail forex trading in Europe is conducted via CFDs, which are classified as derivatives.
Worked Example: EUR 100,000 Loss in Year 1, EUR 100,000 Gain in Year 2
Germany:Year 1 loss: only EUR 20,000 deductible. EUR 80,000 carries forward. Year 2: EUR 100,000 gain minus EUR 20,000 deduction = EUR 80,000 taxable. Tax: €21,100. Net over two years: €21,100tax on zero net profit. The remaining EUR 60,000 loss carries forward but can only offset EUR 20,000/year for the next 3+ years.
France:Full EUR 100,000 loss offsets Year 2 gain. Taxable: EUR 0. Tax: EUR 0. The 10-year carryforward with no cap means the loss is fully absorbed in Year 2.
Italy:Full EUR 100,000 loss offsets Year 2 gain (within 4-year window). Taxable: EUR 0. Tax: EUR 0.
Spain:Full EUR 100,000 loss offsets Year 2 gain (within 4-year window). Taxable: EUR 0. Tax: EUR 0.
Germany’s two-year cost: €21,100on zero net profit. Every other country: EUR 0. This is the single most important difference for active traders considering German tax residency.
The Netherlands Box 3: Taxing What You Might Have Earned
The Dutch tax system does not tax actual capital gains. Instead, Box 3 (“inkomen uit sparen en beleggen”) levies a flat 36% rate on a deemed returncalculated from your net asset composition as of 1 January.
For 2026, the deemed return rates are:
| Asset Class | Deemed Return | Effective Tax on Capital |
|---|---|---|
| Savings (bank deposits) | 1.03% | 0.37% |
| Other investments (incl. broker accounts) | 6.04% | 2.17% |
| Debts (deductible) | 2.47% | −0.89% |
When Box 3 Works For You (and Against You)
Profitable trader (50% annual return):On EUR 100,000 capital earning EUR 50,000, Box 3 tax is approximately EUR 935 (on capital above EUR 57,000 threshold). Effective rate on profit: 1.9%. Compare to Germany at 26.375% or France at 30%.
Break-even trader (0% return):On EUR 100,000 capital with zero profit, Box 3 tax is still approximately EUR 935. You owe tax despite earning nothing.
Losing trader (−20% return):On EUR 100,000 capital losing EUR 20,000, Box 3 tax is still approximately EUR 935. You owe tax on top of your losses. No other country in this comparison charges tax on losing years.
The Hoge Raad (Dutch Supreme Court) ruled in December 2021 that the old Box 3 system violates Article 1 of Protocol 1 of the European Convention on Human Rights. A transition to actual-returns taxation is legislatively planned but not yet implemented for tax year 2026. Traders can file an objection (bezwaar) with each return.
Loss Carryforward: The Multi-Year Cost Multiplier
Loss carryforward determines how much of a bad year you can recoup against future gains. For volatile strategies, this is often more consequential than the headline tax rate.
| Country | Period | Annual Cap | Offset Category | Key Restriction |
|---|---|---|---|---|
| Germany | Indefinite | EUR 20,000/yr | Derivative gains only | Cap applies per taxpayer, not per account |
| France | 10 years | None | Same-category gains | Losses from securities disposals only |
| Italy | 4 years | None | Redditi diversi (miscellaneous income) | Regime amministrato handles automatically |
| Spain | 4 years | None | Savings income base (base del ahorro) | Full offset against same-base gains |
| Netherlands | N/A | N/A | N/A | Box 3 taxes capital, not gains; no loss concept |
| Switzerland | N/A | N/A | N/A | 0% rate means no loss offset needed (private traders) |
Worked Example: EUR 80,000 Loss in Year 1, EUR 80,000 Gain in Year 2
Germany:Year 2 taxable = EUR 80,000 − EUR 20,000 cap = EUR 60,000. Tax: €15,825. Remaining EUR 60,000 loss carries forward at EUR 20,000/year for 3 more years.
France:Full offset. Taxable: EUR 0. Tax: EUR 0. Ten years to use any remainder (none needed here).
Italy:Full offset within 4-year window. Taxable: EUR 0. Tax: EUR 0. (Plus €160 IVAFE in each year if held abroad.)
Spain:Full offset within 4-year window. Taxable: EUR 0. Tax: EUR 0.
Germany’s two-year cost on zero net profit: €15,825. France, Italy, Spain: EUR 0. The derivative loss cap is the single factor that can make Germany the most expensive jurisdiction in this comparison for volatile traders.
Switzerland: 0% Tax — With Conditions
Switzerland does not tax capital gains from private securities trading. But “private” has a specific legal meaning defined by the ESTV (Federal Tax Administration) in Kreisschreiben Nr. 36. Five criteria determine whether a trader qualifies:
| # | Criterion | Safe Harbour | CFD/Forex Risk |
|---|---|---|---|
| 1 | Holding period | Average > 6 months | High risk — CFD trades typically last minutes to days |
| 2 | Portfolio turnover | < 5× total portfolio value/year | High risk — active traders easily exceed 5× |
| 3 | Income ratio | Gains < 50% of net income | High risk if trading is primary income |
| 4 | Leverage | No leverage beyond standard margin | Moderate risk — CFD leverage is inherent |
| 5 | Derivatives use | Hedging only | High risk — speculative CFD trading fails this |
Professional reclassification subjects trading income to cantonal self-employment tax at 12–35% (Zug: ~12%, Zurich: ~24%, Geneva: ~35%) plus AHV/IV social contributions of ~10%. The effective rate can exceed any other country in this comparison.
Regardless of classification, all Swiss residents pay cantonal wealth tax on their brokerage balance. Rates range from 0.1% (Zug, Schwyz) to 1.0% (Geneva, Vaud) of net assets. On a EUR 250,000 account, that is EUR 250 to EUR 2,500 per year.
Professional Trader Classification Across All Six
Every country in this comparison has some mechanism for reclassifying frequent traders as professionals. The consequences and thresholds vary:
| Country | Reclassification Risk | Consequence |
|---|---|---|
| Germany | Low | Gewerbesteuer (trade tax ~15%) + progressive income tax. Rare for pure trading. |
| France | Low–moderate | BNC (non-commercial profits) regime; progressive income tax + full social charges (~45%). |
| Italy | Low | Redditi d’impresa. Very rare for personal trading via regulated broker. |
| Spain | Low | Actividad económica; RETA self-employment contributions (~EUR 300/mo min). |
| Netherlands | Low | Box 1 (work income) instead of Box 3; progressive rates up to 49.5%. |
| Switzerland | High | Cantonal self-employment tax (12–35%) + AHV/IV social contributions (~10%). |
Filing Requirements
| Country | Tax Return | Deadline | Foreign Account | Automatic Withholding |
|---|---|---|---|---|
| Germany | Einkommensteuererklärung + Anlage KAP | 31 July (28 Feb if tax adviser) | Anlage KAP (voluntary if withholding sufficient) | Yes (German brokers) |
| France | Déclaration des revenus (2042 + 2074) | May–June (zone-dependent) | Form 3916 (EUR 1,500/account/yr penalty) | Partial (12.8% acompte on French accounts) |
| Italy | Modello Redditi PF + Quadro RT + Quadro RW | 30 November | Quadro RW (no minimum threshold) | Yes (regime amministrato, Italian brokers) |
| Spain | Declaración de la Renta (IRPF) | 30 June | Modelo 720 (> EUR 50,000) | No (self-assessed) |
| Netherlands | Aangifte inkomstenbelasting | 1 May | Box 3 asset declaration (1 Jan value) | Simplest: declare value, not trades |
| Switzerland | Steuererklärung + Wertschriftenverzeichnis | 31 March (cantonal variation) | Securities register (all accounts) | No (self-assessed; 0% = no tax to withhold) |
Verdict: Best Country by Trader Profile
Consistently Profitable Trader
Switzerlandwins — if you meet the ESTV criteria. 0% CGT on gains, with only 0.1–1.0% wealth tax on capital. For traders with separate employment income covering > 50% of household earnings, the criteria are usually satisfied.
High-Return Active Trader
Netherlandsis paradoxically attractive. If your returns significantly exceed the 6.04% deemed return, Box 3’s ~2.17% effective rate on capital is far below Germany’s 26.375% or France’s 30% on actual gains.
Volatile Strategy (Large Drawdowns)
France offers the best loss protection: 10-year carryforward with no annual cap. Italy and Spain (4 years, no cap) are acceptable. Avoid Germany— the EUR 20,000 derivative loss cap makes volatile strategies structurally penalised.
Small Account / Casual Trader
Netherlandsagain — the EUR 57,000 tax-free threshold means accounts below this pay zero tax. In every other country, the first euro of profit is taxable. Spain’s 19% on the first EUR 6,000 is the lowest headline EU rate for small gains.
Simplest Filing
Germany (with a German broker: automatic withholding, no filing needed) or Netherlands(declare account value once, no trade-by-trade reporting). Italy via a foreign broker is the most complex (Quadro RW + Quadro RT + IVAFE calculation).
Highest Investor Protection
Switzerlandat CHF 100,000 per bank (esisuisse privileged deposits). Franceat EUR 70,000 (FGDR). Germany, Italy, Spain, and the Netherlands all apply the EU minimum of EUR 20,000.
How Western Europe Compares to V4 and Nordic Countries
For traders choosing between regions, the key differences are:
- Western Europe vs V4:Western rates are generally higher (26–30% vs 15–19%), but Switzerland’s 0% and Netherlands’ Box 3 break the pattern. V4 countries face currency conversion costs (except Slovakia); all five EU members here use EUR.
- Western Europe vs Nordics:Comparable headline rates (22–42% Nordic vs 0–30% Western). Norway’s 22% flat rate undercuts most Western countries. Denmark’s mark-to-market (lagerprincippet) system and Sweden’s 70% asymmetric loss deduction add Nordic-specific complexity.
- Lowest overall:Switzerland 0% (conditional) > Netherlands ~2.17% (on capital) > Czech Republic 15% (flat, V4) > Norway 22% (flat, Nordic).
Methodology
Tax rates, loss carryforward rules, and filing requirements are sourced from the official publications of each country’s tax authority as of June 2026:
- Germany: Bundeszentralamt für Steuern (BZSt), EStG §20, §20 Abs. 6
- France: Direction Générale des Finances Publiques (DGFiP), CGI Art. 200 A
- Italy: Agenzia delle Entrate (AdE), TUIR Art. 67, DL 167/1990 (Quadro RW)
- Spain: Agencia Estatal de Administración Tributaria (AEAT), LIRPF Art. 46
- Netherlands: Belastingdienst, Wet inkomstenbelasting 2001, Box 3
- Switzerland: Eidgenössische Steuerverwaltung (ESTV), Kreisschreiben Nr. 36, DBG Art. 16
All tax calculations assume: EU/EFTA-regulated broker, personal (non-business) trading, tax-resident individual, no other capital gains income, and profits denominated in EUR (CHF for Switzerland with 0.3% conversion cost). Netherlands Box 3 modelled with account capital equal to annual profit (conservative assumption). IVAFE for Italy calculated at 0.2% of account value. Swiss wealth tax at 0.5% (Zürich mid-range).