VALYNOXSTRATEGY RESEARCH TECHNOLOGY
AlphaPrimeAlphaPrime
ACADEMY / Quant stories

2010 flash crash: how algorithms turned one sell order into a plunge

In the 2010 flash crash one automated sell order of about seventy-five thousand E-mini contracts started the fall and other automated traders amplified it; no single program went rogue. For a systematic trader the lesson is to test position size and execution assumptions on the fast-fall days inside the history, not only the entry signal.

By · Published · updated · Editorial policy

Contents
  1. Were algorithms the cause of the 2010 flash crash?
  2. What happened on May 6, 2010, minute by minute?
  3. How large was the Waddell & Reed sell order?
  4. Why did liquidity vanish and feed on itself?
  5. What rules changed after the flash crash?
  6. How do you stress-test a strategy on crash days?
  7. How much does position size change a crash-day drawdown?
  8. Frequently asked questions
  9. References

Were algorithms the cause of the 2010 flash crash?

In the 2010 flash crash, algorithms were the cause only as a chain: one automated sell order of about seventy-five thousand E-mini contracts started the fall, and other automated traders amplified it. No single program went rogue. The lesson for a backtest is to test size and execution on fast-fall days, not only the signal.

The joint staff report of the CFTC and SEC (2010) describes a sequence of ordinary programs, each doing what it was built to do, reacting to each other. An execution algorithm is a program that breaks one large order into many small ones and sends them over time. A market-making algorithm is a program that quotes a bid and an offer and tries to hold almost no position at the end of the day. On a normal afternoon these two kinds of programs trade with each other without incident, and research on algorithmic trading before 2010 found that it usually narrows spreads and adds liquidity (Hendershott, Jones and Menkveld, 2011). On May 6 the same programs met in a thin, nervous market, and the behaviour of each one made the behaviour of the others worse. How that amplification worked is the subject of the liquidity section below.

Two kinds of program met on May 6, 2010: an execution algorithm that splits one large sell order into many small sells to finish the order, and a market-making algorithm that quotes a bid and an offer, keeps its inventory near zero and passes contracts on, so neither one wanted to hold the contracts Two programs, no holder Each one is sensible on its own Execution algo Many small sells Goal: finish Market maker Offer Bid 0 Holds near zero Goal: end flat Each did its job; none held risk. So: ask who takes your size.
The two kinds of program on May 6: an execution algorithm that splits one large order into many small sells, and a market-making algorithm that quotes both sides but keeps almost no inventory. Neither one wanted to hold the contracts.

This matters for a retail systematic trader because the same two assumptions sit inside almost every backtest: that an order of your size can always be filled near the last price, and that the number of contracts you hold is a detail. The flash crash is the clearest public record of both assumptions failing at once. The claim this article argues is simple: on a crash day the damage is decided by your position size and your fill assumptions, not by your entry signal. The last two sections test that claim with a real backtest of ES.

What happened on May 6, 2010, minute by minute?

The whole fall and most of the recovery fit inside about one hour of the afternoon session. May 6, 2010 had already been a weak day: European debt worries had pushed US indexes down and volatility up, and by early afternoon buy-side liquidity in the E-mini S&P 500 was far below its normal level. Against that background, the report gives this sequence in Eastern time:

  1. 2:32 p.m. A large fund starts an automated sell program in the E-mini S&P 500 (symbol ES; see S&P 500 futures explained: ES vs MES for the contract). The program is told to sell at a rate of nine percent of the previous minute's volume, with no price limit and no time limit.
  2. 2:41 p.m. to 2:44 p.m. The decline accelerates. The E-mini falls about three percent in roughly three minutes. Market makers and high-frequency traders begin to pull back.
  3. 2:45:28 p.m. With the E-mini down about five percent from its earlier level, the CME's stop-logic function pauses trading in the contract for five seconds. The pause is triggered automatically when the next trades would run through a band of resting stop orders.
  4. 2:45:33 p.m. Trading resumes. Buyers return to the E-mini and the price begins to climb. In the stock market, by contrast, the worst minutes come after this point: some shares print at one cent and others at one hundred thousand dollars because quotes have been withdrawn.
  5. About 3:00 p.m. Most index futures and most stocks are back near their 2:40 p.m. levels. The Dow Jones Industrial Average had been down almost a thousand points at its low.
Timeline of the E-mini on May 6, 2010 in Eastern time: selling starts at 2:32, the fall accelerates from 2:41, a five-second pause comes at 2:45, and prices rebound to about 3:00 Down and back in 20 minutes E-mini, May 6 2010, Eastern time Selling Fall Rebound 2:32 2:41 2:45 3:00 5-second pause The futures turned after the pause. So: test the fast-fall days.
The E-mini fall and recovery on May 6, 2010, in Eastern time. From the first accelerating minute to the recovery is about twenty minutes.

For a futures trader the key detail is where the turn came. The five-second pause on one futures exchange was enough to let buyers reassess, and the futures recovered before the stocks did. Fast is the whole point: a daily bar for May 6 shows a long lower wick and hides every one of these minutes. That is why the stress test later in this article reads the worst day and the drawdown around it, not only the close-to-close return.

How large was the Waddell & Reed sell order?

The order was about seventy-five thousand E-mini contracts, worth roughly $4.1 billion, and its size was not the problem; its speed was. The report describes the seller as a large mutual-fund complex hedging its stock holdings. Press reports later identified the firm as Waddell & Reed. The fund had executed a sale of comparable size before. On that earlier occasion it took more than five hours, because the order was spread over the day and the market absorbed it as routine flow.

On May 6 the fund used an execution algorithm with one instruction: sell nine percent of the trading volume measured over the previous minute. There was no price floor and no minimum duration. A volume-participation algorithm is a program that sells faster when the market trades more and slower when it trades less. That design is sensible when volume means real buying interest. It fails when volume rises because the market is panicking, because then the algorithm reads a falling market as a signal to sell faster. On May 6 the whole order was executed in about twenty minutes.

The same order of about seventy-five thousand E-mini contracts took more than five hours on an earlier occasion but was sold in about 20 minutes on May 6, 2010, with no price or time limit Same order, far faster About 75k E-mini contracts sold Earlier 5+ hours May 6 20 minutes No price or time limit Speed, not size, set off the fall. So: cap how fast your orders hit.
The same order size spread over more than five hours was routine. Executed in about twenty minutes, with no price or time limit, it became a crash trigger.

A retail trader never sends an order of that size, but the same mistake appears at small scale. A backtest that fills a market order at the bar's close on a day when the book was empty is making the same assumption the sell algorithm made: that volume equals liquidity. The costs that assumption hides are the subject of trading costs in backtests: commission, slippage and the average trade. A stop order is an order that waits until price reaches a trigger level and then becomes a market order, so in a falling book it fills wherever the next buyer is, not at the trigger price.

Why did liquidity vanish and feed on itself?

Liquidity vanished because the traders who normally buy from sellers do not hold inventory for long, so when prices fell fast they stopped buying or passed contracts to each other, and the sell algorithm mistook that passing for demand. Liquidity is the amount you can buy or sell near the current price without moving it. On a normal day most of the E-mini's liquidity comes from market makers and high-frequency traders who hold positions for seconds or minutes and try to end flat.

Between 2:41 and 2:44 p.m. these traders bought from the sell algorithm, found themselves long in a falling market, and sold to each other to get flat. The report calls this the "hot potato" effect. In the fourteen seconds before the pause, high-frequency traders traded more than twenty-seven thousand contracts, about half of all volume in that window, while their combined net position changed by only about two hundred contracts. Volume exploded. Real buying depth did not exist. Kirilenko, Kyle, Samadi and Tuzun (2017) show, from the exchange's own account-level records, that high-frequency traders did not trigger the crash but their short holding periods meant they could not absorb a one-sided order of that size.

The feedback loop of May 6, 2010: price falls, volume rises, the volume-tracking algorithm sells more, buyers leave, and price falls again, until the five-second pause breaks the loop A loop that fed itself Volume rose, real buyers did not Price falls Volume rises Algo sells more Buyers leave Pause breaks it Volume is not liquidity. So: test volume rules on crash days.
The feedback loop of May 6: falling price raised volume, the volume-tracking algorithm sold more, buyers withdrew, and price fell further. The five-second pause cut the loop.

Think of a crowded hall with one exit. When a few people start running, the crowd at the door moves faster, which looks like more people getting out. In fact nobody is leaving; they are bumping into each other. A program counting movement at the door would conclude that the exit is wide and push harder. That is what the volume-participation algorithm did. The five-second pause worked like a steward closing the door for a moment so people could see that the hall was not on fire.

What this means for your own research: a rule that relies on volume as a measure of interest needs to be checked on fast-fall days, where volume and liquidity point in opposite directions. The same check is described for Taiwan index futures in how to stress-test a strategy on a TAIEX futures crash.

What rules changed after the flash crash?

Regulators and exchanges added automatic pauses for individual stocks, later replaced them with price bands, set fixed thresholds for cancelling clearly erroneous trades, and kept the exchange-level stop logic that had paused the E-mini. A circuit breaker is a rule that halts trading automatically when price moves by more than a set amount in a set time. Before May 6, 2010 the US stock market had only market-wide breakers tied to large daily moves in the Dow, and none of them triggered that day.

SafeguardBefore May 2010After
Single-stock trading pauseNoneIntroduced in June 2010: a five-minute pause after a move of ten percent in five minutes, first for S&P 500 stocks
Limit up–limit down price bandsNonePhased in later, replacing the single-stock pause with bands that stop trades outside a price range
Clearly erroneous trade rulesCase by caseFixed percentage thresholds agreed in 2010, so traders know in advance which prints will be cancelled
Exchange stop logic on the E-miniIn placeKept; it was the mechanism that paused the futures for five seconds at 2:45:28
US safeguards before and after May 6, 2010: single-stock pauses and price bands did not exist before and were added, erroneous-trade rules went from ad hoc to fixed thresholds, and the E-mini stop logic was already in place and was kept What changed after May 6 US safeguards, before and after Before After Stock pause Price bands Error rules E-mini stop logic None None Ad hoc Yes Added Added Fixed Kept Bands now stop one-cent prints. So: check which crash prints survive.
Which safeguards existed before May 6, 2010 and which were added afterward.

The cancellation rule matters to anyone whose backtest contains May 6. On the evening of the crash, exchanges and FINRA cancelled stock trades executed between 2:40 and 3:00 p.m. at prices more than sixty percent away from the 2:40 p.m. price. Trades inside that band stood. A stop order in a stock that filled forty percent below the previous price was a real loss, and a backtest that uses cleaned data will not show it. The E-mini trades were not cancelled; the futures book never emptied the way some stock books did. Check which prints survive in your own data before you read a crash-day result from it.

Today the same chain would be interrupted sooner. A stock cannot print at one cent when a band stops it. But the futures-side mechanics are unchanged: a seller with no price limit and market makers with no appetite for inventory can still meet in a thin book. The rules reduce how far a loop can run; they do not remove the loop.

How do you stress-test a strategy on crash days?

Run the strategy with realistic costs on a history that contains fast-fall days, then read the single worst day and the drawdown around it rather than the average trade. The average hides the crash; a daily-bar backtest of ES from 2019 onward contains March 2020, when the index fell by about a third in a few weeks, and that stretch is where the worst day lives. Max drawdown is the largest fall from an equity peak to the following trough before a new peak is made. The steps:

  1. Choose a history that includes at least one fast-fall period. For ES, 2019 to 2025 includes early 2020. For Taiwan index futures, the same years include the same event in the Taiwan session.
  2. Charge commission and slippage on every trade, and double the slippage on a second run. On a crash day a one-tick fill assumption is the optimistic case.
  3. Fill on the next bar, not the signal bar. A rule that reads a daily close cannot trade at that close.
  4. Read the trade list around the fast-fall weeks. Find the worst single trade and the worst single day, and check whether the strategy was long, short or flat when the fall started.
  5. Read the drawdown around the event as a share of your intended account, then feed the equity series to the free drawdown calculator to see how long recovery took.

The box below is a real run that follows these steps. The test used ES daily bars from 2019-01-02 to 2025-06-30, long and short, one contract, with $20 commission and $25 slippage per trade. The rule is a stand-in: a Standard Deviation rule as the only entry and exit, with no stop, no target and no filters, built from a standard indicator rather than from the flash crash itself. It is the one candidate the search kept out of 1,024 it tried, chosen for its return against its drawdown. Picking the kept one after the fact flatters its numbers: the other candidates on the same data did worse, and the kept one carries a selection bonus that new data will not repeat. AlphaPrime (Valynox) applied the $20 commission, $25 slippage and next-bar fills inside every one of the 1,024 evaluations through its backtesting, so the drawdown figures below already include execution cost on the fast-fall days.

Source: AlphaPrime product engine (CPU), run 2026-10-31. ES daily bars, 2019-01-02 to 2025-06-30, long and short, 1 contract, $20 commission and $25 slippage per trade.

NumberResult
Net profit (closed trades)$51,142.5
Max drawdown$15,520
Trades151
Win rate59.6%
Profit factor1.436
Average trade$338.69
Time in market14.83%
Look at the drawdown around early 2020 against the rest of the run, and at how long the curve took to make a new high after it.
Look at the drawdown around early 2020 against the rest of the run, and at how long the curve took to make a new high after it. ES · daily · 2019-01-02 to 2025-06-30 · CPU engine backtest

How to read it: the max drawdown of $15,520 is about thirty percent of the net profit of $51,142.5 over six and a half years, and the strategy was in the market only 14.83% of the time. That low time in market is the main reason the crash weeks did not do more damage: a rule that is flat most of the time is flat on most bad days by luck as much as by design. The figure to study is the equity curve around early 2020, not the summary table, because the summary cannot tell you whether the drawdown came from one crash week or from a slow bleed. None of this is a forecast; it is a record of what this one kept candidate did on this history after costs.

How much does position size change a crash-day drawdown?

With the entries and exits held fixed, the nine money-management methods below produce max drawdowns that differ by several times, which means that on a fast-fall day the number of contracts you hold decides the damage more than the signal does. Position sizing is the rule that sets how many contracts to trade on each signal. The second box takes the same 151 trades from the box above, gives them $100,000 of capital and a cap of 10 contracts, and applies nine sizing methods with each method's report defaults. Every difference between the rows comes from size alone.

Source: AlphaPrime product engine (CPU), run 2026-10-31. Same trades as the box above, capital $100,000, at most 10 contracts.

MethodNet profitMax drawdownAverage contracts
Fixed contracts$159,468$45,7203
Fixed notional$120,768$40,0652.5
Percent of equity$235,868$90,6954.09
Fixed dollar risk$139,443$39,7952.67
Fixed fractional risk$302,543$134,6585.46
Volatility target$139,443$39,7952.67
Fixed ratio$98,580$46,5582.19
Equity curve trading$66,155$55,9651.95
Kelly$48,155$28,8951.11
Same 151 ES trades with one hundred thousand dollars of capital: Kelly sizing at 1.1 contracts on average had a max drawdown of about 29 percent of capital, fixed 3 contracts about 46 percent, and fixed fractional risk at 5.5 contracts about 135 percent, more than the starting capital Size set the drawdown Max drawdown as share of capital 1.1 contracts 29% 3 contracts 46% 5.5 contracts 135% $100k capital Same trades, 4.7× the drawdown. So: fix sizing before the signal.
Same trades, different contract counts. The max drawdown difference between methods comes entirely from position size.

Read the table from the drawdown column. Fixed fractional risk, which averaged 5.46 contracts, reached a max drawdown of $134,658, more than the $100,000 starting capital. Kelly, which averaged 1.11 contracts, reached $28,895. The entry signal, the exit signal and the dates of every trade are identical across all nine rows. The only thing that changed is how many contracts were on when the bad stretch arrived. That is the May 6 lesson in miniature: the seller's signal (hedge the portfolio) was reasonable; the size and speed were not.

Two more things to notice. Methods that size from recent volatility or from a fixed dollar risk (Fixed dollar risk and Volatility target both averaged 2.67 contracts here) held the drawdown near $39,795 while keeping a net profit of $139,443, because they cut size when the market got wild, which is exactly when a fast-fall day is most likely. And a higher net profit in this table is bought with a larger drawdown in every case; the two columns move together. How many contracts that drawdown implies for your own account can be worked out with the free position size calculator, and the mechanics of contract count in a backtest are covered in how contract count changes a futures backtest. Day traders who hold through the session open face the same question at shorter horizons.

The next thing to do is open your own backtest report, find the fastest-falling week in the history, and write down two numbers: how many contracts you held when it started, and what the drawdown would have been at double that size. If the second number is larger than you could hold through, the sizing rule, not the entry rule, is the first thing to change.

Frequently asked questions

How long did the 2010 flash crash take to recover?

About twenty minutes for most of the move. The E-mini S&P 500 began falling sharply at about 2:41 p.m. Eastern, was paused for five seconds at 2:45:28, and by about 3:00 p.m. most index futures and most stocks were back near their 2:40 p.m. prices. The Dow Jones Industrial Average had been down almost a thousand points at its low and closed the day down about three percent.

Was the flash crash caused by algorithms?

Algorithms were involved at every step, but no single program caused it. One automated sell order with no price or time limit started the fall, and market-making and high-frequency programs that hold almost no inventory amplified it by passing contracts to each other instead of absorbing them. The joint CFTC and SEC staff report describes it as a chain of ordinary programs reacting to each other in a market that was already thin and nervous.

What is the "hot potato" effect?

It is the pattern in which high-frequency traders buy from a large seller, find themselves long in a falling market, and immediately sell to each other to get flat. Volume rises sharply while the net position of the whole group barely changes. On May 6, 2010 high-frequency traders traded more than twenty-seven thousand E-mini contracts in about fourteen seconds while their combined position changed by only about two hundred contracts.

Could a flash crash happen again today?

The rules added since 2010 would interrupt the same chain sooner: single-stock pauses and later price bands stop a share from printing at one cent, and fixed thresholds decide in advance which trades are cancelled. The underlying mechanics have not changed, though. A seller with no price limit can still meet market makers with no appetite for inventory in a thin book, so the practical response for a systematic trader is to size positions for the fast-fall days that already exist in the history.

What does algo trading risk mean for a retail trader?

For a retail account the risk is rarely a rogue program. It is a strategy sized as if every day were an average day, with fills assumed at the last price. A backtest that charges realistic commission and slippage, fills on the next bar, and reports the drawdown around the worst stretch of the history shows that risk before real money does. Reading the worst day, not the average trade, is the habit to build.

References

  • Staffs of the CFTC and SEC (2010). Findings Regarding the Market Events of May 6, 2010. Report to the Joint Advisory Committee on Emerging Regulatory Issues, September 30, 2010.
  • Kirilenko, A., Kyle, A. S., Samadi, M., & Tuzun, T. (2017). The Flash Crash: High-Frequency Trading in an Electronic Market. The Journal of Finance, 72(3), 967–998.
  • Hendershott, T., Jones, C. M., & Menkveld, A. J. (2011). Does Algorithmic Trading Improve Liquidity? The Journal of Finance, 66(1), 1–33.