A rule that beats shuffled copies of its own data is a candidate. A rule that only beats nothing is a story.
Before any rule gets paper money, it has to pass this. Most don't.
#algotrading #quant #buildinpublic #systematictrading
A smarter-looking rule didn't beat the simple one on unseen data. The simple one stays. #algotrading #quant #buildinpublic
87% of our real trades win. We're still not rich.
89 closed live trades, 30 days. Average win +0.9%. Average loss -2.2%. Half of the losers came on one bad day.
Win rate is not profit. Each bar = one real trade.
#algotrading #quant #buildinpublic #systematictrading
We never edit the test harness to make a result pass. Fingerprint it before the run, compare after: if it moved, the trial is void. #algotrading #quant #buildinpublic #systematictrading
Yesterday a test said "confirmed". Then we asked a simpler question: how much of that gain is just the market going up while we were exposed? Once controlled for, the edge shrank to nothing. A pass is a hypothesis, not a verdict. #algotrading #quant #buildinpublic
Write the pass rule before the test runs, not after. If you choose the finish line once you have seen the result, every idea looks like a winner. Rule first, result second. #algotrading #quant #buildinpublic #systematictrading
Today the lab tested another batch of ideas traders swear by. None survived unseen data, after fees. One scary number turned out to be bookkeeping, not a loss, and I only believed it after recomputing it a second way. #algotrading #quant #buildinpublic #backtesting
374 ideas tested against real fees. 340 discarded (91%). Most ideas fail; the process exists to find that out cheaply, before real money does. #algotrading #backtesting #buildinpublic #systematictrading
1/5 An AI tells you "done, it works". What if it doesn't? This tiny skill makes it check its own work a DIFFERENT way before handing it over. We use it every day. Thread ๐
One stuck child process can freeze a whole loop. Give every subprocess a deadline: a hung step should become an error you can log, not a silent stall. #algotrading #quant #buildinpublic #systematictrading
A log that never stops growing is a disk that fills at 3 a.m. Keep the recent tail, drop the old head, and the machine that runs the bot stays boring. Boring is the goal. #algotrading #quant #buildinpublic #systematictrading
A bot that stops reporting is a bot that stopped. Every process leaves a pulse; a watcher raises the alarm the moment it goes stale, and a missing pulse counts as dead. No news is not good news. #algotrading #quant #buildinpublic #systematictrading
A crash mid-save should never leave a half-written file. Write to a temp file beside the old one, flush it to disk, then swap with one atomic rename. Either the old version survives or the new one does, never a mix. #algotrading #quant #buildinpublic #systematictrading
Wall clocks jump. Daylight saving, time sync corrections, a laptop waking from sleep. Measure waits with a monotonic clock and keep wall time for log labels only. Boring plumbing is most of the job. #algotrading #python #buildinpublic #systematictrading














