How codewithjaswanth/jev-alpaca-trader works
JEV-ALPACA-TRADER is a quantitative trading application built around market-data ingestion, strategy selection, portfolio construction, backtesting, and Alpaca execution, with a Streamlit dashboard as an alternate user interface. The CLI and dashboard expose data, backtest, and trading workflows; adaptive rotation is a separately orchestrated strategy with regime, ranking, exception, and risk stages. The graph includes documented ML and fundamental-selection capabilities. Some subsystem links rely on README descriptions or the SOURCE INDEX; unsampled implementation details are not inferred.
Main entry points: adaptive_rotation_engine.py Rotation Orchestrator · app.py Streamlit Dashboard · data_fetcher.py Data Fetcher · main.py CLI Router
Components 27
Entry And Interface
- CLI Router
FinRL-Trading/src/main.py - Streamlit Dashboard
FinRL-Trading/src/web/app.py - Application Settings
FinRL-Trading/src/config/settings.py
Market Data
- Market Data Providers
- Data Fetcher
FinRL-Trading/src/data/data_fetcher.py - Feature Processing
FinRL-Trading/src/data/data_processor.py - SQLite Data Store
FinRL-Trading/src/data/data_store.py - Trading Calendar
FinRL-Trading/src/data/trading_calendar.py
Strategy And Portfolio
- ML Stock Selection
FinRL-Trading/src/strategies/ml_strategy.py - Bucket Selection
FinRL-Trading/src/strategies/ml_bucket_selection.py - Fundamental DRL
FinRL-Trading/src/strategies/fundamental_portfolio_drl.py - Strategy Contract
FinRL-Trading/src/strategies/base_strategy.py
Trading And Analysis
- Backtest Engine
FinRL-Trading/src/backtest/backtest_engine.py - Trade Executor
FinRL-Trading/src/trading/trade_executor.py - Alpaca Manager
FinRL-Trading/src/trading/alpaca_manager.py - Performance Analysis
FinRL-Trading/src/trading/performance_analyzer.py
Adaptive Rotation
- Rotation Orchestrator
FinRL-Trading/src/strategies/adaptive_rotation/adaptive_rotation_engine.py - Rotation Configuration
FinRL-Trading/src/strategies/adaptive_rotation/config_loader.py - Rotation Preprocessor
FinRL-Trading/src/strategies/adaptive_rotation/data_preprocessor.py - Market Regime
FinRL-Trading/src/strategies/adaptive_rotation/market_regime.py - Group Strength
FinRL-Trading/src/strategies/adaptive_rotation/group_strength.py - Intra-Group Ranking
FinRL-Trading/src/strategies/adaptive_rotation/intra_group_ranking.py - Exception Detection
FinRL-Trading/src/strategies/adaptive_rotation/exception_framework.py - Rotation Risk Manager
FinRL-Trading/src/strategies/adaptive_rotation/risk_manager.py - Portfolio Builder
FinRL-Trading/src/strategies/adaptive_rotation/portfolio_builder.py - Robust Statistics
FinRL-Trading/src/strategies/adaptive_rotation/utils/robust_stats.py
Other components
- Operator
Connections 38
- Operator → CLI Router: runs commands
FinRL-Trading/src/main.py - Operator → Streamlit Dashboard: uses UI
FinRL-Trading/src/web/app.py - CLI Router → Application Settings: loads config
FinRL-Trading/src/main.py - CLI Router → Streamlit Dashboard: routes dashboard
FinRL-Trading/src/main.py - CLI Router → Backtest Engine: routes backtest
FinRL-Trading/src/main.py - CLI Router → Trade Executor: routes trading
FinRL-Trading/src/main.py - Streamlit Dashboard → Backtest Engine: runs backtest
FinRL-Trading/src/web/app.py - Streamlit Dashboard → Trade Executor: executes strategy
FinRL-Trading/src/web/app.py - Market Data Providers → Data Fetcher: supplies market data
README.md - Data Fetcher → SQLite Data Store: caches data
FinRL-Trading/src/data/data_fetcher.py - Data Fetcher → Application Settings: uses credentials
FinRL-Trading/src/data/data_fetcher.py - SQLite Data Store → Trading Calendar: uses trading days
FinRL-Trading/src/data/data_store.py - Streamlit Dashboard → Feature Processing: processes data
FinRL-Trading/src/web/app.py - Streamlit Dashboard → SQLite Data Store: reads data
FinRL-Trading/src/web/app.py - ML Stock Selection → Data Fetcher: fetches inputs
FinRL-Trading/src/strategies/ml_strategy.py - ML Stock Selection → Strategy Contract: implements strategy
FinRL-Trading/src/strategies/ml_strategy.py - Bucket Selection → Data Fetcher: fetches inputs
FinRL-Trading/src/strategies/ml_bucket_selection.py - ML Stock Selection → Backtest Engine: provides selection signals
README.md - Fundamental DRL → Backtest Engine: supports portfolio research
README.md - Trade Executor → Alpaca Manager: submits orders
FinRL-Trading/src/trading/trade_executor.py - Trade Executor → Strategy Contract: accepts strategies
FinRL-Trading/src/trading/trade_executor.py - Performance Analysis → Alpaca Manager: reads account state
FinRL-Trading/src/trading/performance_analyzer.py - Performance Analysis → Data Fetcher: gets benchmark data
FinRL-Trading/src/trading/performance_analyzer.py - Rotation Orchestrator → Rotation Configuration: loads configuration
FinRL-Trading/src/strategies/adaptive_rotation/adaptive_rotation_engine.py - Rotation Orchestrator → Rotation Preprocessor: requests daily data
FinRL-Trading/src/strategies/adaptive_rotation/adaptive_rotation_engine.py - Rotation Orchestrator → Market Regime: detects regime
FinRL-Trading/src/strategies/adaptive_rotation/adaptive_rotation_engine.py - Rotation Orchestrator → Group Strength: scores groups
FinRL-Trading/src/strategies/adaptive_rotation/adaptive_rotation_engine.py - Rotation Orchestrator → Intra-Group Ranking: ranks assets
FinRL-Trading/src/strategies/adaptive_rotation/adaptive_rotation_engine.py - Rotation Orchestrator → Exception Detection: detects exceptions
FinRL-Trading/src/strategies/adaptive_rotation/adaptive_rotation_engine.py - Rotation Orchestrator → Rotation Risk Manager: checks risk
FinRL-Trading/src/strategies/adaptive_rotation/adaptive_rotation_engine.py - Rotation Orchestrator → Portfolio Builder: builds weights
FinRL-Trading/src/strategies/adaptive_rotation/adaptive_rotation_engine.py - Group Strength → Robust Statistics: uses robust metrics
FinRL-Trading/src/strategies/adaptive_rotation/group_strength.py - Intra-Group Ranking → Robust Statistics: uses robust metrics
FinRL-Trading/src/strategies/adaptive_rotation/intra_group_ranking.py - Market Regime → Robust Statistics: uses robust metrics
FinRL-Trading/src/strategies/adaptive_rotation/market_regime.py - Portfolio Builder → Market Regime: uses regime
FinRL-Trading/src/strategies/adaptive_rotation/portfolio_builder.py - Portfolio Builder → Group Strength: uses group scores
FinRL-Trading/src/strategies/adaptive_rotation/portfolio_builder.py - Portfolio Builder → Intra-Group Ranking: uses rankings
FinRL-Trading/src/strategies/adaptive_rotation/portfolio_builder.py - Portfolio Builder → Exception Detection: applies exceptions
FinRL-Trading/src/strategies/adaptive_rotation/portfolio_builder.py