feat: 实盘模拟(live) + 组合回测MVP(portfolio)
[live] 实盘模拟 vnpy+miniQMT 直连(supervisor 轮询, 前后端): - sanguo_live: LiveTradingEngine + AShareCtaTemplate(定寸/禁做空) + runner_supervisor(DB驱动) + persistence(4表WAL) - sanguo_api/routes_live: 9路由(create/start/stop/positions/trades/account/status) - frontend live: New/List/Monitor + api/live.ts; config/live.yaml [portfolio] 组合回测 MVP(BulletTrade, 链路代码完成待验证): - runner_backtest 加 JSON 入口(--json, BacktestEngine 顶层 import) - sanguo_api/routes_portfolio: POST /portfolio/backtest SSH 触发 VPS 跑 - frontend PortfolioBacktest.vue + api/portfolio.ts: 表单+结果+净值曲线 - 路由/菜单注册(/backtest/portfolio 组合回测) - 已知: MVP 链路未端到端验证, agent 改至中途被停; 待 Mac 起服务联调
This commit is contained in:
+7
-2
@@ -3,7 +3,9 @@ FastAPI application factory for Sanguo Quant API
|
||||
"""
|
||||
from fastapi import FastAPI
|
||||
from .routes import router, set_orchestrator, set_auth_config
|
||||
from .routes_paper import router as paper_router, set_db_path
|
||||
from .routes_paper import router as paper_router, set_db_path as set_paper_db_path
|
||||
from .routes_live import router as live_router, set_db_path as set_live_db_path
|
||||
from .routes_portfolio import router as portfolio_router
|
||||
from .auth import set_jwt_config
|
||||
from .ws import manager
|
||||
from sanguo_orchestrator.runner import Orchestrator
|
||||
@@ -35,7 +37,10 @@ def create_app(db_path: str, file_dir=None, auth_config=None, max_workers: int =
|
||||
# Include routes
|
||||
app.include_router(router, prefix="/api/v1")
|
||||
app.include_router(paper_router, prefix="/api/v1")
|
||||
set_db_path(db_path)
|
||||
app.include_router(live_router, prefix="/api/v1")
|
||||
app.include_router(portfolio_router, prefix="/api/v1")
|
||||
set_paper_db_path(db_path)
|
||||
set_live_db_path(db_path)
|
||||
|
||||
@app.on_event("startup")
|
||||
def _register_live_step():
|
||||
|
||||
Reference in New Issue
Block a user