Chapter 1 — The Scaffold
We built a trading system that watches BTC price charts the way a human trader does: a 48-candle viewport rendered as a 4-panel raster grid (price + volume, RSI, MACD, DMI/ADX), encoded into a 10,000-dimensional bipolar vector. 25 rows × 48 columns × 23 color tokens. Every candle, every wick, every indicator line — captured as faithfully as a screenshot.
We gave it a thought encoder too. Named facts about the chart: “RSI is diverging from price,” “volume is contradicting the rally,” “close is near the 48-candle range high.” 120+ facts per candle, each a compositional binding of atoms in the same 10,000-dimensional space.
Both encoders fed identical learning machinery: a Journal. Two accumulators (buy, sell) collect evidence from candles labeled by what happened next. A discriminant — the normalized difference between buy and sell prototypes — learns to separate the two classes. One cosine against the discriminant produces a prediction: direction and conviction.
We started with both. Visual and thought. Two journals, multiple orchestration modes: meta-boost, agree-only, weighted, visual-led, thought-led. We tried every combination.
What happened
Section titled “What happened”Visual alone: 50.5% accuracy. Barely above random.
Thought alone: 57.1% accuracy. Real signal.
Combined: always worse than thought alone. Visual added noise to interpretation.
We tried to fix visual. Visual amplification — use visual conviction to boost thought’s signal. No improvement (convictions are correlated). Visual as a veto — skip trades where visual disagrees. Made it worse (the disagreement was the signal). Visual engrams — cluster winning visual vectors to recognize “chart patterns.” We ran the analysis.
The result: zero.
Win-Win cosine: 0.4031. Win-Loss cosine: 0.4026. Gap: 0.0004.
There is no structure in the visual encoding that separates winning trades from losing trades. None. The most faithful possible representation of a price chart — every pixel, every color, every indicator line — contains no exploitable pattern for predicting direction.
But thought vectors, encoding the same data as named relationships, showed d’ = 0.734 separation. The signal was there. Not in the chart. In the interpretation of the chart.
The conviction flip
Section titled “The conviction flip”The discriminant learns what trend extremes look like. At the 36-candle horizon, established trends are exhausted. The system is confidently wrong about continuation — which means it’s confidently right about reversal, if you flip the prediction.
This is the conviction flip. When conviction exceeds a threshold, reverse the direction. The system doesn’t predict reversals directly. It identifies trend extremes with high confidence, and the flip converts that into a reversal trade.
The curve
Section titled “The curve”The relationship between conviction and accuracy follows:
accuracy = 0.50 + a × exp(b × conviction)Three phases:
- Below 0.13: noise. 50%. The discriminant’s cosine is indistinguishable from random.
- 0.14 to 0.22: signal emerges. 55%. Enough facts are voting coherently.
- Above 0.23: exponential zone. 63%+. The thought vector screams “extreme.”
The curve is continuous. Monotonic. Every step up in selectivity produces proportionally better accuracy. At conviction ≥ 0.22: 60.2%, 676 trades. At ≥ 0.24: 65.9%, 317 trades. At ≥ 0.25: 70.9%, 86 trades.
This curve is not an artifact. It’s the geometry of the encoding space. The discriminant direction separates two class centroids in 10,000 dimensions. Conviction measures alignment with that direction. Higher alignment means more facts voting in the same direction — the “wisdom of crowds” in vector algebra. The exponential emerges because the probability of many independent facts coincidentally aligning in the same direction decreases exponentially as you require more of them.
What we tried that didn’t work
Section titled “What we tried that didn’t work”Every adaptation experiment: faster decay (0.998), adaptive state machine, dual journal blending with subspace residual — all performed worse than fixed decay 0.999. The discriminant needs memory depth. Regime transitions hurt, but every attempt to react costs more in stable periods.
Fact pruning: removing always-true facts (fire-rate suppression) hurt by 2.3%. Weighted bundling by discriminant alignment created a positive feedback loop. The discriminant is more robust than expected — it handles noisy facts on its own.
Regime prediction: conviction level, variance, subspace residual — none predict bad epochs. The thought manifold is regime-invariant (53% explained ratio, stable eigenvalue structure). The data structure doesn’t change between regimes. Only the discriminant direction shifts.
Higher dimensions: 16k and 20k showed no improvement over 10k. Signal is the bottleneck, not vector capacity.
What we proved
Section titled “What we proved”- The conviction-accuracy curve is real, continuous, and monotonic.
- Thought encoding carries signal. Visual encoding does not.
- The system can be reduced to one economic parameter: minimum acceptable edge.
- The exponential curve derives the trading threshold, position sizing, and trade gate from that one parameter.
- At q99 (top 1% conviction), 59.7% accuracy over 100,000 candles — approaching territory that published ML research calls unreliable.
- The first 40,000 candles: 75.6% accuracy.