Skip to main content

Algo Development

real-time greeks aggregation: knowing your portfolio delta/gamma at sub-second speed
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
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
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
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
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
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
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.
signal decay and execution latency - my hidden edge killer
2:15am on a monday. been staring at fill data for the past six hours. march has been rough. not catastrophically down, but underperforming where my models say i should be. january was decent (+2.1%). february was a loss (-1.3%). march was supposed to recover and it’s just… flat.
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.
async signal generation - why your pipeline is probably too slow
been refactoring my signal generation pipeline for the last 2 weeks. old version was synchronous - fetch data, compute indicators, generate signal, repeat. worked fine when i was running 3 strategies. now i’m running 11 and the whole thing was choking.