订单簿深入:挂单、吃单与"看不见的手"如何撮合
我的掌握程度:
先掌握这个答案
两类参与者:①Maker(挂单方):限价单排队等成交,提供流动性,优点是不付价差(甚至有返佣),缺点是不保证成交+可能被「知情者」狙击;②Taker(吃单方):市价单立即成交,消耗流动性,付出价差,优点是确定性。撮合规则:价格优先(更高买价/更低卖价先成交)→时间优先(同价先到先得)。
先读结论,再核对下方使用边界;数字例题为教学情景,涉及实际行情与规则时请核对原始来源。
从理解到使用
每一笔收益都要有可执行时间线
打印数据截止时间、信号时间、订单时间、成交时间和持仓收益区间。收盘信号不能乘当天完整收益;次日开盘成交也不能无条件拿到整个close-to-close收益。用原始价格判断可成交性,并纳入停牌与涨跌停。
用模拟盘先验证系统行为
先演练重复信号、网络超时、断线重连和部分成交,检查订单幂等与持仓对账。回测结果不验证交易通道、延迟与容量;启动、暂停和恢复都要有明确条件与记录。
本阶段实战方法 · 把行情数字变成可比较的收益
看股票、基金或策略业绩时,先对齐本金、起止日期、现金流与费用。
- 选一个固定区间,记录期初价值、期末价值、分红、出入金和交易费用。
- 没有中途出入金时,用(期末价值+已取出分红-期初价值-费用)÷期初价值计算收益;有出入金时先区分时间加权与资金加权。
- 用相同区间的基准作比较,同时记录最大亏损;不要单凭一次盈利评价能力。
使用边界
- 不同期限的收益不可直接排名;年化只是换算,不是未来收益承诺。
- 模拟价格不是实时行情。普通股票交易手数、T+1和费用应按具体市场规则核对。
背景 · 从一个困惑说起
q-003初识了订单簿。现在你盯着盘口:买一档堆着500手,卖一档只有50手——买压看起来很强。可下一秒,买一的500手被一笔卖单全部吃掉,价格掉头向下。盘口的「形态」本身也是博弈的武器。
由此产生的问题
限价单(挂单)和市价单(吃单)各自的行为逻辑是什么?撮合的「价格优先、时间优先」如何决定了高频玩家的生存方式?
核心概念
两类参与者:①Maker(挂单方):限价单排队等成交,提供流动性,优点是不付价差(甚至有返佣),缺点是不保证成交+可能被「知情者」狙击;②Taker(吃单方):市价单立即成交,消耗流动性,付出价差,优点是确定性。撮合规则:价格优先(更高买价/更低卖价先成交)→时间优先(同价先到先得)。
为什么需要它
①理解成本结构:你的每一笔交易要么付价差(吃单)要么付「错过」的风险(挂单);②理解高频:速度竞赛的本质是「排队位置」和「先看到行情」——微秒级优势=排队更靠前;③理解虚假盘口:大单可以撤(幌骗违法但存在),盘口数据要结合成交看,不能只看挂单。
实际应用场景
算法交易的核心权衡:TWAP/VWAP把大单切成小单(降低冲击)vs 立即吃单(降低风险敞口时间);做市策略=纯Maker赚价差;你的回测若假设「以收盘价成交」,本质是假设零价差零冲击——乐观假设的头号来源(阶段6)。
与之前知识的联系
至此市场机制的地基完工:价格形成(q-003)→做空(q-027)→杠杆(q-028)→流动性(q-029)→撮合微观(本题)。下一组换视角:读懂行情软件上的每个数字(K线、均线、市值…)。
⚠ 常见误解
- 挂单是免费的:免费的是价差,成本是「该成交没成交」的机会成本和逆向选择
- 盘口大单=真实意图:挂单可随时撤销,真实意图只体现在成交里;无成本挂单本身就会诱导虚假信号
- 个人不必理解撮合:撮合规则决定你的止损单、限价单在极端时刻的成交顺序——理解它=理解你的订单何时会变成炮灰
🛠 本题实践任务
观察任意股票盘口10分钟:记录一次「主动买单吃掉卖一」和一次「大单挂上买一后撤单」。思考:前者是Taker的确定性,后者可能是Maker的试探(或幌骗)。写下观察。
💡 提示(先自己想5分钟再看)
成交记录里红色(外盘)=主动买吃卖单,绿色(内盘)=主动卖。挂单后消失的巨单值得记录。
✅ 验收标准
两条观察记录(时间、价格、数量、你的解读)。开始建立「盘口是战场」的直觉,为高频概念(阶段7)埋种子。
在你的浏览器内运行。首次需联网下载 Python;支持标准库和 Pyodide 提供的 NumPy、pandas 等包。行情抓取、系统文件访问和部分第三方库请在本地环境运行。输出自检仅比对结果关键词,不代替逻辑审查。
Python · 独立工作线程 · 执行限时10秒
🤖 AI导师
导师会先检查你的前置知识(订单簿、流动性、市价单限价单),再用案例、公式和代码帮助理解。此功能需要先启用服务。