Lesson 7.5.4 · 60 min
Certifications, training and prop firms: what each one certifies and what a challenge measures
A qualification certifies a syllabus and an exam, not an edge in the market; a prop firm challenge mostly measures how much risk is taken. This lesson summarizes from their official pages what each program requires, puts numbers on the life of an independent trader and simulates the rules of a challenge with Monte Carlo to see why most people who buy one lose the fee. All simulation parameters are assumptions. This is not advice and does not recommend any program or company.
- Module
- 7.5 · Quant career
- Duration
- 60 min
- Prerequisites
- 4.2.1 · Risk per trade, stops and risk of ruin, 4.2.5 · Drawdown control and kill switch, 2.5.5 · Monte Carlo: trade resampling, block bootstrap and signal permutations, 1.1.5 · Costs, settlement, leverage and margin
- Author
- Jesús Cuesta
- Updated
Level 7 lessons
7.1 · Software engineering for trading
7.2 · Infrastructure and deployment
7.3 · MLOps for trading models
7.4 · Regulation, ethics and taxation
- 7.4.1 MiFID II: clients, suitability and algorithmic trading
- 7.4.2 ESMA and CFDs: leverage, close-out and negative balance
- 7.4.3 PRIIPs, the KID and US ETFs
- 7.4.4 MiCA after the transitional period: checking a provider in the registers
- 7.4.5 Market abuse: spoofing, layering and the bot that imitates them by accident
- 7.4.6 Trading taxes in Spain
- 7.4.7 Ethics: personal data, artificial intelligence and selling signals
7.5 · Quant career
7.6 · Final capstone
- 7.6.1 Capstone: common requirements, the panel's rubric and preparing the defense
- 7.6.2 Capstone C1: a multi-asset futures system, from forecast to paper account
- 7.6.3 Capstone C2: systematic options book, volatility surface and real-time Greeks
- 7.6.4 Capstone C3: stock and ETF portfolio with ML, HRP and Spanish taxation
- 7.6.5 Capstone C4: a research platform with LLMs and alternative data
- 7.6.6 Capstone C5: crypto market making or arbitrage with counterparty control
What each program certifies
The job postings in lessons 7.5.1 and 7.5.2 often mention degrees and certifications. Each one certifies a specific syllabus and exam, with different requirements. The table summarizes what their official pages say, as consulted on October 23, 2026; dates and prices change, so the current page always prevails.
| Program | Organizer | Format | Assessment | Published requirements and dates |
|---|---|---|---|---|
| CQF (Certificate in Quantitative Finance) | Fitch Learning | Online, part-time, six months; level 1 (primer courses and modules 1–3) and level 2 (modules 4–6) | Three open-book practical exams (modules 2, 3 and 4), two weeks each, pass mark 60%; final project; optional distinction exam | Next start: January 27, 2027. Full program: GBP 15,995 before December 3, 2026 and GBP 16,695 after, excluding VAT |
| EPAT (Executive Programme in Algorithmic Trading) | QuantInsti | Online, six months, more than 120 hours of live lectures | Proctored exam at test centers in more than 80 countries | Next cohort: January 9, 2027; enrollment until January 6, 2027. The page refers to another one for fees |
| CFA (Chartered Financial Analyst) | CFA Institute | Three successive exams (levels I, II and III), 4.5 hours each | Level I, multiple-choice questions; II, case studies with multiple-choice questions; III, case studies and constructed-response questions | Ten-year average pass rate: 41%, 45% and 52%. Charter: the three levels, 4,000 hours of relevant experience over at least three years and membership |
| FRM (Financial Risk Manager) | GARP | Two computer-based exams: part I (100 questions) and part II (80), four hours each | Exam windows in May, August and November | Four years to pass part II after passing part I; two years of relevant professional experience within the ten years following the part II exam |
What the table cannot say is which one is “worth more”, and this lesson does not say it: it depends on the job. As a guide by content, without rating any program: the CQF and the EPAT cover quantitative and trading methods, with parts that this course covers in levels 2 to 5; the CFA is a broad program in investment analysis and portfolio management, with an experience requirement; the FRM focuses on risk measurement and management (the topics of module 4.2 and more). None replaces what lesson 7.5.3 asks for: your own work that someone else can review.
Master's degrees and continuing education
A university master's degree in Spain can be an official degree (título oficial: accredited and valid throughout the country) or a university's own degree (título propio). Both can be useful; the difference matters for admission to a doctorate and for some civil-service competitive exams and public hiring processes. The way to check is the RUCT, the Ministry's Registry of Universities, Centers and Degrees: if an official master's degree does not appear there, it is not official. To compare programs with quantitative content, the course syllabi (guías docentes), which detail subjects, hours and assessment, are useful, and so is the faculty: how many publish research or work in the industry.
A quant's continuing education does not end with a degree: reading papers (with the caution of lesson 2.1.8 and the “factor zoo”), the documentation of the libraries you use, regulatory changes (module 7.4) and your own projects. This course's capstone is a good example: a system defended before a panel teaches more than a certificate.
The independent trader, in numbers
Trading your own money does not require any certification, but it does require capital, time and an edge that survives costs (lesson 0.1.2). With an annual Sharpe and an annual volatility , the expected return is . If the annual return were normal, the probability of a losing year would be
which does not depend on volatility. The following figures use explicit assumptions: 15% volatility and a target of €30,000 of expected profit per year, before taxes (lesson 7.4.6).
import numpy as np
import pandas as pd
from scipy import stats
VOL = 0.15 # assumption: annual volatility
OBJETIVO = 30_000 # assumption: expected annual profit, in euros
filas = []
for sharpe in [0.5, 1.0, 1.5]:
mu = sharpe * VOL
filas.append({
"sharpe": sharpe,
"rent_esperada": mu,
"capital": OBJETIVO / mu,
"p_año_perdidas": stats.norm.cdf(-sharpe),
"peor_año_1_de_20": mu + stats.norm.ppf(0.05) * VOL,
})
tabla = pd.DataFrame(filas).set_index("sharpe")
tabla.round({"rent_esperada": 3, "capital": -3, "p_año_perdidas": 3,
"peor_año_1_de_20": 3}) rent_esperada capital p_año_perdidas peor_año_1_de_20
sharpe
0.5 0.075 400000.0 0.309 -0.172
1.0 0.150 200000.0 0.159 -0.097
1.5 0.225 133000.0 0.067 -0.022The columns are the expected return (rent_esperada), the capital, the probability of a losing year
(p_año_perdidas) and the worst year in twenty (peor_año_1_de_20). With a Sharpe of 1, very good for a real strategy
after costs, you need €200,000 to expect €30,000 a year, one year in six closes at a loss and one year in twenty loses
almost 10%. With Sharpe 0.5, the required capital doubles and almost one year in three is negative. And the backtest
Sharpe is not the future one: with one year of data, its standard error is of the order of 1 (lesson 7.5.3). The risk
of ruin from lesson 4.2.1 and the drawdown control from 4.2.5 are not optional when the capital is your own.
Prop firms: two businesses with the same name
As seen in lesson 7.5.2, “prop firm” refers to two things. One is the proprietary trading firm: it risks its own capital, hires traders and, if it is a member of an exchange or does market making, needs authorization. The other sells evaluations (challenges) to retail customers: the customer pays a fee, trades in a simulated account under a set of rules and, if they comply with them, receives a “funded” account and a percentage of the profits.
Mermaid source
stateDiagram-v2 [*] --> Evaluation: pays the fee Evaluation --> Failed: breaks a rule Evaluation --> Funded: reaches the target Funded --> Payout: profit Payout --> Funded Funded --> Lost: breaks a rule Failed --> [*] Lost --> [*]
On June 6, 2019, the CNMV (Comisión Nacional del Mercado de Valores, Spain's securities market regulator) published a warning about “funded trading accounts” linked to training courses. It said it had received inquiries and complaints; it described the scheme (a paid course, sometimes costing “several thousand euros”, tests in a simulated environment with limits such as the maximum daily loss, and the promise of trading with the website's capital in exchange for a percentage of the profits) and warned of the risk of “fraud or deception” regarding access to the accounts. It added that giving those courses or opening those accounts “do not fall within the CNMV's scope of action”, although the activities carried out from them in the financial markets do. The notice is in Spanish; the quotations are our unofficial translation.
A simulated challenge with Monte Carlo
The model follows the scheme the CNMV describes with rules that are common in the offers, but all parameters are assumptions of this lesson, not those of any company: a profit target of 8% of the account, a maximum daily loss of 5%, a maximum total loss of 10% of the starting balance, at least 5 trading days and a maximum of 30 days. The trader has a normal daily result with volatility and a mean that corresponds to an annual Sharpe : . The account does not compound: the result is measured on the starting balance.
REGLAS = {"objetivo": 0.08, "perdida_diaria": 0.05,
"perdida_total": 0.10, "dias_min": 5, "dias_max": 30,
"trailing": False}
def superar(sharpe, vol, reglas=REGLAS, n=50_000, rng=None):
"""Share of paths that reach the target before breaking
a rule (normal daily result, no compounding)."""
dias = reglas["dias_max"]
r = rng.normal(sharpe / np.sqrt(252) * vol, vol, (n, dias))
saldo = np.cumsum(r, axis=1)
if reglas["trailing"]: # maximum loss from the high-water mark
caida = np.maximum.accumulate(np.maximum(saldo, 0), axis=1)
caida = saldo - caida
else: # maximum loss from the starting balance
caida = saldo
roto = (r <= -reglas["perdida_diaria"]) | (
caida <= -reglas["perdida_total"])
meta = (saldo >= reglas["objetivo"]) & (
np.arange(1, dias + 1) >= reglas["dias_min"])
primero = lambda m: np.where(m.any(1), m.argmax(1), dias + 1)
return float((primero(meta) < primero(roto)).mean())
rng = np.random.default_rng(5)
vols = [0.005, 0.01, 0.015, 0.02, 0.03]
res = pd.DataFrame({f"{v:.1%}": [superar(s, v, rng=rng)
for s in [0, 1, 2]]
for v in vols}, index=["S=0", "S=1", "S=2"])
res.round(3) 0.5% 1.0% 1.5% 2.0% 3.0%
S=0 0.002 0.121 0.278 0.388 0.399
S=1 0.007 0.195 0.397 0.506 0.491
S=2 0.017 0.298 0.521 0.621 0.578The figure at the top draws the same table with more volatilities. The reading is uncomfortable for anyone who shows up with a real edge and prudent risk: at 0.5% a day, reaching 8% in 30 days is almost impossible, edge or no edge, because the 30-day standard deviation is . The probability rises mainly with volatility: a trader with no edge at all who risks 2% a day passes the challenge far more often than one with Sharpe 2 who risks 0.5%. Around 2.5% a day it stops rising and then falls, because the 10% total loss is hit as quickly as the target. The rules select whoever takes risk, and the edge only shows at the margins.
Offers usually add rules that make the test harder. Two variants with the same assumptions: a two-phase challenge (8% and then 5%, 30 days each) and a trailing maximum loss, measured from the highest balance reached instead of from the starting balance:
fase2 = {**REGLAS, "objetivo": 0.05}
dinamica = {**REGLAS, "trailing": True}
filas = []
for s in [0, 2]:
una = superar(s, 0.01, rng=rng)
dos = una * superar(s, 0.01, fase2, rng=rng)
din = superar(s, 0.01, dinamica, rng=rng)
filas.append({"sharpe": s, "una_fase": una, "dos_fases": dos,
"trailing": din})
pd.DataFrame(filas).set_index("sharpe").round(3) una_fase dos_fases trailing
sharpe
0 0.118 0.036 0.115
2 0.303 0.167 0.302At 1% a day, the second phase (dos_fases, against una_fase) divides the probability by more than three with no
edge (from 11.8% to 3.6%) and almost by two with Sharpe 2 (from 30.3% to 16.7%): you need to be lucky twice. The
trailing loss, on the other hand, changes almost nothing with these numbers (11.5% versus 11.8%): in 30 days, the
balance rarely rises several points and then falls 10% from that high without first hitting the target. The actual
terms of each company, which change often, decide which effects dominate; the model only shows the mechanics.
The economics of the challenge
For the company, each challenge sold brings in a fee; the payouts to traders who pass are its cost. If the funded accounts are also simulated, as in the scheme the CNMV describes, the payouts come out of the company's cash, which is fed by the fees. The business model works if fees exceed payouts, and the rules are the lever to achieve that.
The next simulation builds a complete market with more assumptions, all made up for the lesson: 1,000 challenges sold at 500 USD; 80% of buyers with no edge, 15% with Sharpe 0.5 and 5% with Sharpe 1.5; each one risks between 0.5% and 2% a day; whoever passes the challenge trades 60 days in the funded account (a 100,000 USD account, same rules), is paid 80% of the profit every 20 days and loses the account if they break a rule.
CUOTA, CUENTA, REPARTO = 500, 100_000, 0.80 # assumptions
def financiada(sharpe, vol, dias=60, cada=20, rng=None):
"""Payouts (USD) to a trader in the funded account."""
r = rng.normal(sharpe / np.sqrt(252) * vol, vol, dias)
saldo, pagado = 0.0, 0.0
for d, x in enumerate(r, start=1):
saldo += x
if x <= -REGLAS["perdida_diaria"] or saldo <= -REGLAS[
"perdida_total"]:
break
if d % cada == 0 and saldo > 0:
pagado += REPARTO * saldo * CUENTA
saldo = 0.0
return pagado
rng = np.random.default_rng(8)
n = 1_000
sharpes = rng.choice([0.0, 0.5, 1.5], n, p=[0.80, 0.15, 0.05])
vol_tr = rng.uniform(0.005, 0.02, n)
pagos = np.zeros(n)
supera = np.zeros(n, bool)
for i, (s, v) in enumerate(zip(sharpes, vol_tr)):
supera[i] = superar(s, v, n=1, rng=rng) == 1.0 # one attempt
if supera[i]:
pagos[i] = financiada(s, v, rng=rng)
neto = pagos - CUOTA
print(f"Pass the challenge: {supera.mean():.1%}")
print(f"Lose the fee without payout: {(pagos == 0).mean():.1%}")
print(f"End with a positive balance: {(neto > 0).mean():.1%}")
print(f"Fees collected: {CUOTA * n:>9,.0f} USD")
print(f"Paid to traders: {pagos.sum():>9,.0f} USD")
for s in [0.0, 0.5, 1.5]:
m = sharpes == s
print(f"Sharpe {s}: {m.sum():3d} buyers, "
f"mean net {neto[m].mean():+6.0f} USD")Pass the challenge: 21.4%
Lose the fee without payout: 85.5%
End with a positive balance: 14.1%
Fees collected: 500,000 USD
Paid to traders: 1,196,663 USD
Sharpe 0.0: 832 buyers, mean net +649 USD
Sharpe 0.5: 139 buyers, mean net +888 USD
Sharpe 1.5: 29 buyers, mean net +1157 USDThe mean of each group hides the shape of the distribution:
print(f"Median net: {np.median(neto):+.0f} USD")
print(f"90th percentile of net: {np.percentile(neto, 90):+.0f} USD")
orden = np.sort(pagos)[::-1]
top = orden[: n // 100].sum() / pagos.sum()
print(f"Payouts to the top-earning 1%: {top:.0%} of the total")
print(f"Break-even fee: {pagos.mean():.0f} USD")
reparto = pd.cut(pagos, [-1, 0, CUOTA, np.inf],
labels=["no payout", "paid less than the fee",
"paid more than the fee"])
print(pd.Series(reparto).value_counts(normalize=True).round(3)
.to_string())Median net: -500 USD
90th percentile of net: +3248 USD
Payouts to the top-earning 1%: 18% of the total
Break-even fee: 1197 USD
no payout 0.855
paid more than the fee 0.141
paid less than the fee 0.00485.5% of buyers lose the fee without receiving anything: 78.6% do not pass the challenge and almost a third of those who pass lose the funded account before the first payout. The median outcome is exactly −500 USD, the fee. And yet the mean outcome of each group is positive, because a few are paid a lot: the top-earning 1% takes 18% of the payouts. It is the shape of a lottery: a small, almost certain loss and a large, rare gain. Edge changes the figures little: the no-edge group and the Sharpe 1.5 group (only 29 buyers, a small sample) differ less than two risk levels do.
The other side is the company's. With these assumptions it would pay 1,196,663 USD and collect 500,000: the break-even fee would be 1,197 USD per challenge. A real company that charges fees of that order or lower only balances its books with rules tougher than the model's, more limited payouts or buyers who take less risk than they would need to pass the test, which is what most of them do. For the buyer, the conclusion is the same in every case: the most likely outcome is losing the fee, and the probability of passing the challenge mostly measures how much risk was taken.
Risks and checks before paying
The simulations do not capture the non-statistical risks, which tend to weigh the most:
- Counterparty. Payouts depend on the solvency and the willingness of a company that does not hold client assets. If it changes its terms, closes or denies a payout over a rule open to interpretation, there is no compensation scheme to turn to.
- Changing terms. Rules, platforms, permitted instruments and payout schedules are set by contract and change. Keep the version of the terms in force when you paid.
- Your own conduct risk. The rules reward volatility: the temptation to increase risk to reach the target is exactly the opposite of what lessons 4.2.1 and 4.2.5 teach. A trader who gets used to trading that way carries it over to their own money.
- Accumulated cost. Buying the challenge again after each failure adds up fees; with a 12% probability of success per attempt (1% a day with no edge), the expected number of attempts until passing is 1/0.12 ≈ 8.
- Taxes. Payouts from a challenge company are not capital gains from a securities account; their tax treatment in Spain is not the one in lesson 7.4.6 and depends on the contract. For a specific case, consult a tax advisor.
Before paying, the checks are those of lesson 7.5.2: identify the company (legal name, registered address, entry in the commercial registry), find out whether it carries out any activity that requires authorization and whether it appears in any register, look it up in the CNMV's warnings and read the full payout terms. If a company also offers to manage client money or sell “signals”, it enters the territory of lesson 7.4.7 and authorized firms.
Exercises
- Repeat the probability table with a maximum period of 60 days instead of 30. What happens to the trader with no edge who risks 1% a day? And to the one with Sharpe 2?
Solution
largo = {**REGLAS, "dias_max": 60}
for s in [0, 2]:
print(s, round(superar(s, 0.01, rng=rng), 3),
round(superar(s, 0.01, largo, rng=rng), 3))0 0.119 0.266
2 0.298 0.613With 60 days, both pass the challenge more than twice as often (from 11.9% to 26.6% with no edge and from 29.8% to 61.3% with Sharpe 2), because the balance has more time to touch 8% before −10%. In percentage points, the Sharpe 2 trader gains more than twice as much as the one with no edge (31.5 versus 14.7): with more time, the positive drift starts to show. A long or unlimited period favors whoever has a real edge more than a short one does.
- You buy challenges until you pass one, with a maximum of five attempts and a 12% probability of success per attempt (1% a day with no edge). What is the probability that you pass, and how much do you spend on fees on average? Compute it with the formula and check it with a simulation.
Solution
With per attempt and a maximum of attempts, the probability of passing is and the expected number of paid attempts is .
p, k = 0.12, 5
exacta = 1 - (1 - p) ** k
intentos = exacta / p
sim = rng.random((100_000, k)) < p
pagados = np.where(sim.any(1), sim.argmax(1) + 1, k)
print(f"Pass: {exacta:.3f} (simulated {sim.any(1).mean():.3f})")
print(f"Mean fees: {CUOTA * intentos:.0f} USD "
f"(simulated {CUOTA * pagados.mean():.0f} USD)")Pass: 0.472 (simulated 0.470)
Mean fees: 1968 USD (simulated 1972 USD)With five attempts, more than half of the buyers (52.8%) never pass and the average spend on fees is almost four times the fee of one attempt. Those who pass have paid several fees on average beforehand: that is the cost to compare with the expected payouts of the funded account, not the fee of a single attempt.
- A website offers “100,000 USD of capital” after a €2,000 course with a “funding guarantee”. With what you have seen in the lesson, list the questions you would ask and what you would check before paying.
Solution
Who the company that collects the money is (legal name and registered address, not the brand) and whether it appears in any register of the CNMV or ESMA; whether it appears in the CNMV's warnings. Whether the capital is real or simulated and, if real, which authorized firm the trading goes through and whose name the account is in. What exactly “guarantee” means: which rules must be met, who interprets them and what happens if they are broken. How and when payouts are made, with what limits, and what recourse there is if they are not made. And the underlying comparison: the CNMV's 2019 notice described exactly that scheme (a paid course, tests in a simulated environment and a promise of capital) and warned of the risk of fraud.
Each answer is folded under its question
Self-assessment
In the lesson's simulation, a trader with no edge at all (Sharpe 0) who risks 2% a day passes the challenge more often than one with Sharpe 2 who risks 0.5% a day. Why?
- ABecause the Sharpe ratio has no influence on the outcome of the challenge
- BBecause the rules reward volatility: with an 8% target in 30 days, 0.5% a day almost never gets there, edge or no edge
- CBecause the simulation has a bug
- DBecause more risk makes it easier to respect the daily loss limit
Show answer
Answer B. Because the rules reward volatility: with an 8% target in 30 days, 0.5% a day almost never gets there, edge or no edge
At 0.5% a day, the 30-day standard deviation is 2.7%: reaching 8% takes luck, even with an edge (1.7% success with Sharpe 2). At 2% a day, the trader with no edge passes 39% of the time. The challenge selects whoever takes risk, not whoever has an edge.
What did the CNMV say in its notice of June 6, 2019 about funded trading accounts linked to courses?
- AThat they are products it authorizes and supervises
- BThat they are banned in Spain
- CThat it had received inquiries and complaints, that there is a risk of fraud or deception regarding access to the accounts, and that giving those courses or opening those accounts falls outside its remit, although the activities carried out from them in the markets fall within it
- DThat only securities firms may offer them
Show answer
Answer C. That it had received inquiries and complaints, that there is a risk of fraud or deception regarding access to the accounts, and that giving those courses or opening those accounts falls outside its remit, although the activities carried out from them in the markets fall within it
The notice warns of the risks, fraud among them, and clarifies the limits of its powers: the training and the opening of those accounts are outside; activities in the financial markets carried out from them are inside.
To obtain the CFA charter, besides passing the three exams, what does CFA Institute require according to its official page?
- A4,000 hours of relevant professional work experience over at least three years and becoming a member of CFA Institute
- BA master's degree in finance
- CPassing the FRM as well
- DNothing else
Show answer
Answer A. 4,000 hours of relevant professional work experience over at least three years and becoming a member of CFA Institute
The exam page lists it: pass the three levels, complete 4,000 hours of relevant professional work experience over at least three years and become a member of CFA Institute.
An independent trader has an annual Sharpe of 1 with 15% volatility. With normally distributed annual returns, what is the probability of closing a year at a loss?
- A1%
- BNever, if the Sharpe is positive
- C50%
- D16%, one year in six
Show answer
Answer D. 16%, one year in six
The expected return is 15% with a standard deviation of 15%: a loss requires falling one standard deviation below the mean, P = Φ(−1) ≈ 0.159. With Sharpe 0.5 it would be 31%.
In the lesson's simulated market (1,000 challenges with the stated assumptions), what share of the buyers ends up with more money than they paid?
- AMore than half
- BAbout one in seven
- CEveryone who passes the challenge
- DNone
Show answer
Answer B. About one in seven
78.6% do not pass the challenge and almost a third of those who pass lose the funded account before getting paid: 85.5% lose the fee without receiving anything and 14.1% end with a positive balance. The average outcome is positive because a few are paid a lot; the median is losing the fee.
Key points
- CQF, EPAT, CFA and FRM certify different things: applied quantitative mathematics and models (CQF), practical algorithmic trading (EPAT), investment analysis and management with required experience (CFA) and risk management (FRM). None replaces a verifiable portfolio.
- Whether a master's degree in Spain is official is checked in the RUCT; a university's own degree (título propio) can be useful, but it is not an official degree.
- An independent trader with Sharpe 1 and 15% volatility loses one year in six and needs about €200,000 to expect €30,000 of profit; with Sharpe 0.5, twice as much.
- In a challenge with an 8% target in 30 days, the probability of passing depends far more on volatility than on edge: at 1% a day, 12% with no edge and 30% with Sharpe 2; at 2% a day, 39% with no edge.
- A second phase divides the probability of passing by more than three with no edge; in the simulated market, 85.5% of buyers lose the fee without receiving anything, even though the average outcome is positive because of a few large payouts.
- In 2019 the CNMV warned about the risk of fraud in funded trading accounts and that opening them falls outside its remit: before paying, check who the company is and look it up in the warnings.
Resources
Documentation
- CQF: program fees, levels and dates
- QuantInsti: Executive Programme in Algorithmic Trading (EPAT)
- CFA Institute: CFA exam information
- GARP: FRM, exams and steps to certification
- Spanish Ministry of Education: Registry of Universities, Centers and Degrees (RUCT, in Spanish)
- CNMV (6/6/2019): warning about websites offering funded trading accounts linked to training courses (in Spanish)
- CNMV: warnings about unauthorized entities (in Spanish)