Market-data feed drops: what my screen shows versus what the book is doing
Posted: Wed Sep 30, 2026 9:05 pm
The scariest few seconds on my desk aren't a loss. They're when the quotes stop updating and I haven't noticed yet. A frozen feed looks exactly like a quiet market. So I built a few simple checks that tell me when the screen is lying.
## Rails
- A clock widget with seconds sits next to the Level 2 window, and the platform shows the time of the last print. If the last print on SPY is more than 5 seconds old during RTH, something is wrong, because SPY doesn't go quiet for that long in regular hours.
- A second, independent quote source (a phone app on a different network) is set up before 09:25 ET with SPY and my top A-list name.
- If the feed looks stale, I stop entering new orders right away. I check open positions on the second source, and if I'm holding and can't confirm the price, I flatten through the broker's backup route: web, mobile or phone.
- I write the time and duration of every stale-feed event in the journal.
## Worked example (illustrative)
10:27 ET. I'm long 200 shares of a $44 name from 44.15 with a stop at 44.02. My Level 2 shows 44.21 bid and hasn't moved for a while. I glance at the SPY last-print time: 10:26:49. The clock says 10:27:03, so it's 14 seconds stale.
I pick up the phone app: the name is at 43.98 bid. My stop may or may not have triggered at the broker. The mobile app shows the position still open. I sell 200 at market from mobile and fill at 43.96. That's 19 cents a share, about 6 cents worse than the planned stop loss. If I had trusted the 44.21 on the frozen screen, it would have been worse.
The feed reconnects at 10:29 ET. No new trades until I've restarted the platform and confirmed quotes match the second source.
## Failure modes
- Reading a frozen quote as "it's holding well."
- Having a backup source I've never actually logged into on a live morning.
- Re-entering straight after reconnect without checking that positions and orders match.
## When to skip
- If the feed has dropped twice in one session, I finish the day flat.
- If my second source isn't working at 09:25 ET, I trade at reduced size or not at all.
- After any platform update I haven't tested on a live feed.
Diagram: two screens side by side, one frozen at 44.21 and one live at 43.98, with a "last print > 5s old?" check box and an arrow to "flatten via backup route."
## Rails
- A clock widget with seconds sits next to the Level 2 window, and the platform shows the time of the last print. If the last print on SPY is more than 5 seconds old during RTH, something is wrong, because SPY doesn't go quiet for that long in regular hours.
- A second, independent quote source (a phone app on a different network) is set up before 09:25 ET with SPY and my top A-list name.
- If the feed looks stale, I stop entering new orders right away. I check open positions on the second source, and if I'm holding and can't confirm the price, I flatten through the broker's backup route: web, mobile or phone.
- I write the time and duration of every stale-feed event in the journal.
## Worked example (illustrative)
10:27 ET. I'm long 200 shares of a $44 name from 44.15 with a stop at 44.02. My Level 2 shows 44.21 bid and hasn't moved for a while. I glance at the SPY last-print time: 10:26:49. The clock says 10:27:03, so it's 14 seconds stale.
I pick up the phone app: the name is at 43.98 bid. My stop may or may not have triggered at the broker. The mobile app shows the position still open. I sell 200 at market from mobile and fill at 43.96. That's 19 cents a share, about 6 cents worse than the planned stop loss. If I had trusted the 44.21 on the frozen screen, it would have been worse.
The feed reconnects at 10:29 ET. No new trades until I've restarted the platform and confirmed quotes match the second source.
## Failure modes
- Reading a frozen quote as "it's holding well."
- Having a backup source I've never actually logged into on a live morning.
- Re-entering straight after reconnect without checking that positions and orders match.
## When to skip
- If the feed has dropped twice in one session, I finish the day flat.
- If my second source isn't working at 09:25 ET, I trade at reduced size or not at all.
- After any platform update I haven't tested on a live feed.
Diagram: two screens side by side, one frozen at 44.21 and one live at 43.98, with a "last print > 5s old?" check box and an arrow to "flatten via backup route."