feat: multiple updates - alerts, auth, sectors, rotation service, financials ingestion, task specs, and agent framework
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
# Task: Complete rotation signals and macro view
|
||||
|
||||
## Goal
|
||||
Implement the rotation signal generation and macro view endpoints for the sector rotation service.
|
||||
|
||||
## Requirements
|
||||
|
||||
### 1. Signal generation in `services/rotation_service.py`
|
||||
|
||||
Implement `generate_signals(ranked_sectors)` method:
|
||||
- For each sector, determine rotation signal based on:
|
||||
- `rank_change > 0` → `"bullish"` (rising)
|
||||
- `rank_change < 0` → `"bearish"` (falling)
|
||||
- `rank_change == 0` → `"neutral"` (unchanged)
|
||||
- Return list of signal dicts with sector info and signal type
|
||||
- Filter out sectors with insufficient data
|
||||
|
||||
### 2. Macro view in `routers/rotation.py`
|
||||
|
||||
Add `GET /api/v1/rotation/macro` endpoint:
|
||||
- Returns top 3 rising sectors and bottom 3 falling sectors
|
||||
- Includes sector name, ticker, momentum, and signal
|
||||
- Response model: `MacroRotationResponse` with `rising` and `falling` lists
|
||||
|
||||
### 3. Add response model
|
||||
|
||||
Add `MacroRotationResponse` schema in `schemas/rotation.py`:
|
||||
- `rising: list[RisingSector]`
|
||||
- `falling: list[FallingSector]`
|
||||
- Each sector: `sector_name`, `sector_ticker`, `momentum`, `signal`
|
||||
|
||||
## Acceptance Criteria
|
||||
1. `generate_signals()` correctly classifies sectors
|
||||
2. `/api/v1/rotation/macro` endpoint returns correct data
|
||||
3. Response model is properly typed
|
||||
4. Tests pass for new endpoints
|
||||
|
||||
## Files to Modify
|
||||
- `src/backend/services/rotation_service.py`
|
||||
- `src/backend/routers/rotation.py`
|
||||
- `src/backend/schemas/rotation.py`
|
||||
|
||||
## Files to Read First
|
||||
- `src/backend/services/rotation_service.py` — current state
|
||||
- `src/backend/routers/rotation.py` — existing rotation endpoints
|
||||
- `src/backend/schemas/rotation.py` — existing schemas
|
||||
Reference in New Issue
Block a user