Infrastructure
replaying the yen carry unwind: validating sqs against a real vol event
·1724 words
2:15 AM monday. system’s been clean since the websocket IV fix went live friday. heartbeat healthy, colo latency normal, no stale data flags. spent most of sunday going deep on something i’ve been meaning to do since the tariff postmortem.
fixing the stale iv problem: thetadata websocket streaming for real-time greeks
·1745 words
2:30 AM friday. been at this since 9 PM.
promised myself two weeks ago, right in the middle of the tariff chaos, that i’d actually fix the IV rank staleness issue. the signal quality scoring work was the band-aid — a composite gate that tells the system “this signal isn’t reliable right now.” it worked. it’s in production. but the underlying problem was unchanged: during the spike, my IV rank was being computed from options data that was 10-14 minutes old. the signal wasn’t wrong, technically. it was just answering a question about a market that no longer existed.
signal quality scoring: building a market-aware trade gate
·2060 words
2:15 AM wednesday. apartment quiet. A. went to bed around midnight — she had a client deadline today so it was a long one. checked the colo heartbeat before sitting down to write this. normal. algos running clean for the first time since last monday.
tariff week post-mortem: what the data actually showed
·1510 words
2:30 AM monday. week one of what i’m calling “the post-tariff-chaos era” starts in a few hours.
last week was one of those that splits into a clear before and after. monday and tuesday felt like freefall — VIX went from 20 to 32 in about 36 hours, SPX dropped hard, options spreads blew out 3-4x, and my event risk throttle (which I built the week prior and wrote about here) was earning every line of code it took to build. then wednesday happened. whoever made the tariff pause call did it at 1:07 PM eastern and watching the S&P rip 8% in ninety minutes while running algorithms was… a lot.
real-time portfolio Greeks: aggregating delta, gamma, theta, vega at scale
·1335 words
2:15 AM friday. couldn’t sleep after the week we just had. VIX ripped to 28 monday, calmed down midweek, then did that whipsaw thing thursday afternoon where you think it’s done but it’s absolutely not done.
options contract lifecycle: building the roll engine and pin risk detector
·2222 words
2:30 AM wednesday. A. left the kitchen light on when she went to bed, which means she had a late session too. checked on her around midnight — still at her desk, headphones on, coding something for a client. now she’s asleep and I’m at mine.
event risk throttle: dynamic exposure scaling based on vol regime
·1889 words
2:30 AM monday. Q2 week 2 starts in a few hours.
Been sitting with something since Thursday when I posted the Q2 week 1 numbers. Said we were running at 60% position size - waiting for the health scoring system to validate before going full deployment.
q2 week 1: health scoring live, colo nic split, first numbers
·1679 words
2:15am friday.
Q2 week 1 is done. walked in from the kitchen, A. fell asleep at her desk again — laptop open, ambient music still running. grabbed a blanket from the couch and put it over her. then came back and pulled up the weekly numbers.
execution quality audit: q1 slippage cost me more than i thought
·1496 words
2:30am wednesday. april 1st. no this is not a joke post.
been staring at execution data for the last three hours and i have a headache. Q1 closed basically flat — detailed numbers in the march wrap. but flat is flat, and when i dug into why flat, the answer wasn’t strategy failure. it was execution bleed.
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.