agentson
|
f0ae25c533
|
feat: implement Smart Volatility Scanner with RSI/volume filters (issue #76)
CI / test (pull_request) Has been cancelled
Add Python-first scanning pipeline that reduces Gemini API calls by filtering
stocks before AI analysis: KIS rankings API -> RSI/volume filter -> AI judgment.
## Implementation
- Add RSI calculation (Wilder's smoothing method) to VolatilityAnalyzer
- Add KIS API methods: fetch_market_rankings() and get_daily_prices()
- Create SmartVolatilityScanner with configurable thresholds
- Integrate scanner into main.py realtime mode
- Add selection_context logging to trades table for Evolution system
## Configuration
- RSI_OVERSOLD_THRESHOLD: 30 (configurable 0-50)
- RSI_MOMENTUM_THRESHOLD: 70 (configurable 50-100)
- VOL_MULTIPLIER: 2.0 (minimum volume ratio, configurable 1-10)
- SCANNER_TOP_N: 3 (max candidates per scan, configurable 1-10)
## Benefits
- Reduces Gemini API calls (process 1-3 qualified stocks vs 20-30 ranked)
- Python-based technical filtering before expensive AI judgment
- Tracks selection criteria (RSI, volume_ratio, signal, score) for strategy optimization
- Graceful fallback to static watchlist if ranking API fails
## Tests
- 13 new tests for SmartVolatilityScanner and RSI calculation
- All existing tests updated and passing
- Coverage maintained at 73%
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-02-06 00:48:23 +09:00 |
|
agentson
|
62b1a1f37a
|
feat: implement Volatility Hunter for real-time market scanning
CI / test (pull_request) Has been cancelled
Implements issue #20 - Behavioral Rule: Volatility Hunter
Components:
1. src/analysis/volatility.py
- VolatilityAnalyzer with ATR calculation
- Price change tracking (1m, 5m, 15m intervals)
- Volume surge detection (ratio vs average)
- Price-volume divergence analysis
- Momentum scoring (0-100 scale)
- Breakout/breakdown detection
2. src/analysis/scanner.py
- MarketScanner for real-time stock scanning
- Scans all available stocks every 60 seconds
- Ranks by momentum score
- Identifies top 5 movers per market
- Dynamic watchlist updates
3. Integration with src/main.py
- Auto-adjust WATCHLISTS dynamically
- Replace laggards with leaders (max 2 per scan)
- Volume confirmation required
- Integrated with Context Tree L7 (real-time layer)
4. Comprehensive tests
- 22 tests in tests/test_volatility.py
- 99% coverage for analysis module
- Tests for all volatility calculations
- Tests for scanner ranking and watchlist updates
- All tests passing
Key Features:
- Scan ALL stocks, not just current watchlist
- Dynamic watchlist that adapts to market leaders
- Context Tree integration for real-time data storage
- Breakout detection with volume confirmation
- Multi-timeframe momentum analysis
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-02-04 16:29:06 +09:00 |
|