💱 外汇交易

📖 业务知识

外汇交易类型

外汇交易(Foreign Exchange, FX)是指不同货币之间的兑换和交易,是全球最大的金融市场,日均交易量超过7.5万亿美元。银行外汇业务主要包括以下类型:

交易类型交割时间主要用途定价机制
即期外汇(Spot)T+2(两个工作日)进出口贸易结算、即时换汇需求即期汇率,实时市场报价
远期外汇(Forward)未来约定日期(如1M/3M/6M/1Y)锁定汇率、对冲汇率风险即期汇率为基础 + 掉期点(由利率平价推导)
外汇掉期(Swap)近端+远端两笔方向相反的交易调节币种头寸、短期融资、规避汇率风险近端即期汇率 + 远端远期汇率
外汇期权(Option)欧式(到期日行权)或美式(任意日行权)汇率风险管理(买方有权利无义务)、投机交易期权费 + 执行汇率
💡 掉期点(Swap Points) 远期汇率 = 即期汇率 + 掉期点。掉期点由两种货币的利率差决定:若报价货币利率高于基准货币利率,掉期点为负(远期贴水);反之为正(远期升水)。远期升贴水的计算公式:掉期点 = 即期汇率 × (报价货币利率 - 基准货币利率) × 天数 / 360

汇率体系

银行汇率体系是外汇交易的核心定价基础,主要包括以下关键概念:

汇率术语英文定义银行视角
买入价Bid Rate银行买入外汇的价格银行支付人民币换取客户外汇
卖出价Offer/Ask Rate银行卖出外汇的价格客户支付人民币换取银行外汇
中间价Mid Rate买入价与卖出价的算术平均值(买入价 + 卖出价) / 2,参考基准
结汇Settlement of FX客户将外汇卖给银行,换为人民币银行用买入价从客户购汇
售汇Sale of FX客户从银行购买外汇,支付人民币银行用卖出价向客户售汇

汇率标价方法:

  • 直接标价法(Direct Quotation):以本币表示单位外币,如 USD/CNY = 7.25(中国采用),即1美元 = 7.25人民币
  • 间接标价法(Indirect Quotation):以外币表示单位本币,如 GBP/USD = 1.28,即1英镑 = 1.28美元
  • 点差(Spread):卖出价与买入价之差,即银行的交易利润,如 USD/CNY Bid 7.2400 / Ask 7.2600,点差为 200 点(pips)
💡 交叉汇率(Cross Rate)计算 当两种货币之间没有直接报价时,通过各自对美元的汇率套算。例如,已知 USD/JPY = 150 和 USD/CHF = 0.90,则 CHF/JPY = 150 ÷ 0.90 = 166.67。测试需覆盖:直接交叉汇率、间接交叉汇率、以及多个中间货币的链式套算场景。

结售汇业务

结售汇是银行最基本的外汇业务,受国家外汇管理局(SAFE)严格监管。根据银行外汇业务性质,分为经常项目和资本项目:

  • 经常项目结售汇(贸易/非贸易):货物贸易、服务贸易、收益和经常转移项下的结汇/购汇。货物贸易需匹配海关进出口数据(货物贸易外汇监测系统),个人结汇/购汇有年度5万美元等值额度限制
  • 资本项目结售汇:外商直接投资(FDI)、对外直接投资(ODI)、外债、跨境融资、证券投资(QFII/RQFII/沪港通)等,需提供外汇局核准件或登记凭证

业务基本流程:

  1. 客户提交结汇/售汇申请,填写《涉外收入申报单》或《境外汇款申请书》
  2. 银行审核交易背景真实性(合同、发票、报关单、资本项目核准件等)
  3. 系统查询客户结售汇额度(个人年度额度、企业外汇账户余额)
  4. 执行汇率报价(实时牌价或优惠汇率),客户确认后成交
  5. 生成结售汇水单/交易确认书,完成人民币/外币资金交割
  6. 向外汇局报送结售汇统计数据(BOP国际收支申报)

外汇监管要求

中国外汇管理遵循"经常项目可兑换、资本项目逐步开放"的原则,主要监管法规和系统包括:

  • 《外汇管理条例》:国务院行政法规,明确外汇管理基本框架,规定经常项目外汇收支应具有真实合法基础,资本项目外汇管理依法实施
  • 个人外汇管理办法:个人年度结汇和购汇便利化额度分别为等值5万美元,超额度需提供真实性证明材料
  • 货物贸易外汇管理:企业货物贸易外汇收支需与海关进出口数据匹配,实行总量核查和分类管理(A/B/C类企业)
  • 跨境人民币结算:允许以人民币进行跨境贸易和投资结算,不纳入外汇额度管理,但需通过RCPMIS系统报送
  • 国际收支统计申报(BOP):所有跨境资金流动均需通过银行向外汇局进行国际收支申报,包括基础信息和申报信息两部分

🧪 功能测试要点

1. 汇率计算准确性

测试场景验证点预期结果
基础购汇计算客户用人民币购汇10000美元,卖出价7.2500应付人民币 = 10000 × 7.2500 = 72500.00
基础结汇计算客户将10000美元结汇为人民币,买入价7.2400应收人民币 = 10000 × 7.2400 = 72400.00
小额币种精度日元JPY/CNY购汇50000日元,卖出价0.048000应付人民币 = 50000 × 0.048000 = 2400.00(日元精度通常保留2位)
交叉汇率计算EUR→CNY无直接牌价,需通过EUR/USD和USD/CNY套算EUR/CNY = EUR/USD × USD/CNY,验证套算精度(保留4-6位小数)
掉期点计算USD/CNY即期7.2500,美元利率5.5%,人民币利率1.5%,1个月(30天)掉期点 = 7.2500 × (1.5%-5.5%) × 30/360 = -0.0242;远期汇率 = 7.2258
汇率精度截断计算结果超出币种标准精度(如USD/CNY为4位小数)按币种标准精度四舍五入/截断,验证舍入方向一致性
优惠汇率计算对VIP客户在基准卖出价基础上优惠50个基点(BP)实际成交价 = 卖出价 - 0.0050,验证大额/贵宾优惠分层逻辑

2. 结汇/售汇流程

测试场景验证点预期结果
个人额度内结汇个人当年度累计结汇3万美元,在5万美元额度内正常结汇,不要求额外证明材料,系统自动扣减年度额度
个人超额度结汇个人当年度已结汇4.5万美元,再结汇1万美元(累计5.5万)仅允许结汇0.5万美元,超出部分拒绝或要求提供真实性证明
企业货物贸易企业凭进口合同和报关单申请购汇审核报关单与合同一致性,系统自动匹配海关数据后允许购汇
资本项目购汇FDI项下资本金结汇,企业提供外汇局业务登记凭证审核登记凭证有效性,在登记金额范围内允许结汇
反洗钱筛查大额购汇交易(≥等值1万美元)触发反洗钱筛查系统自动进行制裁名单匹配、可疑交易规则评估,高风险交易转人工审核
交易撤销/冲正外汇交易成交后因汇率异常或操作错误申请撤销在未清算前可发起冲正,生成反向交易冲销,需双人复核授权
⚠️ 汇率波动场景 测试需覆盖:客户发起交易时的报价汇率与实际成交时的汇率不一致(汇率波动≥50bps)。系统是否允许"锁价"功能?锁价有效期多长(通常10-30秒)?超时后系统是否重新报价?这些"滑点"场景是外汇交易测试的关键风险点。

3. 额度控制

测试场景验证点预期结果
个人年度额度查询查询个人当年度结汇/购汇已用额度与剩余额度精确显示已用金额、剩余金额、额度重置日期(次年1月1日)
跨年额度重置年末12月31日 23:59与次年1月1日 00:00的额度切换额度正确重置,12月31日交易归入当年,1月1日归入新年
多渠道额度共享同一客户在柜面、网银、手机银行同时操作购汇额度实时共享扣减,防止多渠道并发突破5万美元额度限制
企业外汇账户企业经常项目外汇账户余额控制(目前无强制限额)验证账户余额实时更新、透支控制、冻结/解冻逻辑
B类企业额度外汇局分类为B类的企业,超过可收付汇额度系统拦截交易,提示"超外汇局额度,请联系外汇局调整"

4. 跨境申报

测试场景验证点预期结果
国际收支申报跨境汇款金额超过申报起点(目前暂免个人5000美元以下)系统生成BOP申报单,申报交易编码、国别、币种、金额
大额交易报告单笔或当日累计等值人民币5万元以上的跨境交易系统自动生成大额交易报告,按规定时间报送反洗钱监测中心
可疑交易报告交易特征匹配可疑模型(如分拆购汇、频繁跨境小额汇款)标记可疑交易,生成可疑交易报告,触发人工复核和报告流程
贸易信贷报告企业进出口贸易中存在预收/预付/延收/延付(≥90天)系统提示企业需在30天内通过货物贸易监测系统报告贸易信贷

⚡ 性能测试要点

汇率牌价更新

⏱️ 牌价更新SLA 银行间外汇市场(CFETS)每个交易日提供多轮牌价更新。系统需在牌价源更新后 ≤ 1秒内同步至所有业务渠道(柜面、网银、手机银行、ATM)。牌价延迟超过5秒将产生客户套利窗口,属于重大生产风险。
  • 多数据源汇聚:系统可能接收多个牌价源(路透、彭博、CFETS、总行报价),需验证多源数据的一致性、优先级和切换策略
  • 渠道同步延迟:从总行牌价中心向各分行、各渠道分发时的延迟分布(P50/P95/P99),验证消息中间件的吞吐量和可靠性
  • 牌价缓存策略:在高频查询场景下(如手机银行页面刷新),牌价缓存的命中率和过期策略,避免过期牌价被用于报价
  • 极端波动压力:模拟汇率剧烈波动场景(如非农数据发布、央行干预),牌价每秒变化100+点,验证系统在剧烈波动下的稳定性和报价准确性

实时交易并发

  • 峰值TPS模拟:模拟交易高峰时段(如开盘/收盘、重大经济数据发布),目标支持500+ TPS外汇实时交易并发,P99延迟≤500ms
  • 报价引擎性能:高并发下报价引擎的吞吐量,单次报价计算耗时(含优惠规则、交叉汇率套算)≤ 5ms
  • 撮合引擎测试:对支持外汇做市商业务的系统,验证中央限价订单簿(CLOB)的撮合性能,订单匹配延迟≤1ms
  • 数据库压力测试:大量并发的额度扣减、交易记账、头寸更新操作,验证数据库行级锁、死锁检测和连接池管理
  • 长稳测试:24小时持续压测,验证内存泄漏、GC(垃圾回收)停顿、连接池泄漏等长期稳定性问题

其他性能场景

  • 结售汇报送批处理:日终向外汇局批量报送结售汇统计数据,验证10万+笔交易明细的生成、加密、传输效率(目标≤10分钟)
  • 头寸计算:实时计算各币种外汇头寸(多头/空头)和风险敞口,验证高频交易场景下头寸计算的实时性和准确性
  • 反洗钱实时筛查:每笔外汇交易触发反洗钱规则引擎(数十条规则),验证规则引擎在高并发下的决策延迟(目标≤50ms)
  • 灾备切换:主中心故障时,系统切换至灾备中心,验证切换后牌价同步恢复时间(RTO≤5分钟)和交易数据零丢失(RPO=0)

📋 外汇交易测试检查清单

测试类别检查项优先级
汇率计算基础购汇/结汇、小额币种精度、交叉汇率、掉期点、汇率截断、优惠汇率P0
结售汇流程个人额度内/超额、企业货物贸易/资本项目、反洗钱、交易冲正P0
额度控制年度额度、跨年重置、多渠道共享、企业账户余额、B类企业限额P0
跨境申报BOP申报、大额交易报告、可疑交易报告、贸易信贷报告P1
牌价性能多数据源同步、渠道分发延迟、缓存策略、极端波动稳定性P0
并发性能500+ TPS实时交易、报价引擎≤5ms、批处理≤10分钟、反洗钱≤50msP1