二、高频交易核心策略:做市策略、统计套利、事件套利、延迟套利

好,咱们进入正题。高频交易这行,策略就是吃饭的家伙。我见过太多人一上来就研究什么神经网络、深度学习,其实啊,真正赚钱的,往往是那些看起来「笨」但极其扎实的策略。

今天我要讲的这四种策略——做市、统计套利、事件套利、延迟套利——是高频交易领域的四大支柱。我个人习惯把它们分成两类:一类是「赚流动性的钱」,另一类是「赚信息不对称的钱」。你想想看,是不是这个理?

2.1 做市策略:高频交易的基石

做市策略,说白了就是「两边挂单,吃差价」。但别小看它,这里面的门道深着呢。

我在项目中遇到过最典型的场景:某只股票在盘口上,买一和卖一之间差了3个tick。普通交易者可能觉得这很正常,但对我们做市商来说,这就是利润空间。我们会在买一价挂单,同时在卖一价挂单,谁成交了我们就赚那个差价。

但这里有个核心问题:你怎么保证自己不被「吃掉」?

做市策略的核心参数:

  • 价差宽度(Spread):通常设为1-2个最小变动单位
  • 挂单深度(Depth):每档挂多少手,一般不超过总流动性的5%
  • 更新频率(Refresh Rate):毫秒级更新,我习惯用100微秒
  • 库存管理(Inventory Control):净头寸不能超过某个阈值

嗯,这里要注意。做市策略最大的风险是什么?是「被狙击」。我记得有一次,某个小市值股票突然出现大单砸盘,我的做市机器人还在傻傻地挂单,结果瞬间被吃了2000手。从那以后,我加了一个硬性规则:当价格波动超过3个标准差时,立即撤单并暂停做市30秒。

// 伪代码:做市策略核心逻辑
while (market_open) {
    bid_price = best_bid - spread / 2;
    ask_price = best_ask + spread / 2;
    
    // 检查库存风险
    if (abs(inventory) > max_inventory) {
        cancel_all_orders();
        continue;
    }
    
    // 挂单
    place_order(bid_price, order_size, BUY);
    place_order(ask_price, order_size, SELL);
    
    // 等待成交或撤单
    sleep(100 microseconds);
    cancel_stale_orders();
}

我的经验之谈:做市策略的成败,80%取决于你的撤单速度。如果你的撤单延迟超过1毫秒,遇到极端行情时,你就是在给市场送钱。我曾经把撤单逻辑从「遍历订单列表」改成「直接按订单ID撤销」,延迟从800微秒降到了120微秒。

2.2 统计套利:寻找价格回归的机会

统计套利,说白了就是「找亲戚」。两只相关性很高的股票,如果它们的价差突然拉大,那就是机会。

举个例子。我做过一个经典的配对交易:贵州茅台和五粮液。这两只白酒股的历史相关性高达0.92。当它们的价差偏离均值超过2个标准差时,我们就做空强势的那只,做多弱势的那只,等它们回归。

为什么会这样?因为市场情绪有时候会过度反应。比如茅台出了个利好消息,涨了3%,五粮液只涨了1%。但基本面其实没差那么多,价差迟早要回归。

统计套利的关键指标 我的常用阈值 说明
相关性系数 > 0.8 低于这个值,配对就不够稳定
价差标准差倍数 2.0 - 2.5 入场信号,太高了机会少,太低了假信号多
半衰期(Half-life) < 30分钟 超过30分钟,说明回归太慢,不适合高频
最大持仓时间 5分钟 超过5分钟不回归,强制平仓

避坑指南:我曾经犯过一个错误——用日线数据计算相关性,然后用在分钟级交易上。结果呢?日线相关性能到0.9,但分钟级只有0.3。后来我学乖了,所有参数都用相同频率的数据来计算。记住:你的交易频率决定了你的数据频率。

2.3 事件套利:抢在消息前面

事件套利,就是利用市场对突发事件的反应速度差异来赚钱。你想想看,一个重大新闻出来,有的人工交易员要花10秒才能反应过来,但我们的机器只需要10微秒。

我做过最典型的事件套利是「财报套利」。上市公司发布财报后,股价会剧烈波动。我们的策略是:

  1. 提前解析财报文本,提取关键数据(营收、利润、EPS等)
  2. 与市场预期做对比,判断是利好还是利空
  3. 在消息发布的毫秒级时间内,执行交易

这里有个技术难点:你怎么在100毫秒内解析完一份财报?我的做法是:预编译正则表达式,把财报模板化。比如「营业收入为XXX亿元」这种固定句式,直接匹配提取。速度能快到50微秒以内。

事件套利的三种常见类型:

  • 财报套利:利用财报数据与预期的差异
  • 新闻套利:利用突发新闻(如并购、制裁)
  • 宏观数据套利:利用CPI、GDP等数据发布

嗯,这里要提醒一句。事件套利最大的风险是「假消息」。我记得有一次,某财经网站误发了某公司破产的假新闻,我们的策略直接做空了该股票。结果3分钟后辟谣了,股价反弹,我们亏了2%。从那以后,我加了一个「消息源验证」机制:至少两个独立信源确认,才执行交易。

2.4 延迟套利:利用市场结构的不完美

延迟套利,说白了就是「跑得比别人快」。这不是什么高科技,而是利用不同交易所之间的信息传输延迟。

举个例子。某只股票同时在A交易所和B交易所上市。A交易所的行情更新比B交易所快5毫秒。当A交易所的价格发生变化时,B交易所的价格还没变。这时候,我们就可以在B交易所「抢先」交易。

具体怎么做?

// 延迟套利核心逻辑
while (true) {
    // 从A交易所获取最新价格
    price_a = get_last_price(EXCHANGE_A);
    
    // 从B交易所获取当前价格
    price_b = get_last_price(EXCHANGE_B);
    
    // 如果A的价格已经变了,但B还没变
    if (price_a != price_b) {
        // 在B交易所以旧价格成交
        if (price_a > price_b) {
            buy(EXCHANGE_B, price_b);
            // 等B的价格追上后卖出
            wait_for_price_update(EXCHANGE_B, price_a);
            sell(EXCHANGE_B, price_a);
        } else {
            sell(EXCHANGE_B, price_b);
            wait_for_price_update(EXCHANGE_B, price_a);
            buy(EXCHANGE_B, price_a);
        }
    }
}

我的经验之谈:延迟套利的关键不是算法,而是「物理位置」。你的服务器离交易所越近,延迟就越低。我见过有人把服务器直接放在交易所机房里,延迟能控制在10微秒以内。但要注意,这种策略的容量很小,因为套利空间转瞬即逝。

2.5 四种策略的风险对比

最后,我给大家整理一个对比表。这四种策略各有各的脾气,选哪个要看你的硬件条件和风险偏好。

策略类型 核心风险 硬件要求 年化收益预期 适合团队
做市策略 库存风险、被狙击 中(普通服务器即可) 10%-30% 3-5人
统计套利 相关性失效、回归失败 低(数据质量更重要) 15%-40% 2-3人
事件套利 假消息、反应过慢 高(低延迟网络) 20%-60% 4-6人
延迟套利 竞争激烈、容量小 极高(FPGA、托管) 5%-15% 1-2人

我个人建议,刚开始做高频交易的朋友,先从做市策略入手。它最稳定,风险也最可控。等你把做市策略跑顺了,再慢慢尝试统计套利和事件套利。至于延迟套利...嗯,那是「军备竞赛」的领域,没有千万级的硬件投入,建议先别碰。

好了,这四种策略的核心逻辑就讲到这里。下一章,我会详细讲每种策略的风控模型——毕竟,在高频交易里,活得久比赚得快更重要。