Skip to main content

one year: system check

5:30 AM. may 11.

she went to bed before me last night, which almost never happens. i stayed up reading market structure notes until around 2, realized sleep wasn’t coming, made coffee. opened the laptop.

today is our first anniversary. she’s still asleep.

i’m going to mark the occasion the exact way she’d expect me to: by reviewing the trading system.


trailing 12 months
#

period: may 11, 2025 through april 30, 2026.

  • starting account: ~$1.12M
  • ending account: ~$1.21M
  • net gain: ~$90k
  • trailing 12-month return: +7.7%
  • losing months: 4 (june 2025, september 2025, december 2025, march 2026)
  • best month: october 2025, +3.1%
  • worst month: june 2025, -1.9%

not the strongest year on percentage. Q1 2026 was the rough patch — the tariff chaos in april needed careful management, and march had a vol spike that hit the theta book harder than i wanted before the regime filter was rebuilt.

what i care about more than the headline number is why the losing months happened. if they’re explainable, the edge is intact.

june 2025: rate uncertainty. realized vol kept diverging from implied. theta decayed slower than expected, positions sat in negative carry for a week before i could exit cleanly. annoying but structural.

september 2025: classic september. vol crush out of summer, then unexpected macro news lit up VIX mid-month. had a condor that needed an emergency roll. cost about $12k to repair. the position survived but didn’t earn.

december 2025: holiday chop. thin liquidity. tiny loss. more tedious than painful.

march 2026: documented already. vol spike, pre-regime-filter rebuild. this was the most avoidable loss of the year and the one that pushed me to rebuild the VIX term structure signal.

4 losing months out of 12. above my target of 3. the march one is on me — i had the data to build the regime filter earlier and didn’t prioritize it.


by strategy
#

three buckets. same as always.

theta / premium selling — 60% of capital

primary edge. iron condors on SPX, cash-secured puts on QQQ, sector ETFs when IV rank is elevated. i target 21-45 DTE, close at 50% max profit or roll when tested.

annual contribution to total P&L: roughly +62%

best stretch of the year: Q4 2025. VIX in contango, IV rank stable in the 28-38% zone my condors are calibrated for. theta collected like clockwork for three months. the premium selling thesis works cleanly when the term structure isn’t flashing stress.

worst stretch: march 2026. vol spike hit before the regime filter was operational. i had too much short gamma exposure going into the move. the lesson was structural — not a timing mistake, an architecture gap. the VIX term structure filter is now live and that architecture gap is closed.

april 2026 was the stress test of the new system. the tariff week blew up a lot of people. the event risk throttle i built cut book size before the worst of it. closed april at +1.3%. the structure held.

the NexusFi community discussion on selling options on futures has been running for years and the thread is still one of the best places to pressure-test premium selling thesis — there are traders there who’ve been doing this for 20+ years and they don’t pull punches on what kills accounts.

futures momentum — ES/NQ — 10% of capital

smaller slice, tighter sizing. futures momentum decays fast when macro is driving everything and you’re fighting the news cycle.

annual contribution: roughly +12%

had a rough Q1 in the NQ adaptive lookback — wrong parameter regime, documented in april. the rebuilt version has been running clean since week of april 20. too late to save Q1 but the repair is in.

the ES momentum strategy had a good october and november. fall 2025 was a clean trending environment for directional futures plays.

crypto — BTC, ETH, alts — 30% of capital

most volatility, most opportunity, most sleepless nights.

annual contribution: roughly +26%

BTC had two solid directional runs in the period. the momentum signal captured both. the altcoin bucket was volatile but net-positive. crypto is still the bucket with the most raw alpha — the markets are less efficient, the API is cheaper to build on, and 24/7 operation matches my infrastructure.

the funding rate harvest layer just went live last week — not included in the trailing 12-month numbers but it’s running. collecting the persistent bullish bias in crypto perp markets without directional exposure. going through a full quarter before i expand position size.


infrastructure (trailing 12)
#

the biggest infrastructure move of the year: chicago colo went from one server to two in Q3 2025.

server 1 (execution only): IB gateway, order routing, position state. nothing on this box that isn’t latency-critical.

server 2 (data + research): TimescaleDB replica, redis data feeds, the ML feature engineering pipeline. took the compute load off the execution server entirely.

latency benchmark i ran in march after the rebuild:

  • IB order round-trip from chicago: avg 0.28ms
  • same from san diego: avg 19ms

for premium selling strategies, the latency difference isn’t the make-or-break factor it would be for HFT. but for the NQ momentum algo during fast market moves, those 19ms are fills at worse prices. the colo pays for itself in execution quality alone.

monitoring rebuild (march): prometheus + grafana with 220+ custom metrics. memory, redis queue depth, order fill rates by strategy, VIX term structure state, strategy health scores. if something breaks at 3 AM i want a page, not a morning discovery. the prometheus scrape interval is 5 seconds. the grafana alerts hit my phone within 30 seconds of a metric crossing threshold.

redis upgrade: single-instance → redis cluster with persistence. the market data pipeline now survives restarts without losing the buffer. this bit me twice in 2024. i’ve built around it. boring work. saved the system.

total infrastructure spend for the year: roughly $4,800 (colo fees, hardware upgrades, licenses). at my current volume that’s about one clean theta trade. i stop thinking about it.


the grief part
#

parents died new year’s eve 2022. car crash.

they never saw any of this — not the account growth, not the colo setup, not a year of trading that’s starting to actually compound. and they never saw the wedding.

on milestone dates i sit with that for a few minutes. this morning it was maybe five minutes before the analytical side came back online.

dad would have had a dozen questions about the latency benchmarks. mom would have thought all of it was stressful and been quietly proud anyway.

that’s the five percent.


what’s next
#

may cycle is live. theta book is sized conservatively — giving the VIX regime filter time to establish a real track record before i lean on it fully. i’ve been running it in production for seven weeks. the sample size isn’t there yet.

the NQ adaptive lookback rebuilt version is live since april 22nd. Q2 target: consistent application. i’m not adding to the allocation yet.

crypto: funding rate harvest goes through a full quarter before position expansion. i want to see how it handles a funding normalization event before i trust it with more capital. r/algotrading has been running some good threads on similar carry strategies across centralized exchanges — interesting to compare notes on correlation risks when funding normalizes.

one year. the system runs. still tweaking. that’s the job.

she’s going to be awake in about an hour. when that happens i’m closing the laptop and being completely present for today.

-AK

Related

april theta harvest: weekly closed clean, colo queue backed up, thursday hit different
2:30 AM. friday night. A. made chicken marsala — she does it maybe once a month and I forget every time how good it is. ate around 7, she went back to her desk, lights off in the bedroom by midnight. apartment’s quiet. been staring at P&L since 11.
q2 week 1: health scoring live, colo nic split, first numbers
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.
may cycle setup: scanning the iv surface, automating strike selection
2:30 AM. wednesday. april is basically wrapped. last weekly expiration cleared friday. monday was flat, tuesday had one small SPX position that ticked through on delta and I let it ride — closed today for +$1,100. running estimate: april MTD somewhere around +$16,500 when everything settles. YTD is going to land around +1.5%.
replaying the yen carry unwind: validating sqs against a real vol event
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.
signal quality scoring: building a market-aware trade gate
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
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.