什么是做市?¶

欢迎来到 Hummingbot 学院!¶
如果你来到这个页面,很可能你曾问过以下问题之一:
- 什么是做市商?
- 做市商是做什么的?
- 我如何成为一名做市商?
- 我该如何创建一个做市机器人?
那么你来对地方了!
在 Hummingbot,我们的目标是帮助你了解更多关于做市的知识,并教你如何使用我们免费的开源机器人来实现自己的策略。
但什么是做市商?¶
做市商(MM)是指在某项证券中积极报出双向价格(即买价和卖价),同时提供买卖报价及其对应数量的公司或个人。(来源)
如果上面这段定义让你感到困惑,不妨想象一下当铺的场景:

假设苏珊有一把旧吉他,她已经没时间再弹了,而且正需要一些现金;与此同时,在城镇的另一端,迈克一直在借用朋友的吉他练习,现在觉得自己水平足够,想花点钱买一把属于自己的吉他,但全新的可能太贵。
虽然这两个人都有交易的潜力,但他们可能很难找到彼此,也难以就吉他的合理价格达成一致。
这时当铺就派上了用场:
苏珊不必四处寻找买家,可以直接把吉他卖给当铺;而迈克也可以直接去当铺,因为他知道那里会有吉他出售。
当铺老板为苏珊和迈克都提供了服务:他为两人提供了便捷的买卖渠道(提供流动性),并根据当地二手吉他需求给出公平的价格(缩小价差)。
当铺通过从苏珊买入和向迈克卖出之间的价格差异来获得这项服务的报酬(价差大小)。
💡 就像当铺老板一样,做市商在金融市场中提供类似的服务。他们提供流动性,帮助缩小买卖价差,并通过买卖订单之间的差价(价差)赚取利润。
金融市场中的做市是如何进行的?¶
金融市场与现实经济中的开放市场并无太大区别。每天,数百万人登录各种交易平台,希望在广泛的资产类别中完成交易,包括公司股票、债券、石油、黄金、合约以及加密货币。
但与成千上万人聚集在同一地点、举着牌子或大声喊出买卖价格不同,金融资产市场使用的是订单簿,将所有买卖报价集中在一个地方:

订单簿不过是所有市场参与者之间可用的所有买卖报价(包括数量和价格)的列表。
在上面的图片中,我们可以看到 BTC/USD 交易对的订单簿。如果有人现在想要买入比特币,则必须支付 12,022.230 美元(最低卖价),该价格下有 0.578 比特币可供交易。
但如果有人想立即卖出比特币,则必须接受 12,016.32 美元的价格(最高买价),最多可卖出 0.016 比特币。
💡 对于某一商品或资产而言,最低卖价与最高买价之间的差额称为价差(spread)。
从技术上讲,任何在订单簿上挂出买卖委托的人,都扮演着市场做市商(maker)的角色;而那些接受订单簿上报价进行交易的人,则被称为市场吃单者(taker)。
充当做市商在概念上类似于以“当铺老板”的身份参与市场:以较低价格挂出买入报价,并尽可能快、尽可能频繁地以较高价格卖出。
💡 虽然最常见的交易/投资策略依赖于大幅价格波动来盈利,但专业的做市商会试图从两个价位之间较小但更频繁的价格波动中获利。
大多数交易员和投资者希望看到市场走势如下图所示:

而做市商则更喜欢看到市场价格像这样波动:

资产价格的变化并非匀速流动,而是像波浪一样起伏。当交易员和投资者试图判断潮水是涨还是落时,做市商关注的却是海滩上的小浪花。
买卖价差 vs 做市商价差¶
回顾前面图片中的订单簿状态,一位做市商可以同时挂出两个委托:
- 以 12,016.320 美元买入 1 比特币(买单价)
- 以 12,022.230 美元卖出 1 比特币(卖单价)
当其他市场参与者接受这些价格,并且两笔委托均成交后,该做市商将在这笔交易中获得 5.91 美元的利润。
这也被称为市场的买卖价差(Bid-Ask Spread)。在上述例子中,这 5.91 美元就是做市商完成双边交易操作所获得的利润:
(12,022.23 - 12,016.32) / 12,016.32 = 0.049%
一些交易所甚至提供实时可视化买卖价差的功能(以及订单簿深度(book depth),即订单簿上所有挂单量的累计总和):

但这并不意味着做市商必须始终使用这两个精确的买卖价格。
做市商在决定自己的操作价差(operational spread)时,仍需考虑其他因素,包括:
- 市场买卖价差;
- 交易成本(包括交易所手续费和/或转账费用);
- 交易量;
- 市场波动性;
- 运营成本(电费、云服务器费用等);
- 与交易操作相关的任何其他成本。
关于做市商价差应设置为多大或多小,并没有绝对正确或错误的答案。最终,价差只是做市商策略的一部分。
🐦 你可以使用 Hummingbot 中的
config ask_spread命令设置卖出订单的价差百分比,使用config bid_spread命令设置买入订单的价差百分比。
策略包含哪些要素?¶
成为一名盈利的做市商并不仅仅是选择一个价差大小,开始向订单簿发送限价单,然后转身离开不管。
在开始做市操作之前,你必须问自己一些问题:
- 我是否应该一直保持固定的价差?还是应根据市场状况进行调整?
- 我的订单规模应该是多少?
- 当市场出现价格趋势时,或者没有明显趋势时,我该怎么办?
- 我该如何判断市场方向?
- 我的订单应在订单簿上挂单多久?
- 如果操作的一侧被成交,我是否应继续保留对侧订单直到其也被成交?
- 我是否希望随着时间推移积累更多某一资产,还是希望始终保持 50/50 的平衡?
- 如果出现价格剧烈波动,我该怎么办?
- 我是否需要关注平均买入成本?
- 我应在何时退出市场?出于什么理由?还是应该一直持续交易?
- 我可能亏损多少?我承担了多大的风险?
这些问题的答案将决定你在不同市场条件下的行动(和反应),并最终定义你的策略。
一个好的做市策略无非就是提前规划好你将如何应对市场变化。
但在你被这些问题吓到并放弃做市之前,这里有一个提示:
💡 从小处着手。 不必一开始就为所有策略问题找到全部答案,而是专注于一次优化一个参数,测试并在不同市场情况下观察结果。随着时间推移,逐步加入另一个参数,进一步测试,并观察各个部分如何协同工作。
你不可能随随便便就找到一个现成的、通用且始终盈利的“万能”策略或参数组合,但经过一段时间后,你会逐渐理解每种策略的优缺点,并通过尝试不同的方案,最终找到适合你目标的那个。
🐦 在 Hummingbot 中,你可以使用
config命令以多种方式组合不同的设置,构建出各种各样的策略。查看纯做市参考指南了解每个参数的具体用途。
自动化交易与做市¶
那么,交易机器人……这可能是你阅读本文的另一个原因;你不仅仅想成为一名做市商,你还想搭建一个做市机器人来完成所有繁重的工作。
毕竟,Hummingbot 是一款开源交易机器人,任何想要启动自动化交易策略的人都可以免费使用。
虽然手动执行做市操作是可行的,但使用交易机器人可以让策略更精确地执行,消除情绪因素(贪婪与恐惧),甚至可以建立安全机制以实现更好的风险管理。
但并非所有机器人都一样,根据你打算使用的策略类型(高频、低频、趋势跟踪、网格、跨式套利、量化等……可能性很多),某些机器人可能比其他机器人表现更好。
毕竟,交易机器人是一种工具,我们必须为任务选择合适的工具。
Hummingbot 是用于加密货币市场的算法做市的绝佳选择,因为它专注于此类交易操作。
但无论你选择使用哪种机器人,始终要记住:
🐦 决定交易操作盈利能力的是策略。算法只是将策略转化为计算机指令,并以自动化方式执行。
关于收益与风险的简要说明¶
做市并非无风险且永远盈利的交易操作。
与其他任何交易活动一样,运行机器人来利用市场的不完善性也伴随着其特有的风险/回报特征。
因此,在开始使用真实资金之前,请务必了解此类交易的运作机制以及您将面临哪些类型的风险。
🐦 使用 Hummingbot,您可以通过
paper_trading命令启用纸面交易模式,从而在无需承担资金风险的情况下,在实时模拟环境中测试您的策略。
加入我们的社区¶
这只是 Hummingbot 学院系列的第一篇文章,后续还将推出更多文章,探讨与做市和套利交易相关的其他主题,包括一些策略分析。我们的目标是帮助您学习如何成为一名更优秀的市场做市商/套利者。
如果您想了解更多,请务必关注我们的博客,每周获取新文章更新。
在等待下一篇文章的同时,请记得加入我们的 Discord 服务器,在这里,我们的社区成员会讨论做市和套利,以及如何利用 Hummingbot 优化您的交易策略。
另外,如果您希望我们在 Hummingbot 学院中讲解某个特定主题,请通过 Discord 联系我们的团队,或发送邮件至 academy@hummingbot.io。
期待很快再见,祝您交易顺利、收益丰厚!
 
                