Python for programmers, prompts for data analysts.
Part 33 found a crash that never happened: Amazon's raw price fell 95% overnight because of a 20-for-1 split, while the adjusted price barely moved. The fix was simple — use the right
column. But that fix rests on an assumption nobody checked: that the split records themselves are correct.
A reader on dev.to pointed out how to check them. A real split has to leave a mark in the raw prices: on the split date, the price should drop by almost exactly the split ratio. So you can
test the records against the market in both directions. Does every recorded split show up in the prices? And does every split-sized jump in the prices have a record behind it?
Want to try this yourself? The EODHD MCP Server is what pulled the data above — connect it to Claude and ask your own
questions (affiliate link).New here? The Setup covers everything you need before your first prompt.
Does every recorded split show up in the price?
🟧 PROMPT
Use the eodhd MCP to get the split history for
AMZN, AAPL, NVDA, TSLA and GOOGL. For every split
since 2014, compare the raw closing price before
and on the split date with the recorded split
ratio.
Nine splits since 2014. Raw price ratio across each split date, against the recorded ratio:
AMZN, Jun 2022 — 19.61 vs. 20 (−2.0%)
AAPL, Jun 2014 — 6.89 vs. 7 (−1.6%)
AAPL, Aug 2020 — 3.87 vs. 4 (−3.3%)
NVDA, Jul 2021 — 4.04 vs. 4 (+0.9%)
NVDA, Jun 2024 — 9.93 vs. 10 (−0.7%)
TSLA, Aug 2020 — 4.44 vs. 5 (−11.2%)
TSLA, Aug 2022 — 3.01 vs. 3 (+0.3%)
GOOGL, Apr 2014 — 1.99 vs. 1.998 (−0.6%)
GOOGL, Jul 2022 — 20.50 vs. 20 (+2.5%)
A raw ratio will almost never match the split exactly, because the stock also moves on the split day itself. What matters is whether the gap is a plausible one-day move. Eight of the nine
land within about 3%. The ninth, Tesla in August 2020, is off by 11% — which looks alarming until you check the day: Tesla's stock jumped about 12.6% on the first session after that split.
The record is right; the market was just busy.
All nine records agree with the prices. Every split left its fingerprint.
Does every split-sized jump have a record behind it?
🟧 PROMPT
Now go the other way. Pull raw daily closes for
the same five stocks since 2014 and flag every
one-day move larger than 30%, up or down. Does
each one match a recorded split?
16,035 trading days across five stocks. Only nine one-day raw moves exceeded 30%, and all nine fall exactly on a recorded split date:
AAPL: Jun 9, 2014 and Aug 31, 2020. NVDA: Jul 20, 2021 and Jun 10, 2024. TSLA: Aug 31, 2020 and Aug 25, 2022. GOOGL: Apr 3, 2014 and Jul 18, 2022. AMZN: Jun 6, 2022.
No large jump without a split behind it, and no recorded split without a jump.
For these five stocks, the records and the prices agree in both directions. That's the reassuring result. The more useful one came from how the check was built.
My first version was stricter: flag only moves that land within 4% of a simple fraction like 1/2, 1/4 or 1/20. It found eight of the nine splits and missed Tesla in August 2020, because a
5-for-1 split plus a 12.6% rally that same day produced a ratio of 4.44, nowhere near 5. A tight filter would have reported that split as missing. The loose one, "any move over 30%",
caught it. The scan's job is to put candidates in front of you, not to decide on its own, so it's better to cast a wide net and look at a handful of hits than to tune it so tightly that a
real event slips through.
A word of honesty
The first trap is one I nearly walked into. It's tempting to verify a split record against the adjusted close — but the adjusted close is calculated from the split records, so it will
always agree with them, to the cent. That check proves nothing. The only independent witness is the raw price, which is why both prompts used nothing else.
Five of the most-watched stocks in the world are also the easiest possible test. Errors in corporate-action data are far more likely in small companies, delisted ones, foreign listings,
and anything that traded thinly. A clean result here says the method works, not that every record everywhere is right. The nastiest error a dev.to reader described — a 1-for-20 reverse
split stored as 20-for-1, which leaves the adjusted series perfectly smooth while every earlier price is off by a factor of 400 — didn't turn up in this sample. This scan is how you would
catch it if it did.
Two records were worth a second look even though they passed. Alphabet's April 2014 "split" was really the distribution of new Class C shares, recorded with the odd ratio 1,033 for 517
rather than a clean 2-for-1. And some of Tesla's raw closes carry strange decimals, like $498.3201, which suggests those "raw" prices may themselves have been rebuilt from adjusted data.
Neither changes the result, but both are reminders that the raw column isn't automatically untouched.
Finally, the question another reader added: which rows aren't there at all? All five series have exactly 3,207 trading days with the same start and end, so none has a gap the others don't.
But that's a relative check. A day missing from every series at once would pass it silently, and a check can only score what exists. Not investment advice.
Final Thoughts
This is the thirty-fifth article in the series Unlock Real-Time Market Intelligence with EODHD and Claude, and a direct sequel to Part 33. That one said: use the adjusted column. This one asked whether the records behind
the adjustment deserve that trust — an idea that came straight from readers on dev.to.
Two prompts checked the records against the market, once in each direction.
So here's what they found: across 16,035 trading days and five stocks, there were exactly nine one-day raw moves larger than 30%, and every one of them landed on a recorded split. Every
recorded split, in turn, showed up in the raw prices. The data passed. The lesson came from the method: verify a record against something that wasn't built from it, and set the net wide
enough that a real split on a busy day can't slip through. Every split leaves a fingerprint — but only in the column that hasn't been wiped clean.
If this made you curious, the MCP Server is free to try — The Setup walks you through it.
← Part 34: Before You Copy a Senator's Trade, Check the Date
Top comments (1)
The $498.3201 is worth chasing, and I think it explains itself: 498.3201 / 3 = 166.1067, which is Tesla's real 31 August 2020 close of $498.32 adjusted for the 2022 3-for-1 split and rounded to four decimals. So that "raw" close looks computed back from an adjusted price rather than taken from the exchange. That matters for the method, because a raw price rebuilt from adjusted data is only as independent as the adjustment it came from, which is the adjusted-close trap from your honesty section, one step removed. Two cheap guards: flag any raw close with more decimals than the market quoted (official US closes above a dollar are in whole cents, so four decimals in 2020 means it was computed), and for the split-date comparisons take the before-and-after closes from a second source.