feat: add A-share and HK stock data via AKShare (TDD)
5 new endpoints under /api/v1/cn/:
- GET /cn/a-share/{symbol}/quote - A-share real-time quote
- GET /cn/a-share/{symbol}/historical - A-share historical OHLCV
- GET /cn/a-share/search?query= - search A-shares by name
- GET /cn/hk/{symbol}/quote - HK stock real-time quote
- GET /cn/hk/{symbol}/historical - HK stock historical OHLCV
Features:
- Chinese column names auto-mapped to English
- Symbol validation: A-share ^[036]\d{5}$, HK ^\d{5}$
- qfq (forward-adjusted) prices by default
- 79 new tests (51 service unit + 28 route integration)
- All 470 tests passing
This commit is contained in:
2
main.py
2
main.py
@@ -39,6 +39,7 @@ 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
|
||||
from routes_backtest import router as backtest_router # noqa: E402
|
||||
from routes_cn import router as cn_router # noqa: E402
|
||||
|
||||
logging.basicConfig(
|
||||
level=settings.log_level.upper(),
|
||||
@@ -85,6 +86,7 @@ app.include_router(surveys_router)
|
||||
app.include_router(regulators_router)
|
||||
app.include_router(portfolio_router)
|
||||
app.include_router(backtest_router)
|
||||
app.include_router(cn_router)
|
||||
|
||||
|
||||
@app.get("/health", response_model=dict[str, str])
|
||||
|
||||
Reference in New Issue
Block a user