如何用 Level-2 行情抓住大单异动?这份完整工具箱让你 5 分钟跑通量化交易
【免费下载链接】stock30天掌握量化交易 (持续更新)项目地址: https://gitcode.com/GitHub_Trending/sto/stock
你盯着K线,价格突然跳了两分钱,软件只说"涨了",没说"谁在买"。要分清主力扫货还是散户跟风,得看 Level-2 逐笔数据。开源项目 stock 就是冲着这个来的:行情采集、大单监控、异动提醒,全打包成 Python 脚本,改配置就能跑。
先把概念讲明白:Level-2 行情和 Level-1 差在哪
别被名词吓到。打个比方:Level-1 像超市收银台的小票,只告诉你最后成交了多少、成交价是多少;Level-2 像装在后仓的监控,货架前排队的人、每一单是谁下的、队伍怎么变动,你全都看得见。这里说的"排队的人"就是委托队列(就是买卖双方的排队名单),是判断大资金动向的关键。区别一张表说清:
| 维度 | Level-1 | Level-2 |
|---|---|---|
| 价格 | 最新成交价 | 买一到买五、卖一到卖五的逐档报价 |
| 委托 | 不展示 | 完整委托队列 |
| 成交 | 累计成交量 | 逐笔成交明细(每笔大小、买卖方向) |
| 刷新 | 约 3 秒一档 | 逐笔实时推送 |
说白了,Level-1 告诉你"发生了什么",Level-2 告诉你"谁在做什么"。
这个项目帮你解决什么:量化交易的功能亮点
📊 项目作者按职责把代码拆成了几个目录,你平时用得上的主要是这四个场景:
- 不想全天盯盘:monitor/big_deal.py 后台轮询全市场 tick 数据,单笔成交量超 1000 手就记一条大单日志 → 主力扫货的痕迹不用你肉眼找。
- 想用手机接收提醒:涨幅或买一/卖一价差超过阈值,脚本自动经企业微信或邮件推送到手机 → 通勤路上就能收到盘中异动。
- 想攒自己的数据底仓:datahub/ 把日线行情、可转债、汇率等批量抓进 MySQL/MongoDB → 后面的分析脚本直接查库,不用重复爬。
- 想验证一个策略:backtest/ 带 backtrader 示例,fund/closed_end_fund_backtrade/ 有封基轮动策略 → 照抄目录结构就能复现收益曲线。
5 分钟跑起来:大单监控工具快速上手
🛠️ 四步,每步一条命令的事:
- clone 仓库:
git clone https://gitcode.com/GitHub_Trending/sto/stock - 装依赖:
pip install -r requirements.txt(pandas、tushare、akshare、sqlalchemy 都在里面) - 改配置:把 configure/sample_config.json 复制为
configure/config.json——脚本只认后者,不复制会直接报配置错误 - 跑示例:
python monitor/big_deal.py,开盘时段就能看到大单输出
config.json 里你真正要填的只有几处:
ts_token:tushare 的 token,没填行情接口会被限频,大单监控直接跑不起来mysql.user/password:datahub 和 analysis 的脚本统一从这套库读写,不填就连接报错enterprise_wechat.corpid/corpsecret/agentid:手机提醒通道,不填的话提醒只写进本地 logjsl_monitor.MONITOR_PERCENT: 8:涨幅提醒阈值,8 表示波动超 8% 才提醒,调低更灵敏也更吵
仓库里还放了一条现成的回测结果,你可以拿它确认自己的环境跑通了:
玩深一点:Level-2 数据实战进阶
- 如果你只想盯自选股而不是全市场,可以把 real_time_big_deal.py 里多线程轮询的股票池换成
data/mystock.csv里的票,核心判定就这几行,改哪、改完看到什么一目了然:
# 2 秒内成交量增量超 1000 手,判定为大单 if delta_v > 1000: print("Big deal on %s" % name)- 如果你想看盘口失衡,monitor/realtime_monitor_ts.py 会对比买一和卖一价,
DIFF_V就是价差阈值,改小一点,价差突然拉大的票会立刻进提醒队列。 - 如果你想控制轮询节奏,
LOOP_TIME是循环间隔秒数,别设太激进——数据源一旦限频,脚本会走异常重连分支,日志里会一片报错。
新手容易踩的 3 个坑
Q:跑了 real_time_big_deal.py 直接退出,一行行情都没有?A:脚本要先读data/mystock.csv(股票池)和data/bases.csv(名称表),文件不存在直接 exit。建好 data 目录、把两个文件放进去再跑。
Q:大单阈值从 1000 手调成 100 手,全天刷屏?A:单位是"手"(1 手 = 100 股),活跃时段几百手很常见,100 手基本等于全市场播报。恢复 1000 手,或者只监控自选池。
Q:企业微信参数都填了,手机还是收不到提醒?A:推送读的是 config 里enterprise_wechat整块,agentid 一个字母都不能少;还不行就看log/下的日志,所有提醒都会同步落盘,报错信息写在里面。
stock 把行情采集、大单监控、异动提醒、回测串成一套能直接跑的 Python 脚本,你缺的只是把配置填对。打开终端 clone 下来,先跑 big_deal.py 看看大单输出。
【免费下载链接】stock30天掌握量化交易 (持续更新)项目地址: https://gitcode.com/GitHub_Trending/sto/stock
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考