# ESMA Dynamic Retail CFD Loss-Percentage Warning Formula

> Calculate and format Annex III firm-specific retail CFD loss warnings under ESMA Decision 2018/796: quarterly 12-month recalculations, new-firm text, and CSS.

Canonical: https://eurofirmledger.com/bulletins/esma-standardized-dynamic-retail-cfd-loss-percentage-warnings
Last updated: 2026-11-14T19:40:40.209Z

**Publication:** Euro Firm Ledger
**Category:** ESMA Product Intervention Rts27 Rts28
**Published:** 2026-11-13T08:10:25.915Z
**Author:** Lukas Lindqvist, CEFA (Certified European Financial Analyst (EFFAS/CEFA, Frankfurt & Zurich))
**Reviewer:** Not recorded

## Answer-first summary

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.

## Key takeaways

- ESMA Decision 2018/796 Annex III requires every EEA CFD firm to recalculate every 3 months the exact percentage of its active retail CFD accounts that lost money net of all fees over the prior 12 months.
- Dormant zero-trade accounts and pure cash-equity/ETF accounts MUST be excluded from the denominator—only retail accounts that held or executed >=1 CFD during the 12-month window count.
- Net P&L per account must combine realized closed P&L, change in unrealized floating P&L on open CFDs, and 100% of commissions, overnight financing swaps, and FX conversion charges.
- The firm-specific loss sentence must appear in bold inside a high-contrast framed box at a font size at least equal to the predominant body copy across all web pages, apps, and affiliate ads.

## Related financial entities

- **Cyprus Investment Services and Activities Law (CySEC)** (CYSEC-CIF) — license: Statutory framework administered by CySEC transposing MiFID II, governing the authorization and operational requirements of Cypriot Investment Firms.
- **ESMA Guidelines on MiFID II Product Governance Requirements** (ESMA-PROD) — license: Supervisory guidelines issued by ESMA establishing requirements for firms manufacturing and distributing financial instruments to ensure investor protection.
- **European Securities and Markets Authority (ESMA)** (ESMA) — license: Independent European Union authority contributing to safeguarding the stability of the EU financial system by enhancing investor protection and promoting stable markets.

## Analysis

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](/passports/european-securities-and-markets-authority) Decision (EU) 2018/796**—now enforced permanently by [CySEC](/competent-authorities/cysec), [BaFin](/competent-authorities/bafin), [AMF](/competent-authorities/amf), [CONSOB](/competent-authorities/consob), and [AFM](/competent-authorities/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](/bulletins/esma-retail-cfd-intervention-elective-pro-mifir-review-2026) and the [ESMA conduct hub](/topics/esma-product-intervention-rts27-rts28), compliance and frontend teams at EEA brokers ([CAPEX.com](/firms/capex), [Colmex Pro](/firms/colmex-pro), [1Market](/firms/1markets)) 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](/api/figure?type=flow&title=Quarterly%20ESMA%20Annex%20III%20Retail%20Loss-Percentage%20Update%20Cycle&subtitle=Mandatory%20recalculation%20every%203%20months%20covering%20the%20trailing%2012-month%20retail%20CFD%20cohort&steps=1.%20Cohort%20Filter%20%2812m%29%3A%3ASelect%20ALL%20retail%20CFD%20accounts%20that%20executed%20%3E%3D1%20CFD%20trade%20in%20prior%2012m%7C2.%20All-In%20Net%20P%26L%20Sum%3A%3ARealized%20%2B%20Unrealized%20CFD%20P%26L%20MINUS%20all%20spreads%2C%20swaps%2C%20commissions%20%26%20fees!%7C3.%20Strict%20Loss%20Count%3A%3ACount%20accounts%20with%20Net_12m_CFD_PnL%20%3C%20EUR%200.00%3B%20round%20to%20nearest%20integer%2F0.1%25%7C4.%20Synchronized%20Push%3A%3AUpdate%20sticky%20web%20header%2C%20apps%20%26%20all%20%5Baffiliate%20banners%5D%28%2Fbulletins%2Fcysec-affiliate-cpa-revenue-share-inducement-ban-digital-ads%29!&metrics=RECALCULATION%20CADENCE%3A%3AEvery%203%20Months%3A%3ATrailing%2012-month%20rolling%20window%7CDORMANT%20ACCOUNTS%3A%3AExcluded!%3A%3ACannot%20dilute%20denominator%20with%200-trade%20users!%7CCASH%20STOCK%20P%26L%3A%3AExcluded!%3A%3ACannot%20mix%20UCITS%2Fshare%20gains%20into%20CFD%20P%26L!%7CBOLD%20FONT%20RULE%3A%3AMandatory%20Bold%3A%3ALoss%20%25%20sentence%20MUST%20be%20bolded)

## 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](/firms/capex) or [Bitpanda](/firms/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
ESMA_Annex_III_Quarterly_Retail_CFD_Loss_Percentage_Formula:
 Let Window W = [T_quarter_end - 12_Months, T_quarter_end]
 Eligible_Retail_Account_Set (S_W):
 Account i in S_W IFF:
 (Client_Category_i == RETAIL during W)
 AND (Count_Of_Open_Or_Executed_CFD_Positions(i, W) >= 1)

 For_Each_Account i in S_W, Compute_All_In_12m_Net_CFD_Profit_Loss (Net_PnL_i,W):
 Net_PnL_i,W = Realized_Closed_CFD_PnL(i, W)
 + (Unrealized_Open_CFD_PnL(i, T_end) - Unrealized_Open_CFD_PnL(i, T_start))
 - Total_CFD_Overnight_Swaps_Commissions_GSLO_And_FX_Fees(i, W)

 Published_Loss_Percentage (L_pct):
 L_pct = Round( 100 * ( Count({ i in S_W : Net_PnL_i,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 (Net_PnL >= 0) = 3,720 (24.8%) | Net Losing Accounts (Net_PnL < 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](/api/figure?type=bars&title=Empirical%20EEA%20Retail%20CFD%20Loss%20Benchmarks%20%26%20Cost%20Impact%20%282026%29&subtitle=How%20overnight%20swaps%20and%20multi-asset%20cohort%20exclusions%20shape%20published%20Annex%20III%20percentages&steps=Tight-Spread%20Mature%20Books%3A%3A66%25%E2%80%9372%25%20retail%20accounts%20lose%20%28larger%20average%20balance%2C%20lower%20churn%29%7CEEA%20Industry%20Median%20Range%3A%3A74%25%E2%80%9381%25%20retail%20accounts%20lose%20%28matches%20ESMA%2074%25%E2%80%9389%25%20benchmark%29%7CHigh-Churn%20Mobile%20CFD%20Apps%3A%3A82%25%E2%80%9389%25%20retail%20accounts%20lose%20%28intraday%20scalping%20%2B%20swap%20drag%29%7CGross%20vs%20All-In%20Swap%20Delta%3A%3A%2B6%25%20to%20%2B9%25%20of%20accounts%20flip%20from%20gross%20winner%20to%20net%20loser%20via%20swaps!&metrics=FONT%20SIZE%20RULE%3A%3A%3E%3D%20Main%20Body%20Size%3A%3AAnnex%20III%3A%20never%20smaller%20than%20copy!%7CSTICKY%20HEADER%3A%3AIndustry%20Best%20Prac.%3A%3AVisible%20above%20the%20fold%20on%20all%20viewports%7CNEW%20LICENSE%20TEXT%3A%3A74-89%25%20Range%3A%3AMandatory%20if%200%20retail%20trades%20in%2012m%7CRECORD%20RETENTION%3A%3A5%20Years%20SQL%20Logs%3A%3AQuarterly%20snapshot%20kept%20for%20NCA%20audit)

## 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](/bulletins/esma-decision-2018-796-cfd-leverage-tiers-30-20-10-5-2-matrix) and [CFD bonus prohibitions](/bulletins/esma-cfd-monetary-non-monetary-bonus-rebate-vip-perk-prohibition)!

## 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!


## Source URLs

- https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:32018X0796
- https://www.esma.europa.eu/sites/default/files/library/esma35-36-1537_qa_on_esmas_temporary_product_intervention_measures.pdf
- https://www.cysec.gov.cy/en-GB/legislation/services-markets/cifs/

## Citation

- APA: Lukas Lindqvist, CEFA. (2026). 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
- Canonical article: [ESMA Standardized Dynamic Retail CFD Loss-Percentage Warnings: Annex III Calculation & Formatting](https://eurofirmledger.com/bulletins/esma-standardized-dynamic-retail-cfd-loss-percentage-warnings)
- Site research index: [Euro Firm Ledger](https://eurofirmledger.com/llms-full.txt)
