29、监管与合规:Reg NMS、MiFID II、最佳执行、记录保存、合规检查

做量化交易,技术再牛,也得先过合规这道坎。

我见过不少团队,策略回测曲线漂亮得不行,一上实盘就被监管盯上。说白了,不懂规则,赚了钱也可能吐回去。

这一章,咱们聊聊几个绕不开的监管框架。Reg NMS、MiFID II、最佳执行、记录保存、合规检查。嗯,都是硬骨头,但必须啃下来。

Reg NMS:美国市场的“交通规则”

Reg NMS,全称是Regulation National Market System。2005年由SEC推出,目的是让美国股市更公平、更透明。

我个人习惯把它理解为“订单路由的交通规则”。它规定了券商必须把订单发到报价最好的交易所。

核心条款:

  • 订单保护规则(Order Protection Rule):禁止“交易穿透”。比如A交易所报价10.00,B交易所报价10.01,你不能在B交易所成交,除非A的报价被撤销。
  • 接入规则(Access Rule):要求交易所提供公平、非歧视的接入服务。
  • 市场数据规则(Market Data Rule):规定行情数据的分发和收费方式。

我在项目中遇到过一个问题:策略在多个交易所同时挂单,结果因为Reg NMS的订单保护规则,部分订单被自动路由到其他交易所,导致成交延迟。嗯,这里要注意,你的路由逻辑必须兼容Reg NMS。

MiFID II:欧洲的“金融宪法”

MiFID II,2018年生效,比Reg NMS更复杂。它覆盖了股票、债券、衍生品等多个资产类别。

说白了,MiFID II的核心目标就两个:增加透明度,保护投资者。

关键要求 具体内容
交易报告 所有交易必须在规定时间内向监管机构报告
最佳执行 券商必须采取“足够措施”为客户获得最佳结果
算法交易 算法必须经过测试、有熔断机制、有记录保存
市场结构 限制暗池交易量,鼓励公开市场

你想想看,如果你的算法在欧洲市场跑,没有做MiFID II合规检查,后果可能很严重。我曾经帮一个客户整改过一套高频交易系统,光是算法测试文档就补了200多页。

最佳执行:不只是“最优价格”

很多人以为最佳执行就是拿到最好的价格。其实没那么简单。

MiFID II对最佳执行的定义是:券商必须考虑价格、成本、速度、执行概率、结算效率等多个因素。

我的建议:

别只盯着价格。有时候,稍微贵一点的价格,但成交更快、滑点更小,反而是更好的执行。我在做美股交易时,就遇到过因为追求1分钱差价,结果订单被延迟,最终成交价反而更差的情况。

实现最佳执行,通常需要做两件事:

  1. 事前分析:根据历史数据,评估不同交易场所的执行质量。
  2. 事后检查:定期对比实际执行结果与市场基准,看有没有偏差。

记录保存:你的“护身符”

监管机构查你的时候,拿什么证明你合规?记录。

Reg NMS和MiFID II都要求保存交易记录、订单记录、算法日志、通信记录等。保存期限通常是5到7年。

避坑指南:

我曾经见过一家公司,因为记录保存不完整,被罚了上百万美元。他们以为只保存成交记录就够了,结果监管要求提供订单修改记录、撤销记录、甚至算法决策日志。嗯,这些他们都没存。

记录保存的要点:

  • 完整性:从订单生成到最终成交,每个环节都要记录。
  • 不可篡改:使用WORM(一次写入,多次读取)存储技术。
  • 可检索:监管要求你能在合理时间内提供特定记录。

合规检查:自动化是王道

人工检查?太慢了,而且容易出错。

我个人习惯把合规检查做成自动化流程。每天收盘后,系统自动跑一遍检查脚本,生成合规报告。

# 一个简单的合规检查示例
def check_best_execution(trades, benchmark):
    """
    检查每笔交易是否达到最佳执行标准
    trades: 交易记录列表
    benchmark: 基准价格(如VWAP)
    """
    violations = []
    for trade in trades:
        # 计算执行价格与基准的偏差
        deviation = (trade['price'] - benchmark[trade['symbol']]) / benchmark[trade['symbol']]
        if deviation > 0.01:  # 偏差超过1%
            violations.append(trade)
    return violations

# 使用示例
trades = [
    {'symbol': 'AAPL', 'price': 150.50, 'volume': 100},
    {'symbol': 'GOOGL', 'price': 2800.00, 'volume': 50}
]
benchmark = {'AAPL': 149.00, 'GOOGL': 2795.00}
result = check_best_execution(trades, benchmark)
print(f"发现 {len(result)} 笔违规交易")

这个例子很简单,但核心思想是一样的:把合规规则写成代码,让机器帮你检查。

知识体系总览

下面这张图,把本章的核心逻辑串起来了。你可以看到,Reg NMS和MiFID II是两大监管支柱,它们共同定义了最佳执行、记录保存和合规检查的要求。

监管与合规知识体系 Reg NMS(美国) MiFID II(欧洲) 核心合规要求 最佳执行 价格、速度、成本 记录保存 完整、不可篡改 合规检查 自动化、定期 目标:公平、透明、保护投资者

这张图你看懂了吗?Reg NMS和MiFID II虽然地域不同,但最终都指向同一个目标:让市场更公平、更透明。

一个小建议:

如果你同时做美股和欧股,建议把两套规则都做成检查模块。我自己的系统里,就有一个“监管适配器”,根据交易市场自动切换合规规则。省心不少。

好了,这一章的内容就到这里。合规不是束缚,而是保护。保护你的策略,保护你的资金,也保护整个市场的健康。

交易系统化学习资料 微信Strategy888888