feat: add portfolio optimization and congress tracking (TDD)
Portfolio optimization (3 endpoints): - POST /portfolio/optimize - HRP optimal weights via scipy clustering - POST /portfolio/correlation - pairwise correlation matrix - POST /portfolio/risk-parity - inverse-volatility risk parity weights Congress tracking (2 endpoints): - GET /regulators/congress/trades - congress member stock trades - GET /regulators/congress/bills?query= - search congress bills Implementation: - portfolio_service.py: HRP with scipy fallback to inverse-vol - congress_service.py: multi-provider fallback pattern - 51 new tests (14 portfolio unit, 20 portfolio route, 12 congress unit, 7 congress route) - All 312 tests passing
This commit is contained in:
2
main.py
2
main.py
@@ -37,6 +37,7 @@ from routes_sentiment import router as sentiment_router # noqa: E402
|
||||
from routes_shorts import router as shorts_router # noqa: E402
|
||||
from routes_surveys import router as surveys_router # noqa: E402
|
||||
from routes_technical import router as technical_router # noqa: E402
|
||||
from routes_portfolio import router as portfolio_router # noqa: E402
|
||||
|
||||
logging.basicConfig(
|
||||
level=settings.log_level.upper(),
|
||||
@@ -81,6 +82,7 @@ app.include_router(fixed_income_router)
|
||||
app.include_router(economy_router)
|
||||
app.include_router(surveys_router)
|
||||
app.include_router(regulators_router)
|
||||
app.include_router(portfolio_router)
|
||||
|
||||
|
||||
@app.get("/health", response_model=dict[str, str])
|
||||
|
||||
Reference in New Issue
Block a user