外汇市场基础:主要货币对与报价机制、影响汇率的核心宏观因素、数据频率与时间周期选择
各位同学,欢迎来到第二章。
做量化交易,尤其是外汇预测,最怕什么?
怕你连市场怎么报价的都没搞明白,就开始跑模型。我见过太多人,上来就扔一堆数据进LSTM,结果连点差和隔夜利息都没搞清楚,最后亏得莫名其妙。
这一章,咱们把地基打牢。说白了,就是搞懂三件事:谁在交易、怎么报价、什么在驱动价格。
2.1 主要货币对与报价机制
外汇市场不像股票,没有中央交易所。它是一个场外市场,全球的银行、对冲基金、零售交易商都在互相报价。
2.1.1 货币对分类
我个人习惯把货币对分成三大类,这样看盘面思路更清晰:
- 主要货币对:EUR/USD, USD/JPY, GBP/USD, USD/CHF, AUD/USD, USD/CAD。这些流动性最好,点差最低。我刚开始做交易时,基本只碰EUR/USD,因为它的数据最干净,模型不容易过拟合。
- 交叉盘:EUR/GBP, EUR/JPY, GBP/JPY 等。不涉及美元,但波动往往更大。记得有一次我跑GBP/JPY的模型,回测曲线漂亮得不行,实盘一跑直接崩了——流动性陷阱。
- 新兴市场货币对:USD/TRY, USD/ZAR, USD/MXN 等。这些波动大,但数据噪音也大,而且经常有央行干预。嗯,这里要注意,做量化模型时,新兴市场货币的跳空缺口非常频繁,处理不好会严重干扰你的策略。
2.1.2 报价机制:你看到的不是真实价格
很多新手以为屏幕上跳动的价格就是成交价。其实不是。
外汇报价通常是五档报价,但零售交易商一般只给你看Bid和Ask:
- Bid(买价):你做空(卖出)的价格。
- Ask(卖价):你做多(买入)的价格。
- 点差(Spread):Ask - Bid。这就是你的交易成本。
核心概念: 点差不是固定的。重大数据公布时(比如非农),点差可以瞬间扩大10倍。我曾经在美联储利率决议前5秒挂单,结果点差从0.8个点直接跳到8个点,直接把我止损打掉了。所以,做高频策略时,一定要把点差波动纳入你的成本模型。
举个例子,EUR/USD报价 1.1050 / 1.1052:
- 你想买入,成交价是1.1052
- 你想卖出,成交价是1.1050
- 点差 = 1.1052 - 1.1050 = 0.0002 = 2个点
你想想看,如果你的策略平均盈利只有5个点,光点差就吃掉2个点,那你还剩多少?
2.1.3 报价精度与Pip
外汇市场的最小价格变动单位叫Pip。大部分货币对是小数点后4位(比如EUR/USD),日元系是小数点后2位(USD/JPY)。
但现在很多平台提供小数点后5位的报价,也就是0.1个Pip。这主要是为了给高频交易和算法交易更精细的入场点。
我的建议: 做基本面驱动的中长线模型,用4位报价就够了。做日内或高频,必须用5位报价,否则你的滑点模型会失真。
2.2 影响汇率的核心宏观因素
汇率是什么?说白了,就是两种货币的相对价格。那什么决定这个相对价格?
我把它归纳为四个核心维度,这也是我搭建基本面因子库时的框架:
2.2.1 利率与货币政策
这是最直接的驱动力。利差越大,资金越倾向于流向高息货币。
- 央行利率决议:美联储、欧央行、日央行等。每次决议前后,市场波动都会剧烈放大。
- 市场预期:实际利率变动不重要,预期差才重要。我记得2023年有一次,美联储加息25个基点,但市场预期是50个基点,结果美元反而暴跌。这就是典型的「买预期,卖事实」。
2.2.2 经济数据
数据是基本面模型的「燃料」。我常用的核心数据包括:
| 数据类别 | 具体指标 | 影响逻辑 |
|---|---|---|
| GDP | 季度GDP、年化GDP | 经济增长强 → 货币升值 |
| 就业 | 非农就业、失业率、初请失业金 | 就业好 → 消费强 → 通胀压力 → 加息预期 |
| 通胀 | CPI、PCE、PPI | 通胀高 → 央行收紧 → 货币走强 |
| 贸易 | 贸易帐、经常帐 | 顺差大 → 货币需求大 → 升值 |
避坑指南: 我曾经犯过一个错误——把所有数据都等权重地扔进模型。结果发现,非农数据的影响力是其他数据的3倍以上。后来我改用事件驱动加权,才把预测精度提上来。记住,不是所有数据都同等重要。
2.2.3 地缘政治与风险情绪
这个很难量化,但影响巨大。比如俄乌冲突爆发时,USD/RUB一天波动超过30%。
我一般用VIX指数和黄金价格作为风险情绪的代理变量。当VIX飙升时,资金会涌向美元、日元等避险货币。
2.2.4 央行干预与口头干预
日本央行经常干这种事。2022年,USD/JPY跌到150附近时,日本央行直接下场买入日元,一天内拉升了5%。
这种事件在历史数据里是异常值,但你不能直接删掉。我的做法是:单独建一个「干预事件」的哑变量特征,让模型自己去学习。
2.3 数据频率与时间周期选择
这个问题,我几乎每次跟同行交流都会被问到:「到底用日线还是小时线?」
我的回答是:取决于你的预测目标。
2.3.1 数据频率分类
- 高频数据(Tick / 1分钟):适合做市商、高频套利。但噪音极大,而且数据存储量巨大。我个人不建议初学者碰这个。
- 日内数据(5分钟 - 4小时):适合日内交易策略。但要注意,很多基本面数据(比如GDP)是季度发布的,跟日内数据频率不匹配。你需要做数据降频或插值。
- 日线数据:我最推荐的起点。日线数据噪音相对小,而且大部分宏观数据都可以对齐到日频。我自己的第一个盈利模型就是用日线数据做的。
- 周线/月线:适合长线趋势跟踪。但样本量太少,做机器学习容易过拟合。
2.3.2 时间周期选择的核心原则
说白了,就一句话:你的预测周期,决定了你的数据频率。
举个例子:
- 你想预测未来1小时的EUR/USD走势 → 用5分钟或15分钟数据
- 你想预测未来1周的走势 → 用日线数据
- 你想预测未来1个月的走势 → 用周线数据,同时关注央行利率决议
我的经验: 做基本面模型,我一般用日线数据作为主力。原因很简单:大部分宏观数据(非农、CPI、GDP)都是按日或按月发布的,日线数据能跟这些事件完美对齐。如果用小时线,你反而要处理很多「数据真空期」——比如非农数据公布后,市场可能在几分钟内就消化完,剩下的23小时50分钟都是噪音。
2.3.3 数据对齐的坑
这是新手最容易忽略的。不同数据源的发布时间不一样:
- 美国非农数据:每月第一个周五,北京时间20:30(夏令时)
- 欧央行利率决议:每六周一次,北京时间19:45
- 日本GDP:每季度发布,时间不固定
如果你直接把所有数据按「日期」对齐,那就会出问题。比如非农数据是20:30发布的,但你的日线数据是纽约时间17:00收盘的。那这个数据到底算当天的还是第二天的?
我自己的做法是:把数据发布时间戳精确到分钟,然后根据你的模型预测窗口,决定是「前向填充」还是「后向填充」。这个细节,决定了你的模型是「预测未来」还是「解释过去」。
2.4 本章知识体系总览
下面这张图,是我自己整理的外汇基本面预测的知识框架。你可以把它当作本章的「思维导图」:
这张图把本章的核心逻辑串起来了。你想想看,从市场基础到宏观因素,再到数据频率,其实是一条线:先搞懂市场怎么运作,再找到驱动因素,最后用合适的数据去建模。
一个小建议: 刚开始做模型时,别贪多。先选一个货币对(比如EUR/USD),用日线数据,只加3-5个核心宏观因子(利率差、非农、CPI)。跑通了,再慢慢加复杂的东西。我第一个盈利模型就是这么来的。
好了,这一章就到这里。下一章我们会开始动手——用Python获取真实的外汇数据,并做初步的清洗和可视化。到时候,我会把我踩过的坑一个一个讲给你听。