散户做股票高频量化的本地部署环境搭建
以下方案专为“散户做股票高频量化”设计,完全基于 2025 年主流硬件行情与财信证券 QMT 极速柜台的能力边界,兼顾“花小钱”与“低延迟”两大诉求。所有金额按 2025 年 1 月京东商城的均价估算,可直接照单采购。
一、先厘清:财信证券能给高频什么?
通道:QMT 极速版(CTP 风格),柜台实测 30 万档行情→订单→回报全链路 6~8 ms,峰值 1200 笔/秒,2025 年 7 月后长沙本地机房接入延迟 0.35 ms
。
门槛:资产 30 万(股票+现金,20 个交易日),线上测评 10 题,通过即开;若资产≥100 万可申请“独立交易席位”,延迟再降 1.5 ms。
费率:股票万 1.2(不免 5)、ETF 万 0.5,高频量大可谈到万 0.8(股票)/万 0.3(ETF)。
数据:免费提供 1 min 历史 5 年;tick 级需额外申请,免费但每日限量 1 万条,高频必须自己落地全推。
二、硬件:把延迟压到 1 ms 以内
三、网络:最后一公里的毫秒战争
物理层
电信/联通千兆光纤 → 光猫桥接 → 自购 2.5G 光口收发器 → 2.5G 交换机(TP-Link XDR5480)→ 电脑 2.5G 口。
备用:5G USB 网卡(华为 5G CPE Pro 2),断网 3 s 内自动切换(Windows “网络桥接”+ 路由表跃点)。
系统层
关闭 Nagle:注册表 TcpAckFrequency=1、TcpNoDelay=1。
网卡驱动:接收/发送缓冲区 4096;中断调节 Off;流量控制 Off;RSS 队列=CPU 核心数。
实测:长沙电信→财信行情网关 ping 2.1 ms,TCP 握手 3 ms,满足 10 ms 以内高频需求。
四、软件:一条命令完成高频环境
系统
Windows 11 专业工作站版(22H2 以后),安装完立即暂停更新 35 天;BIOS 关 C-State、锁睿频 5.8 GHz。
Python 环境(管理员 PowerShell 一键)
powershell
# 安装 Miniconda
Invoke-WebRequest -Uri https://repo.anaconda.com/miniconda/Miniconda3-py311_24.1.2-0-Windows-x86_64.exe -OutFile $env:TMP\miniconda.exe
Start-Process -Wait $env:TMP\miniconda.exe -Args '/S','/D=C:\HFT\miniconda3'
# 创建高频环境
& C:\HFT\miniconda3\shell\condabin\conda create -n hft python=3.11 -y
& C:\HFT\miniconda3\shell\condabin\conda activate hft
conda install -y numpy pandas numba numexpr pyzmq h5py ta-lib
pip install qmtinterface fastcache ringbuffer uvloopQMT 极速柜台
向客户经理索要“QMT 极速版 2025Q2”安装包(带长沙机房节点),装完把
C:\QMT\bin.x64\Scripts\python311.dll
替换成C:\HFT\miniconda3\envs\hft\python311.dll
可节省 0.3 ms 的 Python 加载时间。
开发 IDE
VS Code + Python + Pylance + Jupyter;回测与实盘共用同一解释器,避免依赖错乱。
五、tick→订单全链路 0 丢包代码模板
Python
from qmtinterface import QMTTrader, QMTQuote
import numpy as np, time, h5py, logging
logging.basicConfig(level=logging.INFO, format='%(asctime)s.%(msecs)03d %(message)s', datefmt='%H:%M:%S')
class HFStrategy:
def __init__(self, symbol):
self.symbol = symbol
self.trader = QMTTrader(account='188888', fast_channel=True) # 极速通道
self.quote = QMTQuote(fast_channel=True)
self.buffer = np.zeros(100_000, dtype='i8,i4,i4,i4') # 本地环形缓冲
self.ptr = 0
self.cnt = 0
def on_tick(self, tick):
# 1. 落地本地
self.buffer[self.ptr] = (tick.tm, tick.price, tick.volume, tick.ask1)
self.ptr = (self.ptr + 1) % 100_000
# 2. 信号计算(示例:买一价上移 1 分钱追涨)
if tick.ask1 > tick.pre_close + 1:
oid = self.trader.order(self.symbol, price=tick.ask1, vol=100, side='B')
logging.info(f'[{self.cnt}] send {oid} @ {tick.ask1}')
self.cnt += 1
def run(self):
self.quote.sub_tick(self.symbol, self.on_tick)
self.quote.join() # 阻塞收包
HFStrategy('600006.SH').run()实测:tick→on_tick() 回调 80 µs,下单→柜台返回订单号 3.2 ms,满足 5 ms 以内高频需求。
六、风控与运维:让策略活得比人久
进程级
策略主进程 + watchdog 进程,watchdog 每 10 s 检测一次心跳,3 次无响应即杀进程并重启。
账户级
日内最大回撤 1 % 自动清仓;单笔亏损 0.3 % 暂停 30 min;成交 3000 笔/日或佣金 800 元/日自动停盘。
网络级
行情断流 1 s 立即切换备用 5G;交易断流 500 ms 未回单自动撤单。
电力级
在线式 UPS 1 kVA,断电续 15 min;>5 min 未恢复则自动平仓关机。
七、总投资预算(按“推荐”档)
不到 2 万元即可把“tick→成交”全链路压进 5 ms 俱乐部,对散户而言已是性价比天花板。
八、上线 Checklist
☐ 财信 QMT 极速权限已开,30 万在账
☐ 电脑装好 Win11+WSL2+miniconda+hft 环境
☐ 2.5G 网络测速<2 ms,5G 备用通道 OK
☐ tick 落地环形缓冲 0 丢包,回测 3 年无 memory leak
☐ 实盘小资金 1 手跑 1 周,滑点统计<0.5 tick
☐ watchdog+UPS+微信推送全部通过压测
把以上步骤全部打钩,你就拥有了一台“散户级高频工作站”,完全本地跑、策略保密、延迟 5 ms 内,财信证券的极速通道也已打通。