Python
strategy health scoring: detecting algo decay before it wrecks your Q2
·1785 words
2:45am monday.
first trading day of Q2. Q1 is officially in the rearview — closed at basically flat, full numbers are in friday’s post. the weekend was heavy. not going into it right now. but Q2 starts regardless, and the algos don’t wait for you to process.
q1 close: final numbers, colo benchmarks, and q2 setup
·1211 words
friday night. Q1 officially in the books.
did the math earlier while A. was cooking. she noticed i went quiet and just left me to it. that’s one of the things i didn’t expect about being married — how well she reads when to give space. anyway.
real-time greeks aggregation: knowing your portfolio delta/gamma at sub-second speed
·2716 words
2:15am wednesday.
still processing this week. the q1 factor attribution post from sunday was cathartic but it also made me confront something i’d been papering over: i was flying blind on real-time greeks for most of march. not completely blind — i had position-level greeks from IB’s TWS feed. but aggregating them into a coherent portfolio view? that was a manual spreadsheet thing i’d run every few hours.
q1 factor attribution: theta is the edge, delta drift is the problem
·1241 words
q1 is in the books. three months, roughly flat performance, and a clear pattern in the trade data that tells me exactly what needs to change for q2.
jan: +2.1%. feb: -1.3%. march: -0.9% (locked at friday close). quarter: -0.13% net. account moved from $1.196M to about $1.194M. call it flat with a slight downside tilt.
march vol spike: when the risk engine earns its keep
·1429 words
2:30am friday. rough week in the books.
march has been a whole thing. tariff headlines dropping every 48 hours, VIX spiking then partially recovering, nobody knows what SPX does next. january was decent (+2.1%), february went against me (-1.3%). march hasn’t been great either. week ending today, i’m down about $2.3k for the five sessions. month’s probably closing around -1%.
implied vol surface in python: stop guessing what the market thinks
·1944 words
4:30 AM. been staring at vol surfaces for three weeks straight. finally got the pipeline clean enough to write about it.
if you’re trading options without a vol surface you’re flying blind. period. everyone talks about delta and theta but the actual edge is in understanding where implied vol is mispriced relative to what it should be. that’s the surface. that’s where the money is.
crypto funding rate arb: the quiet alpha i've been running for months
·1364 words
past 2am. BTC arb just settled a clean +$870 position. wide awake. writing this instead of sleeping.
been running a funding rate arb strategy across my crypto book since late november. never posted about it because honestly it’s kind of a boring trade to explain. no dramatic wins, no blowups, just steady quiet alpha sitting off to the side of everything else. averaging $2-4k a month net with basically zero correlation to my options or futures book.
order book imbalance - building a real-time alpha signal for crypto momentum
·1705 words
lied about sleeping.
got into bed, laid there for 45 minutes, kept thinking about something. went back to the desk.
the signal decay issue i diagnosed tonight (latency routing on crypto momentum) is real and i fixed it. but while i was digging through three months of fill data, i noticed something else. something i’d been ignoring entirely.
options flow scanner: catching smart money before the move
·2197 words
it’s 1:30am. A. passed out on the couch around midnight waiting for me to come to bed. carried her there, went back to the desk. couldn’t sleep anyway.
march has been annoying. january was solid (+1.9%). february was decent (+2.3%). march so far: -0.5% with two weeks left. not a disaster but it stings after a clean Q4. the algos aren’t broken, the signals are just getting weaker in this chop. SPX has been range-bound for three weeks and my momentum strategies are getting whipsawed.
dynamic position sizing - kelly criterion meets regime detection
one of the dumbest things i did in 2023 was running fixed position sizes. every trade was the same size regardless of conviction, volatility, or recent performance. looking back it’s obvious why i hemorrhaged $180k - i was sizing up the same during high-vol crashes as during calm trending markets.