为了账号安全,请及时绑定邮箱和手机立即绑定

手把手教你:用Python实时识别港股碎股与自动对盘

标签:
人工智能

大家好,我是一名和数据打交道多年的金融分析师。最近有个朋友在做港股量化,跑来问我:“收到的实时成交行情里,怎么有的单子怪怪的,明明成交了却感觉不像是人挂的单?”这其实就涉及港股里两个常见但又有点隐蔽的概念:碎股成交和自动对盘。今天我就把自己在项目中总结的经验和代码分享出来,希望能帮你扫清这个障碍。

痛点:看不懂的成交从哪来
刚接触港股实时数据时,我习惯性地只看价格和成交量。可回测时发现,某些时段的成交特别密集,股价却纹丝不动,仔细排查才发现,很多是系统为了撮合而自动生成的交易,根本不是主动买卖。另一些成交量不到一手的零碎单子,同样会干扰分析。这些“不真实”的成交如果不清洗掉,做策略的时候很容易被误导。手工去翻每条记录?那效率太低了。

先弄清推送里有什么
当我们通过WebSocket订阅股票的成交频道,每条记录通常会包含以下内容:

字段名 含义
time 成交时间
price 成交价格
volume 成交股数
trade_type 成交类型标识(可能缺失)
match_id 撮合编号

我最初被trade_type这个字段名字迷惑,以为它会清楚地标明“碎股”或“对盘”,结果大部分情况不是空就是默认值。转机在于,我发现可以从三个更底层的特征来判断:

  • 成交量:港股一手通常是100的倍数。如果股数小于100或是零散数字,那多半是碎股。
  • 时间间隔:自动对盘为了批量处理,常在同一秒甚至几毫秒内连续出现多笔,十分密集。碎股的出现时间就没有这种规律。
  • 买卖方信息:如果你用的接口能返回买家、卖家代码,当双方都显示为系统账户时,这笔成交基本就是自动对盘。

用代码实现自动标注
掌握这些规律后,我写了一个Python脚本,实时监听WebSocket,每来一条就自动判别。这里我以ALLTICK API的港股数据源为例,它提供了真实的实时推送。你只需要订阅指定标的,然后根据成交量和对手方打标签即可:

from websocket import create_connection
import json

# 这里填你的 AllTick API Token
API_TOKEN = '你的API_TOKEN'
ws_url = f"wss://ws.alltick.co/stock?token={API_TOKEN}"

ws = create_connection(ws_url)

# 订阅港股 00700.HK 的成交数据
subscribe_msg = {
    "action": "subscribe",
    "symbol": "00700.HK",
    "type": "transaction"
}
ws.send(json.dumps(subscribe_msg))

def check_auto_match(tick):
    # 假设系统自动对盘的成交方为 "SYS"
    return tick.get('buyer') == 'SYS' and tick.get('seller') == 'SYS'

while True:
    data = ws.recv()
    tick = json.loads(data)
    
    volume = tick.get('volume', 0)
    
    if volume < 100:
        tick['tag'] = '碎股'
    elif check_auto_match(tick):
        tick['tag'] = '自动对盘'
    else:
        tick['tag'] = '普通成交'
    
    print(tick['time'], tick['price'], tick['volume'], tick['tag'])

这样跑起来,控制台就会持续输出带标签的成交记录,碎股和自动对盘一目了然。

工作方式的大幅改善
有这套自动判别后,我再也不用手工分拣,直接把标记好的数据输入策略或存储到数据库。在做量价因子分析时,我会只提取“普通成交”来计算,剔除了干扰项,回测的稳定性明显提高。同时,监控盘面时能看到哪些交易是系统产生的,能让我避开假突破的陷阱。希望你也能用这个办法,让你的港股实时数据处理变得更轻松。
图片描述

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

举报

0/150
提交
取消