Senex Trader is an open-source framework for building automated options trading systems. Eight independent engines handle market data, analysis, ML inference, execution, and risk management — connected by Redis Streams, backed by TimescaleDB.
Python 3.14
Django 6.0
TimescaleDB
Redis Streams
Eight engines run as independent processes. Each owns its domain, communicates over Redis Streams, and can be deployed, scaled, or replaced independently.
Real-time and historical ingestion from DXLink, Polygon, and broker feeds. Publishes candles, quotes, and Greeks to per-symbol streams.
Pattern detection, technical indicators, and declarative trading rules. Evaluates conditions and emits signals.
Model inference for entry timing, regime detection, and probability estimation. GPU-accelerated Greeks via PyTorch.
Intent-to-execution pipeline with risk checks, position sizing, and order management. Broker is source of truth.
Unified adapter interface for TastyTrade and Schwab. OAuth credential management, session handling, position sync.
Multi-channel alert delivery — Discord, email, webhook. Configurable per-event routing with rate limiting.
REST API and WebSocket server for client applications. API key authentication, scope-based permissions, rate limiting.
Periodic tasks — broker reconciliation, historical backfill, token refresh, data retention. Market-hours-aware scheduling.
Daemons use pure asyncio + asyncpg for sub-200ms latency. API endpoints use Django ORM for developer ergonomics. Each path optimized for its access pattern.
The application is a state machine that reconciles against the broker. Positions, fills, and balances are always verified against live broker state — never trusted from local storage alone.
If data has structure, it gets a table. TimescaleDB hypertables for time-series, normalized relational tables for everything else. Queryable, indexable, type-safe.
Web deploys don't interrupt data collection. Market data daemons run independently. Any engine can be upgraded, scaled, or replaced without affecting others.
Real-time streaming with automatic reconnection, historical backfill, multi-provider support. Candles, quotes, Greeks, and options flow.
IV surface construction, Greek calculations (GPU-accelerated), unusual activity detection, and structure analysis.
Feature engineering from market data, model registry, inference pipeline, and backtesting with anti-data-snooping validation.
Unified adapter interface. Submit intents, get fills. Currently supports TastyTrade and Schwab via OAuth.
Full API for building client applications. API key auth with scopes, rate limiting, real-time position and order updates via WebSocket.
Structured logging, Prometheus metrics, health checks, circuit breakers. Built for production from day one.
Senex Trader is the API platform in a three-application ecosystem designed for quantitative options research and automated execution.
Core API platform. Market data, execution, risk management, and broker integration.
GPU-accelerated sentiment analysis client. Multi-source signal aggregation with live execution.
Conversational financial research agent. Portfolio analysis and market intelligence via natural language.
Senex Trader is built by a solo developer at the intersection of quantitative finance, production Python systems, and AI agent architecture. The project exists because the tools available to retail options traders are either too simple (GUI-only platforms) or too abstract (academic frameworks with no broker integration).
This is a real system — running in production, executing real trades, processing real market data. The open-source release includes the framework, architecture, and tooling. The goal is to give other developers a serious starting point for building their own automated trading systems.