
港股量化交易的真实门槛
很多人做A股量化做得顺手,转战港股却发现处处是坑。港股市场跟A股根本就是两套玩法,量化交易的底层逻辑得重新捋一遍。
先看交易规则。港股是T+0,当天买可以当天卖,没有涨跌停限制,一手就可能几千股,碎股交易也得单独处理。这意味着你的策略在回测时就得把日内回转的成本算进去,滑点模型得比A股更精细。A股那套涨停板打板策略搬到港股直接失效,因为根本没有涨停板给你打。

再看做空机制。港股允许卖空,但不是什么股票都能空。港交所规定了可卖空名单,只有名单内的标的才能做空,而且卖空价格不能低于最佳买价,这叫“卖空价规则”。量化策略里想加空头因子,得先把名单调取出来做过滤。
数据方面更麻烦。港股行情跟A股不同,没有统一的Level-2推送标准,每家券商的数据颗粒度不一样。免费数据延迟大,实盘策略用延迟数据等于送钱。量化交易最怕的就是数据不对称,港股的暗池交易和机构大宗交易占比不低,散户看到的盘口可能只是冰山一角。
券商接口的现实选择
港股量化交易接口不是随便哪家券商都给的。绝大多数香港本地券商只提供传统的交易软件,API接口要么没有,要么只对机构客户开放。个人投资者能接触到的港股量化接口,掰着手指头数得过来。
盈透证券是港股量化绕不开的名字。它的TWS API支持港股交易,功能完整,支持程序化下单、行情订阅、账户查询。缺点是上手门槛高,API文档像天书,新手得花一两个月才能跑通。另外盈透的港股行情是收费的,实时数据每月要额外掏钱,不订行情只能用延迟15分钟的免费数据。佣金方面,盈透港股交易佣金按股数阶梯计算,小额交易成本不低。
富途证券的OpenAPI这几年进步很快。支持港股、美股、A股通,接口文档中文友好,社区里有不少现成的Python示例代码。富途的港股行情对个人用户相对友好,开户后满足一定条件可以免费拿Level-1行情,Level-2需要付费。OpenAPI支持限价单、市价单、条件单,基本能满足量化交易的需求。量化策略跑在富途上,执行速度取决于你的网络环境和券商撮合链路,普通宽带跑中低频策略足够了。
老虎证券的OpenAPI也支持港股量化交易。老虎的优势在于界面和文档更贴近国内用户习惯,支持Python和Java,行情数据有免费额度。老虎的港股交易佣金按笔收费,小额单子成本比盈透低,高频策略得算清楚每笔成本。
雪盈证券背后是盈透的底层通道,接口能力跟盈透类似,但中文支持更好。适合不想直接跟盈透英文客服打交道的用户。
还有一类是第三方量化平台。掘金量化、聚宽这些平台支持港股回测和模拟交易,但实盘接口通常需要对接券商。这类平台适合策略验证阶段,实盘还是得落到券商API上。
策略开发的几个关键细节
港股量化策略开发有几个坑必须提前避开。
交易成本模型要重新算。港股印花税是双边征收,买卖都要交0.1%,加上交易征费、交易费、结算费,一笔交易的综合成本比A股高出一截。高频策略在港股很难跑通,成本吃掉利润。中低频策略更现实,持仓周期以天或周为单位。
港股的最小报价单位不是固定的。不同价位的股票最小变动价位不一样,低价股报价单位小,高价股报价单位大。策略里写死报价单位会出大问题,得从行情数据里动态获取。
港股有收市竞价交易时段。下午4点收盘后还有随机收市竞价,4点08分到4点10分是随机收市时段。策略如果只盯连续交易时段,可能错过尾盘的大单成交。程序里得把收市竞价时段处理清楚。
港股通和港股直投是两码事。内地投资者通过港股通买港股,交易规则受限,不能做空,不能T+0回转,资金交收是T+2。量化策略如果面向港股通标的,得把这些限制写进约束条件。真正想做港股量化,直接开香港券商账户更灵活。
程序化交易的代码框架
港股量化交易的程序框架跟A股类似,核心区别在接口调用和交易规则封装。用富途OpenAPI举个例子,策略主体逻辑不复杂。
from futu import *
# 初始化行情和交易接口
quote_ctx = OpenQuoteContext(host='127.0.0.1', port=11111)
trade_ctx = OpenSecTradeContext(filter_trdmarket=TrdMarket.HK, host='127.0.0.1', port=11111)
# 订阅港股行情
ret, data = quote_ctx.subscribe(['HK.00700'], [SubType.QUOTE])
# 获取实时报价
ret, quote = quote_ctx.get_stock_quote(['HK.00700'])
print(quote)
# 下单示例:限价买入腾讯控股
ret, order = trade_ctx.place_order(
price=350.0,
qty=100,
code='HK.00700',
trd_side=TrdSide.BUY,
order_type=OrderType.NORMAL,
trd_env=TrdEnv.REAL
)
这段代码只是骨架。实盘策略里还得加风控模块,检查账户可用资金、持仓限额、单笔最大下单量。港股没有涨跌停,程序出错一笔市价单可能造成巨大滑点,风控前置比A股更关键。
给个人量化交易者的建议
港股量化交易不是不能做,但得认清自己的定位。没有机构级的数据和交易通道,就别想着做高频套利。中低频的因子策略、趋势跟踪、事件驱动在港股有空间,尤其是港股对基本面因子的反应比A股更灵敏,财报后的价格漂移现象有可挖掘的规律。
接口选择上,资金量小的先用富途或老虎跑模拟盘,把策略逻辑验证清楚。资金量大的考虑盈透,功能全但学习曲线陡。不管选哪家,先用小资金跑实盘,把交易规则、成本、滑点摸透再放大仓位。港股的流动性分化严重,大盘股流动性好,小盘股买卖价差大,策略选股时得把流动性因子加进去。
量化交易的核心是纪律和风控,港股市场只是换了个交易场所,底层逻辑没变。把规则差异搞清楚,接口跑通,剩下的就是策略打磨的功夫。