外汇:转换和汇率风险
1)为什么要在iGaming中管理FX
准确的P&L报告:FX收益/亏损的发生地(存款,结算,PSP设置,准备金)。
公平的ND/GRR/NGR:单一报告货币,没有"追溯重新评估"。
流动性和现金浮动:以A货币计费,以B为支付-需要预测和对冲。
合规/税收:课程的透明来源和跟踪审核。
2) FX诞生的关键点
1.游戏钱包vs存款货币:以钱包/报告货币正常化。
2.PSP的捕获/设置:记录了ND的"历史"课程。
3.基金(银行贷记):可能有不同的汇率/货币和次要外汇效应。
4.Withdrawals:向玩家付款时的转换。
5.滚动储备金和罚款计划:注销/发行可以是不同的货币。
6.加密:在settle/funding时按VWAP/中位数得分。
3)课程来源和正常化规则
FX来源:优先参考提供商(例如CME/Refinitiv/ECB),备份-银行/PSP。
Quote policy: `mid`, `bid/ask` или `mid ± spread_bps`.Mid+显式"spread_bps"更常用于核算。
Timestamp:认可事件发生时的课程(ND通常为"settled_at";可选地"funded_at"用于银行会计)。
不恢复:改变课程时不会高估过去的ND;reval是作为未实现的FX单独完成的。
精确度:在FX课程中存储8-10个符号,在小单位(integers)+尺度中存储现金金额。
4)公式和示例
4.1.基本转换
令'cy_orig'中的'amount_original',报告货币'ccy_rep',汇率'fx (ccy_orig→ccy_rep)':
amount_reporting = round(amount_original fx, scale_ccy_rep)
4.2.交叉汇率(通过锚定货币,例如EUR)
fx(GBP→UAH) = fx(GBP→EUR) fx(EUR→UAH)
重要的是要将课程路线(triangulation)存储在"meta"中以进行审核。
4.3.PSP利差和佣金分离
如果PSP自己转换:
fx_effective = settlement_amount_in_rep / original_amount spread_bps = (fx_effective / fx_reference - 1) 10_000 fee_fx = settlement_fee_in_rep (если отдельно)
存储有效的FX和参考FX以测量PSP的影响幅度。
4.4.示例(双转换链)
玩家存入100 GBP。Reporting — EUR.
На `settled_at`: `GBP→EUR = 1.1700` → `ND_dep = 117.00 EUR`.
PSP明天以USD为银行提供资金:'GBP→USD=1。3000',银行持有USD帐户。
对于FI会计,请在"funded_at"(例如0)上捕获"USD→EUR"的次要课程。9200),如果货币头寸被高估,则可以在定居点和筹款之间看到重新定义的外汇。
5) DCC、PSP转换和"谁决定课程"
商人/PSP侧面的DCC(动态货币转换):先向玩家展示课程,但利润率更高。
PSP转换:PSP接受玩家货币,按其汇率转换为商人货币。传播的透明度至关重要。
商人转换:商人采用多货币制(多中度/多计数),转换由银行/电路以更好的汇率进行(通常更有利可图,但在操作上更困难)。
建议:捕获conversion_owner("DCC","PSP","MERCHANT")并比较TCO(spreed+fee)。
6)加密: 估计和波动
VWAP在"settled_at"周围的短窗口内得分(例如,± 5分钟),并指定来源(交易所/提供商)。
存储:"price_usd","price_eur","source","windows","pair"(例如"USDT/USDC/BTC")。
对于stabls/fiate中的筹码,是第二层FX。
特点:香料,退市,连锁反应-在"meta"和alertes中考虑。
7)报告中的外汇会计: realized vs unrealized
Realized FX是现金流"封闭"的差额(认可率与实际交换/收益率之间)。
Unrealized FX-重新评估多币种账户/准备金在白天/月底的余额。
通过不同的GL帐户进行提取:"FX_realized","FX_unrealized"。
对于ND/产品分析师,请使用历史事件课程(请勿高估)。
8) FX曝光类型及如何关闭
交易曝光:进出货币不匹配(EUR存款→ TRY提取)。
措施:natural hedge(选择支付货币),根据规则即将到来的信封。
翻译曝光:多重计费和不同货币的储备→ EoD/EoM reval。
经济曝光:长期的利润率依赖于课程(GEO混合,游戏提供商)。
措施:forwards/NDF,选项(collars),平衡GEO和供应商。
9)Tregery流程和政策
外汇政策:每种货币的开放头寸限制(例如,不超过每周营业额的20%)。
Execution rules:最低交易量、价差、交易对手名单。
货币预测:7/30/90天净需求(存款−调查结果−税收− ORECH)。
Hedge accounting(如有必要):记录"对冲立场↔风险"关系。
假期日历:影响基金/滚动储备和FX的"关闭"。
10)数据和模型(简化)
payments. transactions (
id, user_id, provider, method, type, status,
amount_original, currency_original, -- event amount and currency amount_wallet, wallet_currency, -- domestic gaming currency (if different)
reporting_currency, amount_reporting, - the sum in reporting currency of fx_source, fx_pair, fx_timestamp, fx_rate, - a course at the time of the event (usually settled_at)
fx_quote_type, fx_spread_bps, fx_reference_rate -- measurement of spread/quotation type settled_at, funded_at, conversion_owner, meta
)
treasury. funding_receipts (
funding_id, provider, bank_account, currency, amount,
received_at, value_date, fx_to_reporting, amount_reporting, meta
)
treasury. fx_reval_ledger (
id, date, currency, position_amount, rate_eod, amount_reporting_eod,
prev_rate_eod, reval_diff, type -- UNREALIZED/REALIZED
)
11)验证和质量控制
11.1.与PSP/银行协调"我们的"课程
将"fx_effective"(来自设置)映射到"fx_reference"(来自您的参考)。
Alert,如果"|spread_bps|> threshold"(例如,大调>80 bps)。
11.2.课程来源的质量
Stale-rates:如果事件到来时"now-fx_timestamp> X分钟"是警报和紧急消息来源。
Triangulation不一致:'fx (A→B) fx (B→C) 'vs' fx (A→C)'-alert,在bps中拼写差异。
12) SQL模板示例
12.1.将交易正常化为报告货币
sql
INSERT INTO dw. transactions_flat (...)
SELECT t. id, t. user_id, t. provider, t. method, t. type, t. status,
t. amount_original, t. currency_original,
t. reporting_currency,
ROUND(t. amount_original r. fx_rate, c. scale) AS amount_reporting,
r. source AS fx_source, r. pair AS fx_pair, r. fx_rate,
r. quote_type AS fx_quote_type, r. spread_bps,
t. settled_at, t. funded_at, t. conversion_owner, t. meta
FROM raw. transactions t
JOIN ref. fx_rates r
ON r. pair = CONCAT(t. currency_original, '/', t. reporting_currency)
AND r. ts = (SELECT MAX(ts) FROM ref. fx_rates
WHERE pair=r. pair AND ts <= t. settled_at)
JOIN ref. currencies c ON c. code = t. reporting_currency
WHERE t. settled_at BETWEEN:from AND:to;
12.2.PSP的FX效应分解(效果与参考)
sql
SELECT provider, method, DATE(settled_at) AS d,
SUM(amount_reporting) AS amount_rep_ref,
SUM(settlement_amount_in_rep) AS amount_rep_eff,
(SUM(settlement_amount_in_rep) - SUM(amount_reporting)) AS fx_slippage,
10000 (SUM(settlement_amount_in_rep) / NULLIF(SUM(original_amountfx_reference_rate),0) - 1) AS spread_bps
FROM dw. fx_settlement_view
WHERE settled_at BETWEEN:from AND:to
GROUP BY 1,2,3
ORDER BY d;
12.3.多币种残留物每日重新评估(未实现外汇)
sql
INSERT INTO treasury. fx_reval_ledger (date, currency, position_amount, rate_eod, amount_reporting_eod, prev_rate_eod, reval_diff, type)
SELECT
:eod_date AS date,
bal. currency,
bal. amount AS position_amount,
r_eod. fx_rate AS rate_eod,
bal. amount r_eod. fx_rate AS amount_reporting_eod,
COALESCE(l. prev_rate_eod, r_eod. fx_rate) AS prev_rate_eod,
bal. amount (r_eod. fx_rate - COALESCE(l. prev_rate_eod, r_eod. fx_rate)) AS reval_diff,
'UNREALIZED'::text
FROM treasury. balances bal
JOIN ref. fx_rates_eod r_eod
ON r_eod. pair = CONCAT(bal. currency, '/',:rep_ccy) AND r_eod. date =:eod_date
LEFT JOIN LATERAL (
SELECT rate_eod AS prev_rate_eod
FROM treasury. fx_reval_ledger
WHERE currency = bal. currency AND date =:eod_date - INTERVAL '1 day'
ORDER BY date DESC LIMIT 1
) l ON TRUE;
13) KPI和dashbords
FX Slippage (bps):在PSP/方法/MID上与参考值的差异。
Realized FX P&L(每天/每周/每月)和Unrealized FX(EoD/EoM)。
按货币计算的Open FX Position vs政策限制。
Hedge Ratio:覆盖位置的比例(forwards/NDF/options)。
Stale-rate Incidents и Triangulation Mismatch.
Spread% of Volume (FX相对于加工卷花费多少)。
14) Alerta和急流
Stale rates: 交通高峰时没有最新路线>N分钟-P1.
Spread spike:"spread_bps"高于专业/小调的阈值-P2。
开放位置突破:超过任何货币的上限-P1。
FX P&L冲击:每日现实化的FX低于− X σ历史性-调查。
Crypto price gap:跳跃>Y%来自VWAP窗口-切换信封源/暂停。
15)最佳实践(简称)
1.通过定点课程承认ND和产品指标,无需回顾性重新评估。
2.对于FI/Tregeries,将第二门课程存储在funded_at上-将看到重新定义的FX。
3.总是记录conversion_owner,fx_source,quote_type,spread_bps。
4.通过锚定(EUR/USD)进行三角测量。
5.在GL级别上共享实例化和无实例化。
6.在加密中-使用VWAP窗口而不是单个柚木。
7.自动化等级和异常的PSP传播。
8.按货币预测净需求,并使用自然前锋+前锋/NDF。
16)实施支票
- 课程手册'ref。与EOD和intraday fx_rates',存储源和报价类型。
[] Витрины `transactions_flat`, `fx_settlement_view`, `funding_receipts`.
- triangulation机制和课程路线日志。
- 双层FX会计(ND/产品 vs FI/trageries)。
- 多币种残留物的每日修订。
- Dashbords KPI (slippage, open position, FX P&L)。
- 外汇政策:项目限制,交易对手白名单,差价阈值。
- 编辑过程(forwards/NDF/options)和文档管理。
总结
iGaming中的FX不仅仅是"乘以和的过程"。这是一个完整的系统:明确的认可点,透明的课程来源,分离的境界/境界核算,PSP利差控制和托管的开放位置。通过使用对冲工具实施标准FX目录,"定点"正常化,reval过程和易于理解的FX政策,您可以从P&L中消除波动性,并使现金流量可预测。