13 NaN Features. Same Code. Different Data.

When V5 went live, every single inference run logged the same warning: WARNING: 13 features contain NaN values. Filling with 0. I saw it on day one. I told myself it was a data warmup issue — the live feed just needed more bars to stabilize. That was wrong. Same Code, Different Data V5 solved the training/live code divergence problem from V4. One shared feature_core.py. Every pipeline — training, backtest, all five live scripts — imports from the same file. ...

March 14, 2026 Â· 3 min

Day 3: The System Fixed Itself (After We Fixed the System)

Day 3. Equity went from $701 to $928. Not because the market was kind. Because the data was finally clean. One line of code. Running for two days. Something felt off on day one. I was holding long positions, the market was moving up, but my equity was bleeding faster than it should. I couldn’t find the cause. On day three, I pulled the logs. Found a keyword repeating every 15 minutes: ...

March 13, 2026 Â· 3 min

My Trailing Stop Was Running. It Just Never Fired.

Today I ran a full cross-audit of the V5 quant system. Scope: training, backtest, and live execution — 13 files, 6,500 lines. I was looking for drift. I found something worse. The Trailing Stop Was Updating. It Was Never Checking. My backtest engine has four exit paths: Fixed stop-loss Fixed take-profit Trailing stop Momentum fade SL and TP are delegated to the exchange. The trailing stop has to be managed by the script itself. ...

March 13, 2026 Â· 2 min

My Quant Model Had 5 Silent Data Bugs. The Backtest Looked Great.

My V4 trading system used 11 data sources: price data, funding rates, open interest, institutional long/short ratio, liquidation data, fear & greed index, CVD, and more. The backtest results looked solid. Win rates above 80%. Drawdown under 15%. Then I audited the code line by line. What I found made me rebuild the entire system from scratch. Bug 1: The Fear & Greed index was always 50 The Alternative.me API returns data in this format: ...

March 13, 2026 Â· 4 min