一、课程导学与系统概览:做市商业务基础、库存系统核心价值、技术栈选型

大家好,欢迎来到这门课。

说实话,做市库存系统这个方向,市面上讲的人不多。我当年刚接触这块时,翻遍了技术社区,能找到的资料基本都是零散的。要么是讲做市策略的,要么是讲订单管理的,很少有人把「库存」这个核心环节单独拎出来讲透。

嗯,今天我们就来把这个缺口补上。

1.1 做市商业务基础:你到底在赚什么钱?

先问一个问题:做市商到底是干嘛的?

说白了,做市商就是「提供流动性」的中间商。你在交易所挂买单和卖单,别人来跟你成交,你赚的是买卖价差。举个例子,比特币现价 30000 USDT,我挂 29990 的买单和 30010 的卖单,有人卖给我,有人从我这里买,一来一回,每笔赚 20 USDT 的差价。

听起来很简单对吧?但这里有个坑——库存风险

核心概念:做市商的利润 = 价差收入 - 库存损失 - 手续费

很多人只盯着价差,忽略了库存损失才是真正的利润杀手。

我在项目中遇到过一家做市团队,策略回测年化收益 40%,上线第一个月就亏了 15%。为什么?因为行情单边下跌时,他们手里囤了一堆库存没来得及对冲,账面浮亏直接吃掉了所有价差利润。

所以,做市商的核心能力不是「猜涨跌」,而是管理库存。你想想看,如果你能精确控制库存的敞口、成本、周转速度,那价差就是纯利润。

1.2 库存系统的核心价值:为什么不能靠Excel?

很多小团队起步时,用 Excel 或者简单的数据库记录库存。我刚开始也这么干过,但很快发现几个问题:

  • 实时性不够:做市是毫秒级的,Excel 刷新一次要好几秒,黄花菜都凉了
  • 数据孤岛:交易系统的成交数据、风控系统的限额数据、财务系统的结算数据,各管各的,对不上账
  • 审计困难:出了问题想查历史库存,Excel 版本管理一团糟,根本不知道谁改了什么

我曾经帮一个客户排查库存对不上的问题,查了三天,最后发现是运营同事手动改了一个单元格,公式没拖到底。嗯,从那以后,我坚决要求所有库存数据必须走系统自动化处理。

我的建议:库存系统不是「记录库存」,而是「管理库存生命周期」。从成交那一刻开始,到库存分配、对冲、结算,全链路自动化。

具体来说,一个合格的库存系统要解决三个核心问题:

  1. 库存实时视图:当前每个币种、每个交易所、每个账户的库存数量、成本、浮动盈亏
  2. 库存风险监控:库存集中度、敞口暴露、Delta/Gamma 等风险指标
  3. 库存优化调度:什么时候该补库存?什么时候该减库存?怎么在不同交易所之间调拨?

1.3 技术栈选型:Python + Redis + MySQL,为什么是它们?

选技术栈这件事,我个人的习惯是「够用就好,别炫技」。做市库存系统对实时性要求高,但又不是高频交易那种纳秒级的需求。所以,我选了这套组合:

组件 角色 为什么选它
Python 业务逻辑层 开发效率高,量化生态丰富(pandas、numpy、ccxt),团队招人容易
Redis 实时数据层 内存数据库,读写微秒级,支持发布订阅,适合做实时库存快照
MySQL 持久化存储层 成熟稳定,事务支持好,适合做库存流水、结算对账

你可能会问:为什么不用 MongoDB?或者 ClickHouse?

我的回答是:库存数据是强一致性的。每一笔成交、每一次调拨,都必须保证数据不丢、不重复、不乱序。MySQL 的事务机制在这方面非常可靠。Redis 只做缓存和实时快照,不做持久化主存储——这是我在早期踩过的坑,曾经因为 Redis 宕机丢了半小时的库存数据,复盘时被老板骂得狗血淋头。

避坑指南:千万不要把 Redis 当数据库用。Redis 是缓存层,MySQL 才是数据底座。我曾经见过有人把所有库存数据放 Redis,结果一次 OOM 全没了,恢复数据花了整整两天。

1.4 系统架构概览:一张图看懂

下面这张图是我自己画的库存系统核心架构。你看一眼,基本就能理解我们这门课要讲什么了。

做市库存系统核心架构 数据源层 交易所API(成交数据) | 订单系统(委托数据) | 风控系统(限额数据) 实时处理层(Python) 库存更新引擎 | 成本计算器 | 风险监控器 | 调拨决策器 数据存储层 Redis(实时快照) | MySQL(流水记录、结算对账) 应用层 库存看板(Web) | 告警通知 | 对账报表 | API接口 数据流向

这张图其实就讲了三件事:

  • 数据怎么来:从交易所、订单系统、风控系统采集原始数据
  • 数据怎么处理:Python 引擎实时计算库存变化、成本、风险
  • 数据怎么存和用:Redis 扛实时查询,MySQL 做持久化,上层展示和告警

我们这门课,就是围绕这张图,一层一层往下拆。每一层我都会带着你从零开始写代码,而不是只讲理论。

1.5 课程安排与学习建议

最后聊几句学习建议。

这门课一共 10 个章节,从基础到进阶,每个章节都有完整的代码示例。我的建议是:别光看,跟着敲。代码这东西,看十遍不如自己写一遍。

另外,我每章都会留一个「思考题」,不是那种考试题,而是我在实际工作中遇到的问题。你想想看,如果你能自己把这些问题想明白,那这门课你就真的学透了。

本章思考题:假设你的做市策略在 3 个交易所同时运行,每个交易所的库存数据更新频率不同(有的 100ms,有的 500ms),你怎么保证全局库存视图的一致性?

好,第一章就到这里。我们下一章见。


专注资料整理