
High-Frequency Trading Orderbook
A simulation of the limit order book and the market makers who live in it — queue position, adverse selection, the latency race, and why picking pennies in front of a steamroller works when you own a faster car.
How do you make money from a stock without having any opinion about the stock?
Every other kind of trader has a view: the company is undervalued, the chart is about to break out, the internet is about to notice. High-frequency trading has no view. It trades the plumbing -- the queue of orders waiting at each price, the milliseconds between one venue moving and another catching up, the fact that someone, somewhere, is about to trade and you can be standing in front of them or out of their way.
This page simulates that plumbing. $STONK represents our fictional ticker on one exchange, at one-millisecond resolution. You observe a market maker -- the participant whose entire job is to be on both sides of the book at once.
Simulation
This is the expert screen.
If you dont understand the charts, keep reading on. Come back after you finished the story.
- One session shows twenty seconds of the book up close.
- The verdict displays 3 different makers on the exact same order flow and their Monte Carlo PnL.
- Pro screen is the whole session the way a desk would look at it.
How to read the first panel, because it is the one nobody has seen before: it is the order book itself, not a P&L.
Every row is a price, every column a moment, and the brightness is how many shares were resting there, waiting -- green below the price (bids), red above it (asks). Most P&L charts show you what you made; this shows the thing you were standing in.
One cheat to know about: every trade on the tape is coloured by who took it -- noise, informed, sniper -- because the simulation is omniscient. Real flow is never labelled; how a maker tells the two apart after the fact is in How HFT makes money.
What each strategy actually does
The three pills are three rule sets. Everything else -- the flow, the news, the sniper -- is identical between them.
| Human scalper | Fast, naive maker | Fast, careful maker | |
|---|---|---|---|
| reaction latency | 100 ms | 1 ms | 1 ms |
| re-quotes every | 100 ms | 5 ms | 5 ms |
| quote | one lot each side, half-spread from the mid it last saw | same | same |
| inventory skew | none | none | retreats the heavy side one tick per three lots, at most two |
| at news | keeps quoting | keeps quoting | pulls both quotes for 150 ms, then returns |
| stops adding at | 10 lots | 10 lots | 10 lots |
The scalper and the naive maker differ in speed only, so if you set our reaction latency by hand they become the same strategy -- choose own speed to compare them.
A careful maker is not faster than the naive one; it is the same machine with two rules added -- lean your quotes against your inventory, and step away when news hits -- which is the whole argument of the page.
How each strategy ends up
| maker | what happens to it | where to see it |
|---|---|---|
| Human scalper | uncompetitive: its stale quotes keep crossing the book (every yellow-tinted row on the tape is a taker fee it paid by accident); small good sessions, bad news sessions | the tape's yellow rows; p5 |
| Fast, naive maker | often the worst of the three: speed puts it first in every queue, which is exactly where adverse selection lives, and without skew or withdrawal it collects the most toxic fills in the room | the adverse column; losing |
| Fast, careful maker | earns -- but not in every world: it steps off the road at every news line and gives up those fills, and in a quiet world the scalper that stayed on the road gets paid for staying | p5 and max DD, before the mean |
Speed is not a strategy. Speed is exposure; discipline is the strategy.
Who the sniper is
A program, in the exchange's own building, owned by the same kind of firm that makes markets. In the simulation it is one agent with a latency knob: it does nothing between news events, and after each one it takes every quote still resting at the old price -- up to 30 lots, ours included if our cancel has not landed yet.
Whoever is faster gets to be the sniper and the safe maker at once; whoever is slower gets to be the scalper. The basement trader clicking faster than us is not the sniper; he is the human scalper, and the sniper is what eats him. What being slower than it costs is The engineering, below.
Reading the PnL (panel 7)
Every line carries a ratio against its natural ceiling, so the number reads as good or bad: the money lines as a share of spread captured (gross), with the P&L as a net margin; position against the ten-lot cap; sniped fills against the number of news events; the wait as the chance that news arrives while the quote rests; drawdown as the share of gross given back at the worst point.
| line | what it is | why it matters |
|---|---|---|
| spread captured | Profit earned by buying slightly below the mid-price and selling slightly above it. | This is the money the job is supposed to make. |
| adverse selection | 1 second after each of our fills, where was the price? If it had moved against us, that gap multipled by shares. | Shows how much money smarter, faster traders took from you. |
| maker rebates | The exchange pays us $0.002 per share every time our resting order gets hit. | Essential baseline income that often keeps market makers profitable after costs. |
| taker fees | The exchange charges us $0.003 per share when we hit someone else's order. | Directly measures speed failures. Paying this means your orders were too slow. |
| inventory marked to mid | Value change of unsold shares still held in your portfolio at the end of the run. | Reveals if your P&L came from actual trading edge or simple price luck while holding stock. |
| session P&L | The sum of spread, rebates, adverse selection, taker fees, and inventory value. | The final bottom-line profit or loss for the trading session. |
| fills | Total number of executed trades and overall share volume. | The multiplier for your strategy—low fills mean you are barely competing. |
| avg shares ahead in queue | When we placed an order, how many shares were already waiting at that same price, ahead of ours. | Sitting far back means you mostly get filled during large, toxic price moves. |
| avg wait to fill | How long our orders sat there before getting hit. | Longer wait times leave stale quotes exposed to market changes, which incurs carry risk. |
| fills taken by the sniper | Outdated quotes hit by fast algorithms right after market news drops. | The direct cost of failing to cancel stale orders faster than high-frequency snipers. |
| time withdrawn | The percentage of the session spent with zero quotes active in the market. | Highlights the trade-off between dodging sudden market crashes and making trading income. |
| worst drawdown | The largest peak-to-trough drop in total equity during the trading session. | The core risk metric used by risk desks to determine capital limits and strategy survival. |
| liquidity left after news | Remaining order depth in the book immediately following a high-speed sweep. | Measures overall market fragility—when this drops to zero, flash crashes happen. |
Understanding a HFT
Every trader you have heard of holds a view on value, and they differ mostly by how far ahead they look and what evidence they use.
| Class | The question they ask | Their evidence | Holding period |
|---|---|---|---|
| WSB | is this going to the moon | vibes, momentum | whenever |
| Venture capital | what could this be worth | TAM, growth, CAC vs LTV | years |
| Equity manager | what is this worth | earnings, margins, factor exposures, Sharpe | months to years |
| Technical trader | where is the price going | the price chart itself -- MACD, RSI, patterns | days |
| Social-arb trader | where is attention going | mentions, trends, TikTok | hours to days |
| HFT | who is about to trade, and can I be in front of them or out of their way | the order book, the queue, latency | microseconds to seconds |
HFT is the only trader that trades flow instead of value. It makes the same money whether $STONK is a great company or a fraud, because it never holds $STONK long enough for that to matter. WSB and HFT are the two ends of one axis: one holds forever on no information, the other holds for milliseconds on nothing but information.
"HFT" names a speed tier, not a strategy. Inside it live at least three different businesses -- market making, latency arbitrage, and very-short-horizon prediction -- and they make money in different ways.
How did HFT happened?
NASDAQ started as an electronic quote board in 1971 when humans still traded by phone. After the 1987 crash, the Small Order Execution System was made mandatory so retail could always get filled, and a group of traders promptly learned to exploit it faster than the human dealers could update their quotes.
The "SOES bandits" are the first people to make a living from being quicker than the other side's screen. Electronic crossing networks followed in the 1990s, and the SEC wrote them a rulebook of their own in 1998.
Two regulatory changes then built the modern market almost by accident. Decimalization in 2001 (NYSE in January, NASDAQ in April) which replaced fractions with pennies, and the bid-ask spread -- the human market maker's whole income -- collapsed from a sixteenth of a dollar to a cent. The only way to make a living on a one-cent spread is volume, and volume means machines.
Then Regulation NMS (adopted 2005, phased in through 2007) required orders to be routed to whichever venue showed the best price, which split US trading across a dozen exchanges and handed a permanent arbitrage to whoever could see all of them fastest.
By the end of that decade, machines were roughly half of US equity volume -- the SEC's own 2010 review put the estimates at "50% or more".
The rest is the arms race becoming physical: a straight-line fiber cable dug from Chicago to New Jersey (2010, about $300 million, three milliseconds saved), then microwave towers because fiber was too slow, then a book (Flash Boys, 2014) and an exchange built around a deliberate 350-microsecond speed bump (IEX, approved 2016). Along the way HFT firms simply became the market makers that exchange specialists used to be. The casualties:
| who | their edge was | what took it | when |
|---|---|---|---|
| Day traders and scalpers | the spread itself: buy the bid, sell the ask, pocket an eighth | the eighth became a penny, and the penny went to the machines | 2001-2005 |
| Exchange specialists and dealers | a human monopoly on the order flow at their post | decimalization, then Reg NMS; the post went to electronic makers | 2001-2007 |
| SOES bandits | being quicker than a dealer's hands | machines quicker than any hands | late 1990s-2000s |
| Banks' arbitrage desks | spotting the same thing priced differently in two places | the same job, automated | 2000s |
| Long-horizon investors | patience | not killed: the cheapest execution in history | -- |
How does HFT work?
For each price, the exchange keeps a queue of orders waiting to trade there -- bids below the current price, asks above it -- first come, first served.
A limit order joins the back of the queue at its price. A market order sweeps the best queue first, then the next, until it is filled. Whoever is at the front of a queue when a market order arrives gets the trade. This is price-time priority.
Queue position is an asset. Two orders at the same price are not equal. The one at the front fills on the next uninformed order that comes through. The one at the back fills only when everyone ahead of it has been taken. Being last in line means you get filled precisely when you would rather not be.
The spread is not a fee; it is a price. The gap between the best bid and the best ask is what the market pays a maker to stand there. It is set by competition among makers, and it goes exactly as low as adverse selection and inventory risk allow.
How HFT makes money (ordered by impact)
1. Market making: sell the spread, many thousands of times
Quote a bid and an ask around the mid; when a buyer arrives you sell at the ask, when a seller arrives you buy at the bid, and the difference is yours.
On $STONK that difference is a cent, and the exchange adds a rebate for providing the liquidity that got taken. Multiply by hundreds of thousands of fills a day and the cents become a business.
The two numbers on the screen -- a $0.002 rebate for the maker and a $0.003 fee for the taker, per share -- are the US convention: Rule 610(c) of Regulation NMS has capped the fee for taking a displayed quote at $0.003 per share since 2005, and exchanges set their rebates just under it (see any exchange price list).
That cap is scheduled to change, slowly. A 2024 amendment cuts it to $0.001; it was upheld by the D.C. Circuit in October 2025; and its compliance date has since been pushed back twice -- to November 2026 by an order of October 2025, then to the first business day of November 2027 by an order of June 2026, which also lets exchanges charge up to $0.0015 in the meantime. As of this writing (August 2026) the $0.003 cap is still the one in force, and the simulation uses it.
In the meantime, market makers watch out for adverse selection. Defined by price at the moment of the fill, subtracted by the midprice one second later.
When an uninformed trader hits you, the price wanders and you keep the spread. When an informed trader hits you -- someone who knows where the price is going -- the price keeps going through your quote, and the fill was not income; it was the bad news arriving. A fill is evidence that you might have been wrong, and the market maker's real skill is telling the two kinds of fills apart and pricing the second into the spread.
This is also why the biggest HFT firms pay retail brokers for their customers' orders (PFOF). Retail flow is uninformed, so its fills low risk.
How do you tell informed flow from noise? You do not -- not at the moment of the fill. The simulation labels every trade because it is omniscient; a real maker counts thousands of fills and sorts them by everything it can observe -- which broker the order came through, its size, how soon after a news print it arrived, which venue -- and "toxic flow" is the label attached, after the fact, to the fills that kept losing.
2. Latency arbitrage: be first when the world moves
The same stock trades on many venues; an ETF and its basket are the same thing; a future and the spot it settles to are the same thing. When one of them moves, the others are momentarily wrong, and whoever reaches them first collects the difference.
Zero view on value, pure speed rank. In the simulation this participant is the sniper: when news moves $STONK's true value, every quote left on the wrong side is stale, and the sniper takes all of them -- at the old prices -- before their owners can cancel.
Whether your quote is among them is decided by one comparison: your latency against theirs.
3. Short-horizon prediction
The queue itself leaks information. A best bid with ten times the size of the best ask is more likely to hold than to break; the next tick is a little more likely to be up. Strategies that trade that milliseconds-ahead statistics are trying to catch a wave before it arrives.
Isn't this pennies in front of a steamroller?
By definition, yes: tiny gains, and somewhere out there a large loss. So how does the market maker not get flattened?
The trades that do get flattened -- short volatility, leveraged carry, the funds that blew up in 1998 and 2018 -- share one property HFT does not have: commitment. They hold a position they cannot sell when the steamroller arrives.
The market maker is a penny-picker with no commitment, and the business is engineered around that fact:
- Risk is position × time, and they hold neither. A crash takes seconds to minutes to develop; a maker's exposure per fill is a few hundred shares for a few hundred milliseconds, and it does not keep what it buys: there is a hard cap (ten lots here), and when it is long its quotes shift so the next customer is more likely to buy from it than sell to it -- the position drains away on its own. Panel 3 is that draining; avg position held in panel 7 is the number. Enormous turnover, a tiny position at any moment, and flat at the close.
- The spread is the steamroller premium, repriced every second. They do not hope adverse selection will stay away; they measure it, fill by fill, and change the quote when the flow turns toxic.
- They have the option to not be there. When news hits, or volatility jumps, a maker can quote more carefully: wider, smaller, or not at all. If enough makers do that, the spread widens until some other maker is greedy enough to take the risk at the new price. The 2010 flash crash was every maker stepping back at the same moment -- with nobody left to take the other side, prices fell through the hole until buyers were found far below. Their safety is the market's fragility.
- Speed reassigns the steamroller to someone slower. When news hits, the fastest firm cancels its quotes in a millisecond; the same event then runs over whoever was still quoting. You can play hot potato with anyone who is slower than you.
- The law of large numbers reduces their risk. Trade hundreds of thousands times, and your P&L stabilizes to a range you can accept.
What actually runs them over is operational, not directional: a deployment bug that kept firing orders cost one firm $440 million in 45 minutes in 2012; stale feeds, exchange outages, a risk check that fails open.
The classic penny-picker is a man who picks up slowly from the road. The market maker is someone who runs fast enough to pick up any penny, and the only thing that reliably kills him is his own shoelaces.
The engineering
Latency is the time from something happening in the world to your order arriving at the matching engine: the feed reaching you, your decision, the wire back.
It matters for one reason. After news, every quote resting at the old price is free money for whoever reaches it first, and your quote survives only if your cancel lands before the fastest predator's order. The cost of being slow has a shape:
loss to snipers ≈ (news events) × (how wrong a stale quote is, minus the spread it was paid) × P(your cancel arrives after the predator's order)
Only the last factor depends on speed, and it is a cliff, not a slope: faster than the sniper and we are never sniped, slower and we are sniped at every news event, faster still buys nothing. The cliff decides whether we pay the news tax, not whether we make money: a sniped fill costs a bounded amount (one lot times the jump, minus the spread we were paid), and whether that tax exceeds our income depends on how often news comes and how big the jumps are, against how often we get filled and at what spread.
Because the payoff is to rank, not to speed, the race has no finish line, and the total spent on it is a deadweight tax on everyone who trades -- the formal version is Budish, Cramton & Shim (2015), and the races have since been measured on exchange message data by Aquilina, Budish & O'Neill (2022):
-
(Left) There's a sniper with a fixed speed. If you're faster than him, he never catches your quotes — you lose nothing to him. If you're slower, he catches them every single time news hits. There's no "a bit slower, a bit worse". It's on/off.
-
Past the step you're already getting caught every time. So why does it keep going down as you get slower? Because slow quotes are wrong quotes — the price moved and yours didn't. And why does it flatten out near zero instead of going to minus infinity? Because a really slow quoter barely trades at all. Fewer trades = less to lose. You're not winning, you're just not playing.
-
The grey line (20 ms sniper) starts to fall way before 20 ms. This is because the sniper isn't the only guy hunting you. The informed trader also hits stale quotes, and he reacts a few milliseconds after news — but at random times, not on a fixed clock. A hunter with an exact clock gives you a sharp stair. A hunter who shows up at random times gives you a gentle slope. So with the slow sniper, the informed guy becomes the fastest hunter, that is when the curve is a slope instead of a stair.
-
(Right). A naive maker is never above zero at any speed. His worst spot is 5 ms: still fast enough to get filled constantly, too slow to be right about the price. Past 5 ms his line "recovers", not because it starts to make money, but because he quits. At 100 ms he trades about a third as much, so every number, good and bad, shrinks toward zero.
Both MM PnL meet when their latency gets slow enough, because at 100 ms everybody is the human scalper.
How much does it cost to be fast?
The simulation lets you pick a latency with a slider. Here is what each number costs to have.
| latency | what it takes | who has it | what it costs |
|---|---|---|---|
| 100 ms | a person, a screen, a mouse | you; any retail app | a laptop |
| 20 ms | a program on a rented server in another city, talking to the exchange over the internet | a hobbyist's algorithm | hundreds of dollars a month |
| 5 ms | a server in a data center near the exchange, ordinary software and network cards | a small trading firm | tens of thousands a year |
| 1 ms | co-location: your server in the exchange's own building, cables in the cage cut to equal length so nobody is a nanosecond closer; the exchange's direct data feeds, which arrive before the public tape | a mid-size HFT | hundreds of thousands a year in cabinets and feeds, before people |
| 0.1 ms | kernel bypass: the network card hands packets straight to your program, no operating system in between; lock-free code; clocks synchronized to nanoseconds so you can even tell who was first | most HFT firms | engineers |
| 0.005 ms | FPGAs: chips wired to read the feed and fire the order without a CPU in the loop -- about a microsecond from tick to trade, against tens of microseconds for well-written software | the top dozen firms | millions in hardware, more in people |
| between cities | microwave: radio towers on the straight line between two venues, because radio through air is faster than light through glass (below) | the top few | hundreds of millions |
The physics: why hardware beats software
Why do people buy buildings, cables and radio towers to solve a math problem?
Because in the late game, the race is decided by who arrives first, and arriving first is a matter of distance and hardware, not cleverness.
Light has a speed. In glass it travels at about two-thirds of its speed in air. Chicago's futures exchange and New Jersey's stock exchanges are 1,179 km apart, so light in a vacuum needs 3.93 ms one way, about 7.9 ms for the round trip.
The straightest fiber cable ever dug between them managed 6.65 ms one way (about 13 round trip). Microwave towers on the straight line got within 0.1 ms of the physical limit by 2012, about 8 round trip, at the cost of low bandwidth and outages in rain (Laughlin, Aguirre & Grundfest 2014, who measured the drop in the timestamps of the trades themselves).
A microsecond saved in a chip is worth nothing next to a millisecond saved by a shorter path, so the money goes into tower leases and radio licenses.
Software can be copied; a tower on the straight line cannot. There is even a physics paper computing the best places on Earth to put trading nodes given the speed of light (open-access copy).
Simulation details
What the simulation ignores
| here | in practice | why it matters |
|---|---|---|
| One venue. | Latency arbitrage lives between venues: a price prints on one exchange and the race is to the fifteen others. | The sniper here is a stand-in for that whole cross-venue race. |
| The sniper and the informed trader see the true value directly. | Predators infer it from correlated instruments and the queue: the future that leads, the same stock elsewhere, the imbalance between bid and ask depth. | Our losses to the sniper and the informed trader are higher here than in real life: the sandbox's predators are sharper than real ones. |
| Order flow is synthetic: noise traders at random depths, one informed trader, news as jumps. | Hidden orders and icebergs, thousands of participants with different horizons, trades that arrive in clusters. | The sandbox book is smoother than a real one, so queue estimates are easier here. |
| No tick-size rules, no opening or closing auctions, no halts, no short-sale limits. | The tick is a rule (Rule 612); the day opens and closes with auctions; limit-up/limit-down bands and circuit breakers stop trading; Rule 201 restricts short sales after a 10% fall. | Every one of these changes what a maker should quote around it. |
| Our maker quotes one lot per side. | Makers layer several price levels, quote every venue at once, hedge inventory in correlated instruments, and manage risk across thousands of symbols. | Our fills, inventory swings and P&L are all "one lot" small. |
| Every number is invented -- fees, rebates, latencies, the size of a news jump -- to sit in believable ranges. | The real numbers are proprietary tick data and fee schedules. | Read shapes, not dollars |
What each of our parameters do
The simulator's world is nine dials; our own maker's settings are the rules table under the simulation.
| Parameter | Simple Setting | What It Simulates |
|---|---|---|
| True Value | Hidden price moving randomly by a fraction of a tick | The actual underlying value of the asset behind market noise. |
| News | Sudden price jumps of 4 to 16 ticks | Major public announcements (e.g., earnings reports, economic data, price updates). |
| Crowd Lag | 100 millisecond delay | The reaction time of average automated market participants. |
| Informed Trader | Bot trading 2–4 lots when price drifts more than 1.5 ticks from true value | Institutional traders using private signals to pull market prices toward fair value. |
| Sniper | Fast bot snapping up to 30 stale orders right after news | High-frequency latency arbitrageurs picking off slow, outdated quotes. |
| Resting Noise | ~50 random limit orders per sec expiring after ~2 seconds | Background liquidity continuously building and clearing the order book. |
| Taking Noise | ~25 random market orders per sec | Regular retail and institutional buy/sell order flow. |
| Fees | +$0.002 rebate for making; -$0.003 fee for taking | Standard US exchange maker-taker fee structures. |
| Capital at Risk | $100,000 maximum position size (10 lots) | The baseline cash allocation used to calculate equity drawdowns. |
Glossary
| Term | Meaning |
|---|---|
| Noise trader | uninformed flow -- a fund rebalancing, a retail order; trades for reasons unrelated to where the price is going |
| Informed trader | someone who knows, roughly, where the price is going and trades toward it; the fills that cost a maker money |
| Sniper | this page's latency arbitrageur: after news, takes every quote left at a stale price |
| Limit order | an order that waits in the queue at its price; adds liquidity |
| Market order | an order that sweeps the best queues immediately; takes liquidity |
| Price-time priority | at each price, first come first served |
| Queue position | how many shares are ahead of yours at your price |
| Spread | best ask minus best bid; the maker's gross income per round trip |
| Adverse selection | the loss from being filled by someone who knew where the price was going |
| Markout | the mid price some time after your fill, compared to your fill price |
| Maker rebate / taker fee | what the exchange pays for adding liquidity and charges for removing it; in the US the taker fee is capped at $0.003 per share (a cut to $0.001 is scheduled for November 2027) and rebates sit just under it |
| Latency | the time from an event in the world to your order landing at the exchange; what matters is yours relative to the fastest predator's, not the number itself |
| Inventory | the position a maker accumulates by accident; the thing it skews quotes to shed |
| Latency arbitrage | being first to the quotes that a price move has made stale |
| Co-location | renting rack space inside the exchange's data center |
References
Models the simulation is built on:
- Glosten, L. & Milgrom, P. (1985). Bid, ask and transaction prices in a specialist market with heterogeneously informed traders. Journal of Financial Economics 14(1), 71-100. The adverse-selection logic behind the fill microscope.
- Avellaneda, M. & Stoikov, S. (2008). High-frequency trading in a limit order book. Quantitative Finance 8(3), 217-224. The inventory-skew rule the careful maker uses.
- Menkveld, A. (2013). High frequency trading and the new market makers. Journal of Financial Markets 16(4), 712-740.
- Budish, E., Cramton, P. & Shim, J. (2015). The high-frequency trading arms race: frequent batch auctions as a market design response. Quarterly Journal of Economics 130(4), 1547-1621. Why the race is a tax.
- Aquilina, M., Budish, E. & O'Neill, P. (2022). Quantifying the high-frequency trading "arms race". Quarterly Journal of Economics 137(1), 493-564. Latency-arbitrage races measured on exchange message data: about one per minute per stock, most decided in 5-10 microseconds.
History and figures:
- Library of Congress, Wall Street and the Stock Exchanges: historical resources -- NASDAQ's 1971 launch as an electronic quotation system.
- Harris, J. & Schultz, P. (1998). The trading profits of SOES bandits. Journal of Financial Economics 50(1), 39-62.
- SEC (1998). Regulation of Exchanges and Alternative Trading Systems, Release 34-40760.
- SEC (2000). Order directing the exchanges and Nasdaq to phase in decimal pricing; NYSE completed the switch on 29 January 2001, NASDAQ on 9 April 2001.
- SEC (2005). Regulation NMS, Release 34-51808; Rule 610(c) access-fee cap, 17 CFR 242.610; 2024 amendments reducing the cap to $0.001; compliance deferred to November 2026 by SEC Release 34-104172 (31 October 2025) and to November 2027 by the order of June 2026, 91 FR 36022.
- SEC (2010). Concept Release on Equity Market Structure, Release 34-61358 -- HFT share-of-volume estimates "typically exceeded 50%".
- CFTC & SEC staff (2010). Findings Regarding the Market Events of May 6, 2010.
- Spread Networks (2010), the Chicago-New Jersey fiber; Laughlin, G., Aguirre, A. & Grundfest, J. (2014). Information transmission between financial markets in Chicago and New York. Financial Review 49(2), 283-312 -- the fiber-then-microwave latency drop, measured.
- Knight Capital Group (2012). Press release on the 1 August 2012 trading loss -- roughly $440 million in about 45 minutes.
- SEC (2016). Approval of IEX as a national securities exchange, with its 350-microsecond speed bump.
- Lewis, M. (2014). Flash Boys: A Wall Street Revolt. W. W. Norton.
Open-source references used for the screens:
- Databento, How to build an order book (DOM) visualization -- the price-ladder idiom.
- OrderFlowMap -- a Bookmap-style liquidity heatmap in one HTML file.
- hftbacktest -- queue-position and latency models for backtesting market making.
- ABIDES -- agent-based market simulation with noise, value and market-maker agents.
Drone Show Simulator
An interactive 3D drone-swarm simulator. Watch hundreds of drones morph between formations under real physical limits — max acceleration, minimum separation, and wind — and see why a show succeeds, smears, or ends in collision.
Negawatt: Balancing the grid
Why does electricity cost $800 at 7am and less than nothing at lunchtime? Here is a simulation for how the power grid stays perfectly balanced every single second.