| Age | Commit message (Collapse) | Author |
|
StrategyConfig and NewsCollectorConfig redefined anthropic_api_key and
finnhub_api_key as plain str, shadowing the parent SecretStr type. This
caused AttributeError at runtime when .get_secret_value() was called.
The fields are already inherited from Settings — no need to redeclare.
|
|
|
|
|
|
Extract _extract_json_array() to eliminate duplicate JSON parsing logic
between _parse_llm_selections() and LLMCandidateSource._parse_candidates().
Add session reuse in StockSelector via _ensure_session()/close() methods
instead of creating new aiohttp.ClientSession per HTTP call. Pass shared
session to LLMCandidateSource.get_candidates().
|
|
|
|
|
|
configs)
- Remove SentimentData class and tests (superseded by SentimentAggregator)
- Remove CircuitBreaker, CircuitState, retry_with_backoff and tests (never used)
- Remove TradeRow ORM model and tests (no DB methods reference it)
- Remove unused config fields: circuit_breaker_*, selector_candidates_time, selector_filter_time
|
|
|
|
|
|
Adds SentimentCandidateSource (DB scores), LLMCandidateSource (Claude
news analysis), and StockSelector orchestrating candidate merge,
RSI/EMA20/volume technical filter, and LLM final 2-3 pick selection
with Redis publish and DB persistence.
|
|
- Replace BTCUSDT/SOLUSDT/ETHUSDT with AAPL/MSFT in all test files
- Update backtester default symbol to AAPL
- Update strategy-engine default symbols to US stocks
- Update project description and CLI help text
- Remove empty superpowers docs directory
- Zero crypto references remaining in codebase
|
|
|
|
- Replace Binance/ccxt with Alpaca REST client (paper + live)
- Add MOC (Market on Close) strategy for overnight gap trading
- Wire sentiment into strategy engine main loop
- Add EMA + bullish candle entry filters to Asian RSI
- Remove crypto-specific exchange factory
- Update config: Alpaca keys replace Binance keys
- 399 tests passing, lint clean
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- Fix ambiguous variable name in binance_rest.py
- Remove unused volumes variable in volume_profile_strategy.py
- Fix import ordering in backtester main.py and test_metrics.py
- Auto-format all files with ruff
|
|
|
|
Replace logging.basicConfig/getLogger with structlog setup_logging in all
four service entry points. Add HealthCheckServer, ServiceMetrics, and
TelegramNotifier initialization to each service. Update OrderExecutor to
accept a notifier parameter and send order notifications. Add
RedisBroker.ping() for health checks. Update executor tests with
notifier=AsyncMock().
|
|
Binance spot crypto trading platform with microservices architecture:
- shared: Pydantic models, Redis Streams broker, asyncpg DB layer
- data-collector: Binance WebSocket/REST market data collection
- strategy-engine: Plugin-based strategy execution (RSI, Grid)
- order-executor: Order execution with risk management
- portfolio-manager: Position tracking and PnL calculation
- backtester: Historical strategy testing with simulator
- cli: Click-based CLI for all operations
- Docker Compose orchestration with Redis and PostgreSQL
- 24 test files covering all modules
|