第 02 课:金融市场与交易基础

如果你的 Agent 不懂订单簿、滑点和市场冲击,它就只是一个会写作文的机器。


一个昂贵的教训

一位量化新手开发了一个看起来很赚钱的策略:回测年化收益 80%,夏普比率 2.0。他兴奋地开始实盘。

第一周,策略信号说"买入 10,000 股某中小市值股票 XYZ"(日均成交量约 50 万股),他用市价单照做了。回测预期成本是 $250,000($25 × 10,000 股)。

实际成交价?$253,500。

他亏了 $3,500 还没开始赚钱。

发生了什么?

  1. 滑点:他的市价单"吃掉"了订单簿上的多档报价,均价比预期高了 $0.30/股(滑点成本 $3,000)
  2. 手续费:佣金 + SEC 费用 ≈ $50
  3. 市场冲击:他的大单占日均成交量的 2%,引起了其他交易者的注意,价格被进一步抬高(额外成本 ~$450)

三个月后,策略的实盘收益比回测低了 40%。不是策略不好——是他没算对成本。

教训:流动性差的标的 + 大订单 = 滑点放大。这就是为什么专业量化会把订单拆成小单执行。

这一课的目标:让你的 Agent 理解真实市场是如何运作的,避免这种"回测赚钱、实盘亏钱"的惨剧。


2.1 市场类型

不同市场的特点

市场交易时间杠杆做空适合策略
股票A股 9:30-11:30, 13:00-15:00;美股 9:30-16:00 ET融资融券有限受限多因子、事件驱动
期货接近 24 小时高(5-20倍)天然支持CTA、套利
外汇24 小时(周末除外)受监管限制(美国≤50:1,欧盟≤30:1)天然支持趋势跟随、套息
加密货币7×24 小时交易所自定(1-100倍)天然支持高频、跨所套利

注意:外汇杠杆在 2018 年后受到严格监管——美国 NFA 限制为 50:1(主要货币对),欧盟 ESMA 限制为 30:1。离岸经纪商可能提供更高杠杆,但风险和监管保护都不同。

对 Agent 的影响

  • 加密货币 7×24 → Agent 必须全天候运行,需要更强的自动化
  • 期货高杠杆 → Risk Agent 的止损逻辑必须更严格
  • A股 T+1(普通股票当日买入次日才能卖,部分 ETF 除外)→ Execution Agent 需要考虑隔夜风险

一级市场 vs 二级市场

一级市场二级市场
定义公司首次发行证券(IPO、增发)投资者之间买卖已发行证券
参与者机构为主、散户打新所有投资者
量化机会打新策略、定增套利绝大多数量化策略

本课程聚焦二级市场——这是量化交易的主战场。

交易所与撮合机制

不管是美股、A股还是加密货币,交易最终都汇聚到撮合引擎 (Matching Engine)

交易所不是你的对手盘,它只是"媒婆",通过规则撮合买卖双方:

撮合规则(大多数交易所):
1. 价格优先:出价高的买单优先成交
2. 时间优先:同价格下,先到的订单优先成交

多智能体视角

  • Execution Agent:必须熟悉撮合逻辑,决定用市价单还是限价单
  • Research Agent:通过成交数据识别大资金流向

2.2 交易的基本单位

标的 (Asset)

标的是你交易的对象。不同标的有不同的代码规范:

市场标的示例代码格式
A股贵州茅台600519.SH
美股AppleAAPL
加密货币比特币BTC/USDT
期货沪深300股指期货IF2401

时间尺度:Tick → K线

量化系统处理数据时,有不同的颗粒度:

Tick 数据(最细)
     聚合
分钟 K 线(1min, 5min, 15min)
     聚合
日线 / 周线 / 月线(最粗)

Tick 数据:每一笔成交、每一档报价的变化。高频策略必需,存储成本高。

OHLCV (K线):将 Tick 聚合后的标准格式:

  • Open (开盘价)
  • High (最高价)
  • Low (最低价)
  • Close (收盘价)
  • Volume (成交量)

订单簿 (Order Book)

订单簿显示市场"深度"——在不同价格上有多少人在排队:

订单簿结构

Spread (买卖价差) = Best Ask - Best Bid = $185.01 - $184.99 = $0.02

  • 价差越小 → 流动性越好 → 交易成本越低
  • 价差越大 → 流动性越差 → 滑点风险越高

2.3 交易成本的真实影响

回测年化 50%,实盘亏钱?交易成本是罪魁祸首。

滑点 (Slippage)

回测假设你能以最优价买入,但实盘时:

你要买 1000  AAPL,订单簿如下:
  $185.01 - 200    你先吃掉这 200 
  $185.05 - 500    再吃掉这 500 
  $185.10 - 300    最后吃掉这 300 

实际均价 = (185.01×200 + 185.05×500 + 185.10×300) / 1000 = $185.057
预期价格 = $185.01
滑点 = $0.047 /  = 总计 $47

手续费:累积效应

看似微小的手续费,高频交易会被放大:

# 假设每笔交易手续费 0.1%,本金 $100,000
fee_rate = 0.001
principal = 100_000
trade_size = 10_000  # 每笔交易 $10,000(本金的 10%
trades_per_day = 50  # 每天 50 笔交易
trading_days = 250

# 年化手续费成本(相对本金)
daily_fee = fee_rate * trade_size * trades_per_day  # 每天手续费
annual_fee = daily_fee * trading_days  # 年化总手续费
annual_fee_rate = annual_fee / principal
print(f"年化手续费成本: {annual_fee_rate:.1%}")  # 输出: 125.0%

年化 125% 的手续费成本——这意味着你的策略年化收益必须超过 125% 才能盈利!这就是为什么高频策略对手续费极其敏感。

关键洞察:0.1% 的手续费看似微小,但 50 笔/天 × 250 天 = 12,500 笔交易,累积效应惊人。

市场冲击 (Market Impact)

你的大单本身会改变市场。平方根定律估算:

市场冲击  Y × σ × (Q/V)

Y = 常数(通常 0.5-1.0)
σ = 日波动率
Q = 你的下单量
V = 日均成交量
def estimate_market_impact(order_size, daily_volume, daily_volatility, Y=0.5):
    """估算市场冲击成本"""
    participation = order_size / daily_volume
    impact = Y * daily_volatility * (participation ** 0.5)
    return impact

# 示例:买入占日均成交量 1% 的订单
impact = estimate_market_impact(
    order_size=1_000_000,
    daily_volume=100_000_000,
    daily_volatility=0.02
)
print(f"预估市场冲击: {impact:.2%}")  # 输出: 0.10%

成本汇总

成本类型典型范围谁最受影响
滑点0.01% - 0.5%大单、低流动性标的
手续费0.01% - 0.1% / 笔高频策略
市场冲击0.05% - 1%+大资金、小市值标的

多智能体视角:Execution Agent 的核心职责就是最小化这三项成本。

📝 纸上练习:你的策略真的赚钱吗?

场景:你开发了一个美股日内策略,回测参数如下:

参数数值
策略本金$100,000
回测年化收益35%
平均每日交易次数20 次(买入+卖出各算一次)
平均每笔交易金额$50,000(本金的 50%)
券商佣金$0 (免佣券商,但有 PFOF)
SEC 费用0.00278% (卖出时,2024 年费率)
平均滑点0.03%
交易天数252 天/年

提示:注意单笔交易额 $50,000 占本金 $100,000 的 50%——这意味着策略使用了相当大的仓位。

问题:考虑交易成本后,实盘年化收益会是多少?


逐步计算

Step 1: 计算单笔交易成本

单笔滑点成本 = $50,000 × 0.03% = $____
单笔 SEC 费用 = $50,000 × 0.00278% = $____(仅卖出)

Step 2: 计算日均成本

日均滑点 = $____ × 20  = $____
日均 SEC = $____ × 10 次(卖出) = $____
日均总成本 = $____

Step 3: 计算年化成本

年化成本 = $____ × 252  = $____
交易总额 = $50,000 × 20 × 252 = $252,000,000
年化成本率 = $____ / $252,000,000 = ____%

Step 4: 计算实盘收益

实盘年化收益 = 35% - ____% = ____%

答案(先自己算,再对照):

点击展开答案

关键概念澄清

  • 本金:你投入的资金,如 $100,000
  • 单笔交易额:每次买卖的金额,如 $50,000
  • 总交易额:单笔 × 交易次数 × 天数(含杠杆和换手影响)
  • 换手率:总交易额 ÷ 本金,表示资金周转次数

计算过程

  • 单笔滑点 = $50,000 × 0.03% = $15
  • 单笔 SEC = $50,000 × 0.00278% = $1.39
  • 日均滑点 = $15 × 20 = $300
  • 日均 SEC = $1.39 × 10 = $13.9
  • 日均总成本 = $313.9
  • 年化总成本 = $313.9 × 252 = $79,103

成本率的两种计算(容易混淆!):

计算方式公式结果含义
相对总交易额$79,103 ÷ $252,000,0000.031%每笔交易的成本占比
相对本金$79,103 ÷ $100,00079.1%成本侵蚀了多少本金

其中:年化总交易额 = $50,000 × 20次 × 252天 = $252,000,000(换手率 = 2520 倍!)

最终答案

  • 如果策略本金是 $100,000:
  • 年化成本 相对本金 = $79,103 / $100,000 = 79.1%
  • 实盘年化收益 = 35% - 79.1% = -44.1%

结论:这个策略实盘会大亏! 回测时忽略的 0.03% 滑点(相对交易额很小),在高换手率下累积成 79%(相对本金)的致命伤。

反思问题

  1. 如果滑点降到 0.01%,策略还能盈利吗?
  2. 如果交易频率降到每天 5 次,情况会怎样?
  3. 这对你设计策略有什么启示?

2.4 策略生命周期

一个完整的交易从产生到结束,在多智能体系统中的流转:

策略生命周期

具体流程

  1. 信号生成 (Signal Agent)

    • "AAPL 的 MACD 出现底背离,建议做多"
  2. 风控审核 (Risk Agent)

    • "当前总仓位 60%,单笔最大 10%,这笔只能下 10%"
    • 可能拒绝、缩小仓位、或通过
  3. 下单执行 (Execution Agent)

    • "订单太大,拆成 10 个小单,每 30 秒发一个,用 TWAP 算法"
  4. 成交监控 (Monitor Agent)

    • "第 5 个小单滑点超过阈值,暂停后续执行"
    • 实时反馈执行质量
  5. 持仓管理与平仓 (Position Agent)

    • "持仓盈利 5%,触发移动止盈"
    • "持仓亏损 2%,触发止损平仓"
    • 闭环完成

每个环节都可以是独立的专家 Agent,这就是多智能体架构的优势:专业分工、责任清晰、便于调试。


本课交付物

完成本课后,你将获得:

  1. 对市场结构的理解 - 知道不同市场(股票/期货/加密)的特点和限制
  2. 交易成本意识 - 能估算滑点、手续费、市场冲击对策略的影响
  3. 策略生命周期视角 - 理解从信号到平仓的完整闭环

✅ 验收标准

用以下检查点确认你真正理解了本课内容:

检查项验收标准自测方法
成本计算能独立完成纸上练习,误差 < 10%重新计算一遍,不看答案
订单簿理解能解释为什么大单会产生滑点画出订单簿,模拟 1000 股市价单的执行
市场差异能说出 A股 vs 美股 vs 加密 的 3 个关键差异不看笔记,口述对比
生命周期能画出策略从信号到平仓的流程图白纸画图,标注每个 Agent 的职责

如果你能做到

  • ✅ 纸上计算准确 → 你具备了成本意识
  • ✅ 画出订单簿执行过程 → 你理解了市场微观结构
  • ✅ 画出完整生命周期 → 你具备了系统思维

如果你做不到

  • ❌ 重新阅读相关章节
  • ❌ 用具体数字(如 AAPL $185)重新走一遍例子
  • ❌ 在延伸阅读中找到更详细的解释

本课要点回顾

  • 理解不同市场(股票/期货/外汇/加密)的特点和对策略的影响
  • 掌握 OHLCV 和订单簿的基础结构
  • 认识交易成本三大杀手:滑点、手续费、市场冲击
  • 理解策略生命周期的完整闭环:信号 → 风控 → 执行 → 监控 → 平仓

延伸阅读

  • 背景知识:交易所与订单簿机制 - 深入理解 L1/L2/L3 数据的区别
  • 背景知识:高频市场微结构 - 如果你想和 HFT 竞争,必读
  • 背景知识:加密货币交易特点 - 7×24 市场的独特挑战

下一课预告

第 03 课:数学与统计基础

市场在动,但怎么量化这些变动?为什么我们用"收益率"而不是"价格"?什么是"厚尾分布",为什么正态分布假设会让你爆仓?下一课揭晓。

Cite this chapter
Zhang, Wayland (2026). 第02课:金融市场与交易基础. In AI Quantitative Trading: From Zero to One. https://waylandz.com/quant-book/第02课:金融市场与交易基础
@incollection{zhang2026quant_第02课:金融市场与交易基础,
  author = {Zhang, Wayland},
  title = {第02课:金融市场与交易基础},
  booktitle = {AI Quantitative Trading: From Zero to One},
  year = {2026},
  url = {https://waylandz.com/quant-book/第02课:金融市场与交易基础}
}