news 2026/9/28 21:04:05

tick-stock-panel模拟盘实战:虚拟账户账务模型、撮合规则与策略实盘前验证

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
tick-stock-panel模拟盘实战:虚拟账户账务模型、撮合规则与策略实盘前验证

tick-stock-panel模拟盘实战:虚拟账户账务模型、撮合规则与策略实盘前验证

【免费下载链接】tick-stock-panelTSP自托管、零运维的 A 股「选股 + 监控 + 回测」量化工作台 | LLM能力驱使策略定制+个股分析+复盘 | 自由接入第三方数据源与个性化扩展数据 | 个人开源项目地址: https://gitcode.com/GitHub_Trending/ti/tick-stock-panel

tick-stock-panel(TSP)是一个自托管、零运维的 A 股「选股 + 监控 + 回测」量化工作台。其中的**模拟盘(虚拟账户)**模块用虚拟资金 + 真实行情价格做模拟撮合,帮你回答实盘前最关键的那个问题:「我现在敢不敢按这个信号操作?」本文带你完整拆解它的账务模型、撮合规则,以及如何用模拟盘做策略实盘前的最后验证。

为什么回测之后还需要模拟盘?

很多新手以为回测赚钱就能直接实盘,但回测是重放历史,而模拟盘是实时向前:

维度回测模拟盘
时间方向重放历史 K 线实时跟随真实行情
未来函数存在设计风险天然不存在
验证对象策略逻辑对不对你这个人按不按得动
产出历史统计指标每日虚拟净值曲线

模拟盘与回测互补:先用回测筛掉明显不行的策略,再用模拟盘跑一段时间,确认信号触发的节奏、滑点、心态都符合预期,再考虑实盘。

虚拟账户账务模型:成交台账是唯一事实源

模拟盘的账务设计镜像了财务报表口径,核心原则只有一条:成交台账(fills.jsonl)是唯一事实源,持仓、现金、净值全部可以由台账重放推导;任何修复动作都以「追加记录」表达,绝不允许直接改持仓文件。

六个核心概念一张表看懂:

概念说明
账户 Account初始虚拟资金 + 费用参数 + 状态(active/frozen)
订单 Order买/卖意向,支持手动下单与规则自动触发
成交 Fill订单的实际成交,append-only 台账,每行一笔
持仓 Position由台账推导物化(均价、可卖数量),可随时重建
净值 NAV现金 + Σ(数量 × 市价),收盘定版、盘中估算
回合 Round-tripFIFO 配对的开→平周期,用于胜率/盈亏比统计

数据存储目录结构清晰、独立可删:

data/paper/accounts/{account_id}/ account.json # 账户与费用参数 orders/order_*.json # 订单(pending / filled / cancelled / expired) fills.jsonl # 成交台账(append-only) positions.json # 物化持仓(可由台账重建) nav/daily.jsonl # 每交易日定版净值 + 沪深300基准 auto_rules/*.json # 自动跟单规则

关键口径都写在域模块头部注释里,价格一律使用不复权 raw 价(与真实交易一致)。费用参数与回测引擎 engine.py同名同默认值,一份心智两边通用:

  • 佣金commission_pct:双边万 2.5,最低 5 元
  • 印花税stamp_tax_pct:仅卖出,千 1
  • 滑点slippage_bps:默认 5,买入向上滑、卖出向下滑(始终朝不利方向)

实现见 paper.py 的默认常量与 apply_slippage 滑点函数。

完整撮合规则清单:这些细节决定了模拟盘可信度

模拟盘的可信度来自撮合规则的严谨程度。TSP 把 A 股交易中容易踩坑的规则全部建模,且每条都有测试覆盖:

订单类型与时点

订单类型撮合口径
即时市价单盘中由行情轮询钩子按最新快照价 + 滑点成交;非交易时段下单自动转次日开盘单
次日开盘单次一交易日raw_open成交 + 滑点
当日收盘单盘后管道按raw_close成交

必须知道的 A 股规则建模

  • T+1:当日买入份额次日方可卖出,日终结算时解锁可卖数量
  • 百股取整:买入数量必须是 100 股整数倍;资金不足按可用现金向下取整到百股,不足一手直接拒单
  • 涨跌停:触及涨停价的买单 / 跌停价的卖单默认拒单并留痕(expired);账户开启「排队」选项后转为次日重试,连续顺延超过 3 个交易日自动过期
  • 停牌 / 缺行情:无法取价就不成交,按顺延规则处理——绝不臆造成交价(金融数据错误原则)
  • 除权:日终结算检测除权因子,持仓数量乘因子、成本除因子,并记一条corp_action台账,保证净值曲线连续
  • 撤单:仅 pending 状态可撤;已成交不可逆,只能反向平仓
  • 风控:持仓标的数上限 50 只防误操作,不提供杠杆;账户冻结后拒绝新订单

盘后结算挂在每日管道中(daily_pipeline.py 的paper_settle阶段),具备幂等性——重跑同一交易日不会重复成交,非交易日不撮合不结算。撮合口径的逐条测试在 test_paper_trading.py 中,包括佣金最低 5 元、印花税仅卖出、滑点方向不利、分板块涨跌停幅度(主板 10% / 创业板·科创板 20% / 北交所 30%)等。

自动跟单:让策略替你下单

手动跟单只是起点。TSP 的 paper_auto.py 提供自动跟单规则(V2),把「信号 → 订单」链路自动化:

  • 跟谁:指定某个策略 ID 或某个监控/信号规则 ID
  • 仓位:固定金额,或账户权益的百分比(pct_equity,上限 100%)
  • 订单类型:即时 / 次日开盘 / 当日收盘
  • 冷却去重:同规则同标的最近一次自动下单后 N 个交易日内不再触发(默认 5 日)

触发链路复用监控中心既有事件通道:行情钩子产出规则事件 → 自动生成订单 → 所有校验(账户冻结 / 资金 / T+1 / 涨跌停)与手动下单完全一致。成交事件还会走监控中心既有的 SSE、语音播报、飞书推送通道,前端无需新管道,你的手机能像收到真实成交提醒一样收到模拟盘成交。

统计口径与回测对齐:实盘前的最终验证

模拟盘跑起来后,真正有价值的是它的统计页签——口径与回测报告完全一致,降低理解成本:

  • 回合配对:FIFO;胜率 = 盈利回合数 / 总回合
  • 盈亏比:平均盈利 / 平均亏损
  • 最大回撤:基于收盘定版净值序列
  • 基准对比:沪深300(000300.SH)同期归一化,前端净值曲线双轴对比

推荐的实盘前验证流程:

  1. 回测通过(总收益、夏普、最大回撤达标)
  2. 开一个模拟账户,手动或自动跟单信号跑 1~3 个月
  3. 对比模拟盘实际净值曲线与回测预期:滑点、顺延拒单、T+1 限制带来的偏差有多大
  4. 检查回合明细:信号触发节奏是否符合预期,有无频繁打脸
  5. 偏差在可接受范围内 → 小规模实盘

快速上手

整个模块开箱即用,前端入口在 Paper.tsx(侧边栏「模拟盘」),API 薄壳见 api/paper.py。上手路径:

  1. 初始化向导创建账户:填初始资金,费用参数保持默认即可
  2. 在下单面板输入代码 + 数量/金额,选择订单类型
  3. 下单面板同时嵌在个股分析页与自选行内的「虚拟买入」按钮
  4. 盘后自动结算,次日即可看到定版净值与回合统计

延伸阅读:完整设计方案见 docs/paper-trading-plan.md,涵盖目标与非目标、API 契约、测试矩阵与分期规划;多账户数据隔离、旧数据自动迁移等细节在 paper.py 模块注释中。

模拟盘不接券商、不做实盘下单、不提供任何资金通道——这正是它值得信任的原因:它只回答一个问题,而这个问题值得在动真钱之前认真回答。

【免费下载链接】tick-stock-panelTSP自托管、零运维的 A 股「选股 + 监控 + 回测」量化工作台 | LLM能力驱使策略定制+个股分析+复盘 | 自由接入第三方数据源与个性化扩展数据 | 个人开源项目地址: https://gitcode.com/GitHub_Trending/ti/tick-stock-panel

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/28 21:02:05

大型重构不翻车:用 Cursor Rules 与 TaoToken 搭建分层改造骨架

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/28 21:00:02

Hadoop分布式云存储实战:HDFS块与副本机制及集群调优

简介:这份资源定位为Hadoop入门级综合项目,适合正在学习分布式存储、大数据课程设计或准备相关实验的开发者。压缩包共142个文件,总大小3.14MB,结构较为完整:内含13个Java源文件、4个JSP动态页面、25个JavaScript脚本、…

作者头像 李华
网站建设 2026/9/28 20:59:12

【2019-09-22】linux下使用蓝牙协议栈的一点记录

[历史归档] 本文原发布于 cstriker1407.info 个人博客,内容为历史存档,仅供参考。 发布时间: 2019-09-22 | 标题:linux下使用蓝牙协议栈的一点记录 | 分类: 操作系统 / linux / 网络通讯 / …

作者头像 李华
网站建设 2026/9/28 20:58:47

tick-stock-panel Numba加速实战:回测引擎性能优化完整指南

tick-stock-panel Numba加速实战:回测引擎性能优化完整指南 【免费下载链接】tick-stock-panel TSP自托管、零运维的 A 股「选股 监控 回测」量化工作台 | LLM能力驱使策略定制个股分析复盘 | 自由接入第三方数据源与个性化扩展数据 | 个人开源 项目地址: https…

作者头像 李华
网站建设 2026/9/28 20:58:27

用C#手写TCP调试助手:从Socket到Modbus拆帧的完整工程实践

简介:一套基于C#语言实现的TCP网络调试助手,面向.NET开发者和网络通信调试人员,用于解决TCP协议调试中数据收发、并发连接和格式分析等痛点。压缩包共56个文件,大小3.53MB,包含12个cs源码文件、6个exe可执行程序、4个p…

作者头像 李华