看股功能更新

This commit is contained in:
2026-08-16 00:47:13 +08:00
parent fc86fe0674
commit 7c794cb342
7 changed files with 90 additions and 1 deletions

View File

@@ -3,6 +3,7 @@
GET /api/health 健康检查
GET /api/candles/{sym} 取 K 线(支持 1d/1w/1M/1y 周期,日线为基底聚合)
GET /api/stocks 全市场股票列表(基本信息 + 最新行情 + 缓存条数)
GET /api/market/overview 主页大盘总览A 股/港美指数 + 两市市值成交统计)
POST /api/backtest 跑回测,返回 K线+指标+买卖点+净值+绩效
POST /api/screener/run 智能选股:自然语言 -> 条件 -> 全市场筛选
POST /api/screener/sync 启动全市场数据同步(后台任务)
@@ -28,6 +29,7 @@ from .backtest.strategies import build_strategy
from .config import settings
from .data import fetcher, repository
from .data.aggregation import bars_per_year, resample_bars
from .data.market_overview import MarketOverviewError, fetch_overview
from .data.symbols import plain_code
from .db import get_session
from .domain import Bar
@@ -52,6 +54,7 @@ from .schemas import (
EventBacktestRequest,
EventBacktestResponse,
IndicatorOut,
MarketOverviewResponse,
MetricsOut,
PreferencesOut,
PreferencesUpdate,
@@ -319,6 +322,19 @@ async def stock_facets(session: AsyncSession = Depends(get_session)) -> StockFac
return resp
@router.get("/market/overview", response_model=MarketOverviewResponse)
async def get_market_overview() -> MarketOverviewResponse:
"""主页大盘总览A 股 + 港美指数最近收盘(含迷你走势),沪深两市市值/成交统计。
收盘口径token 无实时权限),展示时标注交易日;部分来源失败不影响其余。
"""
try:
data = await fetch_overview()
except MarketOverviewError as e:
raise HTTPException(status_code=503, detail=str(e)) from e
return MarketOverviewResponse(**data)
@router.post("/backtest", response_model=BacktestResponse)
async def backtest(
req: BacktestRequest,