Skip to content
Euro Firm Ledger
Directory

ESMA Product Intervention Rts27 Rts28

ESMA Standardized Dynamic Retail CFD Loss-Percentage Warnings: Annex III Calculation & Formatting

Every reader browsing a regulated European multi-asset website sees that unmistakable boxed banner—"74% of retail investor accounts lose money when trading CFDs with this provider." Here is the exact Annex III math behind it.

By Lukas Lindqvist, CEFAReview not recorded · Updated
ESMA Standardized Dynamic Retail CFD Loss-Percentage Warnings: Annex III Calculation & Formatting — Euro Firm Ledger 2026 quantitative & supervisory data card
Euro Firm Ledger (ESMA Retail CFD Intervention, Elective Professional Criteria & MiFIR Review): Quarterly 12-month retail CFD loss SQL formulas, dormant-account exclusions, and bold CSS box rules.Source: Euro Firm Ledger Institutional Research DeskLicense: CC-BY-4.0

Before August 2018, European CFD banners carried vague generic boilerplate ("Trading involves risk") that eye-tracking studies proved 94% of retail consumers ignored completely. In Article 2(e) and Annex III of ESMA Decision (EU) 2018/796—now enforced permanently by CySEC, BaFin, AMF, CONSOB, and AFM—European regulators mandated one of the sharpest behavioral-economics disclosures in global finance: every CFD provider must calculate every 3 months the exact percentage of its own retail CFD accounts that lost money over the preceding 12 months and display that exact number inside a mandatory high-contrast header/banner template!

Within our ESMA CFD & MiFIR Review master guide and the ESMA conduct hub, compliance and frontend teams at EEA brokers (CAPEX.com, Colmex Pro, 1Market) must follow Annex III Sections A–C and ESMA Q&A 5.12–5.19 to the pixel and decimal!

Three Statutory Warning Templates Under ESMA Annex III (Durable, Reduced & Standard Generic)#

Never write freehand paraphrase text! Annex III of ESMA Decision 2018/796 dictates the exact verbatim wording across three communication formats (translated verbatim into the official language of every passported EU host state!):

Communication Channel (Annex III)Exact Mandatory Statutory Text (Verbatim Template)When Used
Section A: Durable Medium & Webpage Standard Warning (Desktop/Mobile Header, Landing Pages, Emails, PDFs)"CFDs are complex instruments and come with a high risk of losing money rapidly due to leverage. [insert percentage per provider]% of retail investor accounts lose money when trading CFDs with this provider.* You should consider whether you understand how CFDs work and whether you can afford to take the high risk of losing your money."*Every website page, onboarding flow, client email, and PDF brochure
Section B: Reduced Character-Limit Digital Warning (Mobile Banner Ads, Google Search Ads, Social Posts)"[insert percentage per provider]% of retail investor accounts lose money when trading CFDs with this provider.* You should consider whether you can afford to take the high risk of losing your money."* (Abbreviated micro-banner: "[X]% of retail CFD accounts lose money")Strictly character-constrained digital ad placements (with direct click-through to full warning!)
Section C: Newly Authorized / Zero-Trade Provider Generic Warning (< 12m or zero active retail CFD trades)"CFDs are complex instruments and come with a high risk of losing money rapidly due to leverage. Between 74-89 % of retail investor accounts lose money when trading CFDs.* You should consider whether you understand how CFDs work..."*ONLY when the CIF executed zero trades for retail CFD accounts in the prior 12-month calculation window!
Quarterly ESMA Annex III SQL calculation pipeline computing the exact 12-month retail CFD account loss percentage and updating all web and ad banners
Quarterly ESMA Annex III SQL calculation pipeline computing the exact 12-month retail CFD account loss percentage and updating all web and ad bannersVerified Exhibit

Four SQL Manipulation Tricks Explicitly Caught and Sanctioned by NCAs!#

Why can't an unethical broker artificially lower its published loss statistic from 79% down to 48% to look superior on comparison tables? Because Annex III Paragraph 2–6 and ESMA Q&A 5.13–5.16 closed every mathematical denominator-stuffing trick:

  1. Dormant & Unfunded Accounts MUST Be Excluded from the Denominator (Annex III Para. 4): You cannot include 50,000 sign-ups who never placed a trade (who had EUR 0 loss!) to dilute your denominator! An account enters the denominator ONLY IF at least one CFD trade was opened, held open, or closed during the 12-month calculation period!
  2. Unrealized Floating Losses on Open Trades MUST Be Included (Annex III Para. 3): Some traders hold losing positions open for months refusing to realize losses ("disposition effect"). The calculation must sum BOTH realized P&L on closed CFDs AND change in unrealized mark-to-market P&L on open CFDs between the start and end of the 12-month window!
  3. Every Single Fee, Financing Swap & FX Conversion Cost MUST Be Deducted (Annex III Para. 2): You cannot compute "gross trade P&L before overnight swaps"—all commissions, spread costs, overnight financing charges, guaranteed-stop fees, and CFD currency-conversion fees must be subtracted!
  4. Non-CFD Gains (Cash Equities, Dividends on Real Shares, Deposit Interest) CANNOT Offset CFD Losses!: On multi-asset platforms (like CAPEX.com or Bitpanda), if a client made +EUR 800 on unleveraged Apple shares or ECB cash interest while losing -EUR 150 trading Gold CFDs, that account counts as a LOSING retail CFD account!

Exact Annex III SQL / Mathematical Specification & Visual CSS Standards#

Implement the exact ESMA Annex III Paragraph 2–5 Cohort Equation and verify your frontend CSS rules:

Formula or model from the articleNot independently verified
ESMA_Annex_III_Quarterly_Retail_CFD_Loss_Percentage_Formula:
  • Let Window W = [Tquarterend - 12Months, Tquarter_end]
  • EligibleRetailAccountSet (SW):
  • Account i in S_W IFF:
  • (ClientCategoryi == RETAIL during W)
  • AND (CountOfOpenOrExecutedCFDPositions(i, W) >= 1)
  • ForEachAccount i in SW, ComputeAllIn12mNetCFDProfitLoss (NetPnLi,W):
  • NetPnLi,W = RealizedClosedCFD_PnL(i, W)
  • + (UnrealizedOpenCFDPnL(i, Tend) - UnrealizedOpenCFDPnL(i, Tstart))
  • TotalCFDOvernightSwapsCommissionsGSLOAndFXFees(i, W)
  • PublishedLossPercentage (L_pct):
  • Lpct = Round( 100 * ( Count({ i in SW : NetPnLi,W < 0.00 }) / Count(S_W) ) )
  • Worked Multi-Asset CIF Quarterly Recalculation Audit:
  • Total Registered Retail Users = 140,000 | Active Cash-Equity-Only Users = 92,000 (Excluded!)
  • Dormant Zero-Trade CFD Accounts = 33,000 (Excluded!) -> True Active CFD Denominator |S_W| = 15,000 Accounts
  • Gross Winning Before Swaps = 4,650 | Flipped to Net Loss After Overnight Swaps & FX Fees = -930 Accounts!
  • Net Winning/Flat Accounts (NetPnL >= 0) = 3,720 (24.8%) | Net Losing Accounts (NetPnL < 0) = 11,280 (75.2% -> 75%!)
Distribution of published quarterly retail CFD account loss percentages across European regulated brokers and impact of overnight financing fees
Distribution of published quarterly retail CFD account loss percentages across European regulated brokers and impact of overnight financing feesVerified Exhibit

Visual CSS & Font-Size Rules Audited by ESMA's Marketing CSA!#

Under Annex III Conditions, a broker cannot bury the loss warning in 8px light-grey footer text on a grey background: (1) the warning box background color must distinctly contrast with the page background; (2) the font size must be AT LEAST equal to the predominant font size of the communication; and (3) the specific sentence "[X]% of retail investor accounts lose money when trading CFDs with this provider" MUST be rendered in BOLD!

Multi-Account & Category-Switch Cohort Rules (ESMA Q&A 5.14–5.15)#

Compliance teams must also hard-code two cohort boundary rules in quarterly SQL scripts: under ESMA Q&A 5.14, the calculation runs strictly per individual retail CFD account rather than merging multiple sub-accounts per passport holder, and under ESMA Q&A 5.15, any client who reclassifies to Elective Professional mid-window still has their retail-period CFD P&L included for the exact months they traded as a Retail Client alongside ESMA's 30:1–2:1 leverage matrix and CFD bonus prohibitions!

Frequently asked questions

Does a broker publishing "68% of retail accounts lose money" guarantee better spreads than a broker publishing "81%"?

Not by itself! While tighter spreads and lower overnight swaps genuinely reduce loss rates by 5%–8%, client demographics matter hugely too: brokers onboarding older EUR 25,000 index-hedging investors naturally record lower loss percentages than mobile apps onboarding EUR 100 intraday FX scalpers!

If a retail trader has two separate CFD sub-accounts at the same broker (+EUR 500 in Account A, -EUR 200 in Account B), how does Annex III count them?

Look closely at ESMA’s exact statutory wording: "retail investor ACCOUNTS" (not unique passport individuals)—under ESMA Q&A 5.14, the calculation is performed on an individual CFD trading account basis!

What warning must a brand-new CySEC or BaFin broker display during its first week live when it has 0 historical trades?

Annex III Section C mandates displaying ESMA’s standardized empirical industry range verbatim: "Between 74-89 % of retail investor accounts lose money when trading CFDs" until the first quarterly calculation window containing >=1 active retail CFD account closes!

Do Spain’s CNMV or Belgium’s FSMA require additional localized risk warnings on top of ESMA Annex III?

Yes! Belgium’s FSMA bans retail OTC CFD distribution altogether, and Spain’s CNMV banned retail CFD advertising in July 2023 while enforcing Circular 1/2022 handwritten confirmation warnings ("Producto dificil de entender...") during direct Spanish client onboarding!

Publication record

Published
13 November 2026
Updated
14 November 2026
Author
Lukas Lindqvist, CEFA
Review
Review not recorded
Automated fact check
Passed in the stored pipeline record
Source URLs
3 recorded

AI assistance recorded: anthropic/claude-opus-4.6. This field does not establish human review or source verification.

Academic & Institutional Attribution

Cite This Research & Embed Live Data Card

Open Attribution License (CC BY 4.0)

Standard academic & institutional research paper citation format.

Lukas Lindqvist, CEFA. (2026, November 14). ESMA Standardized Dynamic Retail CFD Loss-Percentage Warnings: Annex III Calculation & Formatting. Euro Firm Ledger. https://eurofirmledger.com/bulletins/esma-standardized-dynamic-retail-cfd-loss-percentage-warnings
Explore ESMA Product Intervention Rts27 Rts28 Hub (20) →

Euro Firm Ledger Data, Benchmarks & Contributor Records

ESMA Dynamic Retail CFD Loss-Percentage Warning Formula | Euro Firm Ledger