Trend-line mysticism, measured
You hear it everywhere — technical analysis is horoscopes for the financially curious. The data, it turns out, agrees rather emphatically.
You hear it everywhere: technical analysis is mysticism. The argument runs the way one might dismiss horoscopes — people see what they want, the chart tells them what they were already going to do, and the real signal is the desire to confirm a feeling. It made me smile, and then it nagged at me, because "are trend lines on price charts actually useful" is a provable question and the data isn't hard to obtain.
So I built a thing.
The setup
Take a strict geometric definition of a trend line: two confirmed swing points, a greedy envelope scan from each anchor, no hand-drawing, no vibes. Apply it to ~3,800 stocks across decades of price history. Every time a line came within 4% of the current price, I called it an active line and started watching it.
For each active spell I recorded five geometric features (gradient, touch count, line lifespan, average gap between line and candles, days since last touch) and one binary outcome: did price close through the line within 30 trading days? I bucketed all the events into a 5-dimensional lattice of historical break rates.
Important detail: each line counts once per contiguous active spell, not once per day. A line that has been sitting near price for two months is one event, not sixty. We're measuring how often lines break, not how often calendar bars elapse.
The lattice ended up holding 8,164 cells, fed by 414,746 support events and 799,123 resistance events. That's well over one million observations on the most basic question in the genre: do these things hold?
The depressing first answer
Active supports break 76.2% of the time within 30 trading days. Resistance, 77.3%. So the TradingView post with three rocket emojis claiming "support holds, this is the bottom" is, on average, right about one time in four.
That's the part that delights me. The whole field of trend-line analysis, when applied as a binary "this line will hold" trade, isn't just "no signal here, sorry". It's measurably negative signal: conviction in the line will systematically push you below the coin-flip baseline. I would have accepted "useless". The data says "harmful".
What the lattice can actually do
In the interest of fairness: the lattice doesn't end at the population baseline. The five geometric features carry information. A long-lived line with many touches breaks a bit less often than baseline. A steep line drawn from a single recent swing breaks a bit more. The strongest support cells land at about 55% hold — well above the 24% baseline, but still below 50/50. The weakest cells land at about 8% hold — a third of an already-bad baseline. That's a roughly 7× dynamic range between the cell where supports hold most and the cell where they hold least.
That's real refinement, and it's where the value of the lattice actually lives. But notice what it implies: even the strongest hold-rate cell, the historically safest kind of support, still breaks 45% of the time. You can't use this as a binary "the line holds" trade. What the lattice tells you, more usefully, is which lines deserve even less faith than the population already shouldn't be receiving. It's the diagnostic equivalent of a doctor saying: "yes, you're sick, but I think you'll survive."
Or, framed for traders: the lattice doesn't tell you to bet on lines holding. It tells you which lines you should bet against more aggressively, and which to leave alone.
You can poke the lattice live: every chart on the site shows the per-line P(hold) / P(break) probability, and the probabilities page ranks the entire market by it. Watch what the badges say. Then watch what the price does.
What this proves, and what it doesn't
This proves the strong form of the mystic critique. Trend-line analysis, applied as the binary "this line will hold" trade, is worse than random. The data isn't ambiguous and the sample is comfortably over a million events.
What it does not prove is that trend lines contain no information at all. It only proves that "will this specific line hold?" is the wrong question. The hold-rate is so uniformly bad that the binary frame can't extract whatever signal is hiding in there. Maybe the right question is different. Maybe a model that ranks stocks against each other, instead of trying to predict any individual line's fate, can find structure the binary frame is blind to.
That's the next post. We trained twelve neural networks on the same data. They found something. Spoiler: still not the 90% accuracy your local broker's chart pattern course was promising. But, charmingly, much better than 24%.