Docs

How it works

End-to-end guide to No Average Trading — the Next.js app, the Python RL subproject, the Modal cloud deployment, and the glue between them.

No Average Trading is a two-part system. The Next.js app is the control plane — dashboard, trade execution, cron jobs, Alpaca + Supabase integration. The Python subproject underpython/ is a full reinforcement-learning stack (gym environment, PPO trainer, Optuna tuner, FastAPI inference server) that trains a policy on Modal and serves weight vectors back to Next.js through a shared Bearer-token endpoint.

Trading

Alpaca Paper

$100K simulated account, real market data

Two Strategies

Claude + RL PPO

LLM baseline + trained policy

Automation

Daily Cron

Weekday rebalance + OHLCV sync

Core Workflow

Market DataStrategy (Claude or PPO)Weight VectorAlpaca ExecutionSupabase Log

Every weekday, the data-sync cron pulls OHLCV into Supabase, then the rebalance cron asks the selected strategy for target weights, computes deltas vs current positions, and sends GTC market orders to Alpaca. Only deltas larger than 2% trigger trades, keeping turnover costs in check.

No Average Trading — anything but average