How sahilsatyam/astraeus works
Astraeus is a quantitative trading and research platform. Operators and researchers use the web terminal to inspect market and portfolio data, run research and recommendations, review approvals, and operate orders and safety controls. Market and alternative data are ingested and processed into features; recommendation, portfolio, and backtest capabilities support analysis before execution through the OMS. The README documents additional RAG/copilot and reconciliation flows. Arrows follow sampled orchestration and API code where available, with documented capabilities filling key branches; unsampled wiring is not inferred.
Main entry points: app.py Research API · worker.py Reconciliation worker · routes.py OMS routes · ingestion.py Market data ingestion
Components 24
Operator terminal
- Web terminal
apps/web/src/app/page.tsx - Authenticated API proxy
apps/web/src/app/api/proxy/[...path]/route.ts
Data ingestion
- Market data workers
apps/workers/astraeus_workers/main.py - Market data ingestion
libs/marketdata/astraeus_marketdata/ingestion.py - Market data adapters
libs/marketdata/astraeus_marketdata/adapters/base.py - Alternative data NLP
libs/altdata/astraeus_altdata/pipeline.py
Research and analytics
- Feature store
libs/features/astraeus_features/registry.py - Recommendation pipeline
libs/recommender/astraeus_recommender/orchestrator.py - Signal ensemble
libs/ensemble/astraeus_ensemble/engine.py - Portfolio optimization
libs/portfolio/astraeus_portfolio/optimizers/__init__.py - Backtesting
libs/strategy/astraeus_strategy/engines/event_driven.py - Hybrid retrieval
libs/rag/astraeus_rag/retriever.py - AI agent runtime
libs/agent_runtime/astraeus_agent_runtime/orchestrator.py
Trading operations
- OMS routes
apps/oms/astraeus_oms/routes.py - OMS service
apps/oms/astraeus_oms/service.py - Kill switch
apps/oms/astraeus_oms/kill_switch_routes.py - Reconciliation worker
apps/recon_worker/astraeus_recon_worker/worker.py
Platform services
- Research API
apps/api/astraeus_api/app.py - PostgreSQL / pgvector
- Redis streams
Other components
- Operator / researcher
- Broker APIs
- LLM providers
- Alternative data sources
Connections 28
- Operator / researcher → Web terminal: uses
- Web terminal → Authenticated API proxy: requests
- Authenticated API proxy → Research API: forwards requests
- Operator / researcher → OMS routes: submits orders
- OMS routes → OMS service: delegates
- OMS service → Broker APIs: routes orders
- OMS routes → PostgreSQL / pgvector: reads / writes
- Operator / researcher → Kill switch: arms controls
- Kill switch → PostgreSQL / pgvector: stores state and journal
- Reconciliation worker → Broker APIs: fetches positions
- Reconciliation worker → PostgreSQL / pgvector: reads local positions
- Reconciliation worker → OMS routes: reports differences
- Reconciliation worker → Redis streams: publishes alerts
- Market data workers → Market data ingestion: runs ingestion
- Market data workers → Redis streams: relays outbox
- Market data ingestion → Market data adapters: fetches bars
- Market data ingestion → PostgreSQL / pgvector: writes bars and lineage
- Alternative data sources → Alternative data NLP: supplies documents
- Alternative data NLP → PostgreSQL / pgvector: persists processed data
- Research API → Feature store: serves feature routes
- Research API → Recommendation pipeline: serves recommendations
- Recommendation pipeline → Signal ensemble: combines signals
- Recommendation pipeline → Portfolio optimization: optimizes portfolio
- Feature store → Backtesting: supports backtests
- Research API → Hybrid retrieval: serves retrieval routes
- Research API → AI agent runtime: serves agent routes
- AI agent runtime → Hybrid retrieval: retrieves context
- AI agent runtime → LLM providers: requests completions