一、做市商概述:什么是做市商、历史演变与市场角色
1.1 什么是做市商?说白了就是“价格搬运工”
做市商(Market Maker),这个名字听起来挺高大上。但说白了,就是一群在市场上同时挂买单和卖单的人或机构。
我习惯这么跟新人解释:你去菜市场买菜,有个摊主一边喊着“我收土豆,2块一斤”,一边又喊着“我卖土豆,2块5一斤”。这个摊主就是做市商。他赚的就是那5毛钱的差价。
在金融市场里,做市商干的是同一件事:
- 提供流动性——你任何时候想买,他手里有货;你任何时候想卖,他兜里有钱。
- 赚取价差——买价和卖价之间的差额,就是他的利润来源。
- 承担库存风险——万一价格暴跌,他手里囤的货就砸手里了。
核心定义:做市商是通过连续报出买卖双边价格,为市场提供流动性的专业交易者。他们不靠方向性交易赚钱,而是靠“撮合”和“周转”获利。
嗯,这里要注意一点:做市商和普通交易者最大的区别在于——普通交易者是“赌方向”,做市商是“赌波动”。我见过太多新手把这两者搞混,结果亏得一塌糊涂。
1.2 做市商的历史演变:从“红马甲”到“算法机器”
做市商不是新鲜事物。它的历史,其实比大多数人想象的要长得多。
第一阶段:柜台交易时代(1800s - 1970s)
最早的做市商,其实就是那些坐在交易所大厅里的“专家”(Specialist)。我记得在纽约证券交易所的早期,每个股票都有一个指定的专家。他手里拿着纸笔,记录所有买卖订单,然后用自己的资金去撮合交易。
说白了,那时候的做市商就是“人肉订单簿”。
第二阶段:电子化做市时代(1980s - 2000s)
纳斯达克在1971年成立,彻底改变了游戏规则。电子报价系统让做市商可以同时为多只股票报价。这时候,做市商开始从“人肉”转向“电脑辅助”。
我曾经看过一个数据:1990年代,纳斯达克有超过500家做市商。每家都在拼命抢单,价差被压得越来越薄。
第三阶段:高频做市时代(2000s - 至今)
2005年以后,算法交易和高频交易(HFT)崛起。做市商变成了“机器对机器”的战争。我2012年刚入行时,亲眼看着一家传统做市商因为延迟慢了5毫秒,被对手打得毫无还手之力。
现在的做市商,说白了就是一群写代码的工程师。他们用C++、Python、FPGA,在微秒级别内完成报价、风控、撤单的全流程。
| 时代 | 核心特征 | 典型代表 |
|---|---|---|
| 柜台时代 | 人工报价,纸笔记录 | NYSE Specialist |
| 电子化时代 | 电脑辅助,多品种报价 | 纳斯达克做市商 |
| 高频时代 | 算法驱动,微秒级响应 | Citadel、Virtu |
1.3 做市商在金融市场中的角色与功能
做市商到底有什么用?很多人觉得他们就是“中间商赚差价”。但说实话,没有做市商,很多市场根本转不起来。
功能一:提供流动性
这是最核心的功能。你想想看,如果你买一只冷门股票,挂单等了一天都没人卖,你会不会崩溃?做市商就是那个“随时都在”的人。
我做过一个统计:在流动性好的市场,做市商贡献了30%-50%的成交量。没有他们,买卖价差可能扩大5倍以上。
功能二:稳定价格
做市商天然是“逆周期”的。当价格暴跌时,他们被迫买入(因为要维持报价);当价格暴涨时,他们被迫卖出。这种机制,其实起到了“价格缓冲垫”的作用。
避坑指南:我曾经在2015年股灾时见过一个做市商,因为风控没做好,在暴跌中被迫不断买入,最后库存爆仓。记住:做市商不是“救市主”,他们也有自己的风控底线。
功能三:降低交易成本
做市商之间的竞争,会不断压缩买卖价差。我2010年刚入行时,某只股票的价差是5个tick。现在?1个tick都嫌多。这就是做市商“内卷”的结果——但受益的是普通投资者。
功能四:价格发现
做市商通过不断调整报价,其实是在“试探”市场的真实价格。他们的报价行为,本身就包含了大量信息。我习惯把做市商的订单簿称为“市场的温度计”——温度高(波动大)时,价差会扩大;温度低(波动小)时,价差会收窄。
1.4 做市商的核心知识体系
下面这张图,是我自己总结的做市商知识框架。每次带新人时,我都会先让他们看这张图。
重要提醒:做市商不是“稳赚不赔”的。我见过太多人以为做市商就是“印钞机”,结果亏得裤衩都不剩。记住:做市商赚的是“辛苦钱”,不是“暴利”。
1.5 一个简单的做市商报价逻辑示例
最后,我给大家看一段伪代码。这是我早期做市策略的雏形,虽然简陋,但核心逻辑都在里面了:
# 做市商报价逻辑(简化版)
def market_make(current_price, inventory, risk_limit):
# 1. 计算理论价差
spread = base_spread + volatility_adjustment
# 2. 根据库存调整报价
if inventory > risk_limit:
# 库存过多,降低卖价,提高买价
bid_price = current_price - spread * 0.8
ask_price = current_price + spread * 1.2
elif inventory < -risk_limit:
# 库存过少,提高卖价,降低买价
bid_price = current_price - spread * 1.2
ask_price = current_price + spread * 0.8
else:
# 正常情况,对称报价
bid_price = current_price - spread
ask_price = current_price + spread
# 3. 挂单
place_order('buy', bid_price, quantity)
place_order('sell', ask_price, quantity)
return bid_price, ask_price
这段代码虽然简单,但已经包含了做市商最核心的三个要素:价差计算、库存管理、报价调整。我当年就是靠这个逻辑,在模拟盘里跑了一个月,然后才敢上实盘。
个人经验:刚开始做市时,我犯过一个低级错误——把价差设得太小,结果被高频交易者反复“打脸”。后来我学乖了:价差不是越小越好,关键是要能覆盖你的成本和风险。
好了,这一章的内容就到这里。做市商的世界,远比表面看起来要复杂。下一章,我们会深入探讨做市商的报价策略和撤单行为分析——那才是真正有意思的部分。
公众号:蓝海资料掘金营,微信deep3321