My work at Zebra moved between statistical modeling and live trading. For intraday ETF and index options, I used Bayesian anomaly detection to identify dislocations in stochastic-volatility implied vols; the deployed strategies produced 5–10% weekly returns on capital at risk. At a longer horizon, I combined HMM regime detection, ElasticNet forecasts, and NSGA-II portfolio construction in a daily rebalanced equity strategy that generated 5% annualized alpha in a multi-year backtest.
I also explored how foundation models could change the representation of market history. Rather than asking Chronos to trade directly, I fine-tuned Amazon Chronos-T5 with LoRA on labels produced by the backtesting engine, then used its embeddings as inputs to per-asset TabPFN classifiers. The result was a practical bridge between time-series pretraining and a controlled inference layer.
I treated the LLM as one component inside a quantitative decision system, not as an oracle. In the single-stock options system, live option chains were first converted into trajectories of risk-neutral volatility, jump risk, expected movement, and repricing. gpt-oss-120b reasoned over that structured market state, while fail-closed gates rejected malformed answers, weak evidence, or invalid calibrations before a signal could travel any further.
Reliability became a product of the system rather than a subjective impression of a model response. A daily harness tracked rule compliance, consistency, and robustness. For the deployed intraday FX system, I paired a news-relevance pipeline—BM25, Qwen3 embeddings, reciprocal rank fusion, and reranking—with a DPO-QLoRA-tuned Llama-3.1-8B. A leakage-controlled data pipeline converted realized market outcomes into executable rewards while preserving chronological splits and date-level grouping. DSPy then ran evaluation-gated GEPA prompt optimization with gpt-oss-120b as the reflection model, promoting changes only after replay against archived contexts improved precision, recall, F1, and coverage.
The training and serving path mattered just as much as the model choice. I parallelized preference generation across multiple GPUs on a single node with vLLM continuous batching, then fine-tuned rank-16 LoRA adapters over a frozen 4-bit NF4 base with BF16 compute using multi-node distributed data parallelism. Resumable generation and training checkpoints prevented duplicate GPU work, while an authenticated OpenAI-compatible vLLM endpoint supported versioned adapter promotion and storage-backed rollback. Paired bootstrap analysis compared the tuned and base models before deployment.
Some of the most useful agent work was exploratory. I built an autonomous signal-mining loop that combined gpt-oss-120b with exhaustive quantile sweeps, stability screening, and iterative rule refinement. Instead of stopping at plausible hypotheses, it pushed candidates through quantitative tests and surfaced interday options strategies with Sharpe above 1.5.
The same emphasis on evidence shaped a multimodal PDF assistant. CLIP embeddings and Qdrant supported cosine and MMR retrieval, while a two-pass Qwen3 vision workflow separated evidence gathering from answer construction and returned cited responses.