QuantBot

Multi-strategy options decision support — where quantitative scoring meets machine learning.

Options trading involves dozens of signals — volatility, probability of profit, sector exposure, earnings dates, market conditions. QuantBot pulls them together into a single confidence score so you can compare trades instead of juggling spreadsheets. It suggests; you decide. The human always makes the final call.

This is decision support, not automated trading. QuantBot scores and ranks — every trade decision is made by a human.

The Problem

Retail options trading is information-overloaded. Greeks, IV rank, probability of profit, sector exposure, earnings dates, market regime — a single trade decision requires synthesizing dozens of signals across multiple tools. Most retail traders either oversimplify (one indicator) or drown in complexity. There’s no system that converges multiple independent scoring methods, enforces risk limits automatically, and learns from outcomes.

The Solution

1

Read the market regime

Before evaluating any trade, the system classifies the current market as bull, neutral, bear, or crisis using SPY moving averages and VIX levels. The regime determines which strategies are even considered — you don’t sell naked puts in a crash, and you don’t sit in cash during a bull run. Strategy parameters, position sizing, and risk thresholds all shift with the regime.

2

Scan across strategies

The system evaluates opportunities across the Wheel (cash-secured puts + covered calls), credit spreads, iron condors, debit spreads, poor man’s covered calls (PMCC), and calendar spreads. Each strategy has its own entry criteria and regime suitability. The scanner filters the universe down to candidates worth scoring.

3

Two brains, one score

Two independent scoring systems run in parallel and neither one trusts the other. A rules-based engine checks the math: option pricing, probability of profit, how wide the bid-ask spread is, and whether the premium is worth the risk. Separately, an ML pipeline — gradient boosting, random forests, and logistic regression working as an ensemble — predicts likely outcomes based on historical patterns. SHAP explainability shows which factors drove each prediction. The two scores blend into a single confidence ranking, so a trade only scores high when both approaches agree.

4

Enforce risk limits automatically

Drawdown circuit breakers operate at three levels: daily losses pause new entries, weekly losses reduce position sizes, and severe drawdowns halt trading entirely. Sector concentration caps, position sizing rules, and correlation checks prevent over-exposure. Earnings event analysis flags upcoming volatility. The risk layer runs before any recommendation reaches the dashboard — it’s a veto, not a suggestion.

5

Track, learn, and retrain

Portfolio analytics track cost basis, fill quality, wash sales, and tax-lot P&L for export. Every trade outcome feeds back into the ML pipeline. Optuna hyperparameter tuning optimizes model performance, and feature drift detection triggers automatic retraining when market behavior shifts. The system gets sharper over time.

Technical Decisions

Backend

Python FastAPI SQLite

ML & Data

scikit-learn XGBoost SHAP Optuna

Frontend

HTMX Jinja2

Testing

pytest 3,500+ Tests
Chosen

Ensemble ML with model selection

Gradient boosting, random forests, and logistic regression run in parallel. A model selection system picks the best-performing ensemble with SHAP explainability. Trade-off: training complexity, but convergence of independent signals produces more robust scores.

Chosen

Hybrid scoring (rules + ML)

A rules-based engine evaluates Black-Scholes Greeks, IV rank, and premium yield independently from the ML pipeline. Both scores blend into a single confidence ranking — neither system alone has enough signal.

Chosen

Three-level circuit breakers

Drawdown limits at daily, weekly, and severe thresholds. The risk layer is a veto, not a suggestion — it runs before any recommendation reaches the dashboard. This prevents catastrophic loss scenarios automatically.

Chosen

Python + FastAPI over Node

Python’s ML ecosystem (scikit-learn, XGBoost, SHAP, Optuna) is unmatched. FastAPI provides async performance with automatic OpenAPI docs. Trade-off: GIL limits concurrency, but the workload is I/O-bound (market data fetches), not CPU-bound.

Results

3,500+ Automated Tests
6 Trading Strategies
3 ML Models (Ensemble)

Private Project

QuantBot is a private portfolio piece demonstrating ML engineering, quantitative finance modeling, and full-stack development. The human always makes the final call.