| name | simulation-trading |
| description | 模拟交易 — 下单买卖、持仓管理、成交查询、账户状态、资金快照。在 QuantBot / Claude Code 中执行模拟交易、下单、查询持仓、查看账户、管理交易记录时使用。触发词:模拟交易、模拟下单、买入股票、卖出股票、查持仓、查账户、模拟账户、交易记录、下单、撤单 |
模拟交易技能
QuantMind 模拟交易(纸面交易)完整操作:下单、持仓、成交、账户、资金快照、模拟盘启动。默认模拟资金 100 万,不影响实盘。
实盘 / 模拟盘切换
- 前端切换:顶部 HeaderBar 右上角 REAL/SIM 拨动开关,切换实盘(通达信桥)与模拟盘。选择持久化到
localStorage['qm:trading_mode_pref'],默认模拟盘(simulation)。
- 后端分流:账户按
GET /api/v1/real-trading/status 返回的 mode + 前端分流——SIMULATION 调 /simulation/account,REAL 调 /account。
- 启动参数:
POST /api/v1/real-trading/start 接收 trading_mode=SIMULATION/REAL;实盘需 ENABLE_REAL_TRADING=true 环境变量。
- 交易就绪检查:
/api/v1/real-trading/trading-precheck 返回信号就绪/交易权限(可交易/观察态/阻断)。
curl -s -H "$AUTH" "$BASE/api/v1/real-trading/trading-precheck"
认证
BASE=http://127.0.0.1:8000
TOKEN=$(curl -s -X POST $BASE/api/v1/auth/login -H "Content-Type: application/json" \
-d '{"username":"admin","password":"admin123","tenant_id":"default"}' \
| python3 -c "import sys,json; print(json.load(sys.stdin).get('access_token',''))")
AUTH="Authorization: Bearer $TOKEN"
CT="Content-Type: application/json"
1. 账户状态
1.1 查看模拟账户
curl -s -H "$AUTH" "$BASE/api/v1/simulation/account"
1.2 模拟交易设置
curl -s -H "$AUTH" "$BASE/api/v1/simulation/settings"
1.3 重置模拟账户
curl -s -X POST -H "$AUTH" "$BASE/api/v1/simulation/reset"
1.4 资金快照
curl -s -X POST -H "$AUTH" "$BASE/api/v1/simulation/snapshots/capture"
curl -s -H "$AUTH" "$BASE/api/v1/simulation/snapshots/daily"
2. 下单(核心)
2.1 买入/卖出
curl -s -X POST -H "$AUTH" -H "$CT" "$BASE/api/v1/simulation/orders" \
-d '{
"symbol": "600519.SH",
"side": "buy", # buy / sell
"order_type": "market", # market / limit
"quantity": 100,
"price": null, # 限价单必填,市价单可空
"remarks": "AI策略买入"
}'
参数:
| 字段 | 说明 |
|---|
symbol | 股票代码(600519.SH / SH600519) |
side | buy / sell |
order_type | market(市价)/ limit(限价) |
quantity | 数量(股) |
price | 限价单必填,市价单可空 |
remarks | 备注(可选) |
返回:order_id + 订单状态(pending/filled/...)
2.2 撤单
curl -s -X POST -H "$AUTH" -H "$CT" "$BASE/api/v1/simulation/orders/{order_id}/cancel" \
-d '{"reason":"手动撤单"}'
3. 订单与成交查询
3.1 订单列表
curl -s -H "$AUTH" "$BASE/api/v1/simulation/orders"
3.2 单笔订单
curl -s -H "$AUTH" "$BASE/api/v1/simulation/orders/{order_id}"
3.3 成交记录
curl -s -H "$AUTH" "$BASE/api/v1/simulation/trades"
3.4 单笔成交
curl -s -H "$AUTH" "$BASE/api/v1/simulation/trades/{trade_id}"
3.5 成交统计
curl -s -H "$AUTH" "$BASE/api/v1/simulation/trades/stats/summary"
4. 模拟盘启动(real-trading)
模拟盘生命周期:策略绑定 → 预检查 → 启动 → 持仓跟踪 → 停止。
curl -s -X POST -H "$AUTH" -H "$CT" "$BASE/api/v1/portfolios/{portfolio_id}/bind-strategy" \
-d '{"strategy_id":"strategy_xxx","model_id":"mdl_cn_xxx"}'
curl -s -H "$AUTH" "$BASE/api/v1/real-trading/trading-precheck"
curl -s -X POST -H "$AUTH" -H "$CT" "$BASE/api/v1/real-trading/start" \
-d '{"portfolio_id":"xxx","strategy_id":"strategy_xxx"}'
curl -s -X POST -H "$AUTH" -H "$CT" "$BASE/api/v1/real-trading/stop"
curl -s -H "$AUTH" "$BASE/api/v1/real-trading/status"
curl -s -H "$AUTH" "$BASE/api/v1/real-trading/logs"
curl -s -H "$AUTH" "$BASE/api/v1/real-trading/orders"
curl -s -H "$AUTH" "$BASE/api/v1/real-trading/history"
组合(Portfolio)管理:
curl -s -X POST -H "$AUTH" -H "$CT" "$BASE/api/v1/portfolios" -d '{"name":"我的组合","initial_capital":1000000}'
curl -s -H "$AUTH" "$BASE/api/v1/portfolios"
curl -s -H "$AUTH" "$BASE/api/v1/portfolios/{id}"
curl -s -H "$AUTH" "$BASE/api/v1/portfolios/{id}/distribution"
curl -s -H "$AUTH" "$BASE/api/v1/portfolios/{id}/performance"
curl -s -X POST -H "$AUTH" "$BASE/api/v1/portfolios/{id}/settlement"
curl -s -X POST -H "$AUTH" "$BASE/api/v1/portfolios/{id}/snapshot"
curl -s -X POST -H "$AUTH" "$BASE/api/v1/portfolios/{id}/sync-status"
持仓管理:
curl -s -H "$AUTH" "$BASE/api/v1/portfolios/{id}/positions"
curl -s -X POST -H "$AUTH" -H "$CT" "$BASE/api/v1/portfolios/{id}/positions" -d '{"symbol":"600519.SH","quantity":100}'
curl -s -X POST -H "$AUTH" -H "$CT" "$BASE/api/v1/portfolios/{id}/adjust"
curl -s -X POST -H "$AUTH" -H "$CT" "$BASE/api/v1/portfolios/{id}/close"
curl -s -X PUT -H "$AUTH" -H "$CT" "$BASE/api/v1/positions/{position_id}/price" -d '{"price":1500.0}'
5. 实战流程(推荐)
当用户要求"模拟交易/买入/卖出"时:
- 查账户:
/simulation/account 看现金和持仓
- 确认标的:查股票当前价(用 [[quantdb-sdk]] 或 K线)
- 下单:
/simulation/orders POST(市价/限价)
- 确认成交:
/simulation/orders/{order_id} 查状态
- 查看持仓:
/simulation/account 看更新后的 positions
- 统计:
/simulation/trades/stats/summary 看收益
当用户要求"启动模拟盘 / 跑实盘模拟"时:
- 建组合:
/portfolios POST 创建
- 绑定策略:
/portfolios/{id}/bind-strategy(strategy_id + model_id)
- 预检查:
/real-trading/trading-precheck 确认信号就绪
- 启动:
/real-trading/start
- 监控:
/real-trading/status + /simulation/account
- 停止:
/real-trading/stop
6. 相关技能
- [[stock-market-analysis]] — 分析选哪只股票(371 字段 + 风险评分)
- [[smart-strategy-stock-picking]] — 条件选股找标的
- [[quantdb-sdk]] — 查 K 线/估值确定买卖价
- [[backtest-center]] — 回测验证策略后再模拟执行
- [[ai-ide-strategy-writing]] — 写策略并执行回测
7. 常见问题
| 现象 | 处理 |
|---|
| 买入资金不足 | 查 account cash,减仓或调小 quantity |
| 卖出无持仓 | 查 account positions 确认持有 |
| 限价单未成交 | 价格远离现价,改市价或调价 |
| 想重置 | /simulation/reset 恢复 100 万初始资金 |
| 模拟盘启动失败 | 查 /real-trading/trading-precheck 看信号就绪状态 |
| 策略信号未生成 | 确认模型已推理(见 [[quantmind-operations]]) |