FX: конверсия жана курстук тобокелдиктер
1) Эмне үчүн iGaming FX башкаруу
Так P & L-отчеттуулук: FX-пайда/жоготуу пайда болгон жерде (депозиттер, корутундулар, PSP түзүү, камдар).
Адилет ND/GRR/NGR: "кайра баалоо" жок бирдиктүү отчеттук акча.
Ликвиддүүлүк жана кэш-флоу: А валютасында funding, В валютасында төлөмдөр - прогноз жана хедж керек.
Комплаенс/салыктар: курстардын ачык-айкын келип чыгышы жана издердин аудити.
2) FX төрөлгөн негизги пункттары
1. Оюн капчыгы vs депозит валютасы: капчык/репортинг валютасында нормалдашуу.
2. PSP үчүн Capture/settle: ND үчүн "тарыхый" курсу белгиленген.
3. Funding (банкка чегерүү): башка курс/валюта жана экинчилик FX-эффект болушу мүмкүн.
4. Withdrawals: оюнчу төлөөдө которуу.
5. Rolling-камдык жана айып схемалар: эсептен чыгаруу/бошотуу башка акча болушу мүмкүн.
6. крипто: VWAP/медианасы боюнча баа берүү учурда settle/funding.
3) Курстардын булактары жана нормалдаштыруу эрежелери
FX булагы: артыкчылыктуу провайдерлер-референттер (мисалы, CME/Refinitiv/ECB), камдык банк/PSP.
Quote policy: `mid`, `bid/ask` или `mid ± spread_bps`. Эсеп үчүн көбүнчө mid + ачык 'spread _ bps' колдонулат.
Timestamp: таануу учурунда курсу (адатта 'settled _ at' ND үчүн; банк-эсеп үчүн кошумча 'funded _ at').
No restatement: мурунку ND курстары өзгөргөндө ашыкча бааланбайт; reval unrealized FX катары өзүнчө жүргүзүлөт.
Тактык: FX курсунда 8-10 белгини сактоо, акча суммасы - minor units (integers) + scale.
4) Формулалар жана мисалдар
4. 1. Базалык конверсия
'amount _ original' в 'ccy _ orig', отчеттук валюта '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)
Бул аудит үчүн 'meta' курстарынын маршруту (triangulation) сактоо маанилүү.
4. 3. Spread жана 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 (если отдельно)
PSP implicit маржасын өлчөө үчүн effective FX жана reference FX сактаңыз.
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-эсепке алуу үчүн 'USD → EUR' га 'funded _ at' (мисалы, 0. 9200) акча орду ашыкча болсо, settle жана funding ортосунда realized FX көрүүгө.
5) DCC, PSP конвертация жана "курсту ким чечет"
DCC (Dynamic Currency Conversion) сатуучу/PSP тарабында: курс оюнчу алдын ала көрсөтүлөт, бирок маржа жогору.
PSP-conversion: PSP оюнчу акча кабыл алат, өз курсу боюнча соодалоочу акча которулат. Спреддин ачык-айкындуулугу маанилүү.
Merchant-conversion: merchant multivalyutno кабыл алат (multi-MID/көп эсептер), конвертация мыкты курсу боюнча банк/трежери тарабынан жүзөгө ашырылат (адатта, пайдалуу, бирок татаал иш).
Сунуш: conversion_owner ('DCC', 'PSP', 'MERCHANT') бекитүү жана TCO (spred + fee) салыштыруу.
6) крипто: баа берүү жана туруксуздук
"settled _ at" айланасындагы кыска терезе үчүн VWAP баасы (мисалы, ± 5 мүнөт), булагын көрсөтүү менен (биржа/провайдер).
Сактаңыз: 'price _ usd', 'price _ eur', 'source', 'window', 'pair' (мисалы, 'USDT/USDC/BTC').
Funding үчүн Stables/Fiat - экинчи катмар FX.
Specification: спайк, delisting, on-chain fees - 'meta' жана alerts эске алуу.
7) Отчет FX эсепке алуу: realized vs unrealized
Realized FX - акча агымы менен "жабылган" айырма (таануу курсу менен иш жүзүндөгү алмашуу/түшүү курсунун ортосунда).
Unrealized FX - күндүн/айдын акырына карата көп валюталуу эсептердеги/резервдеги калдыктарды кайра баалоо.
Ар кандай GL эсептери боюнча таратыңыз: 'FX _ realized', 'FX _ unrealized'.
ND/азык-түлүк аналитикасы үчүн тарыхый иш-чаранын курсун колдонуңуз (ашыкча баалабаңыз).
8) FX экспозициясынын түрлөрү жана аларды кантип жабуу керек
Transaction exposure: кирүү/чыгуу валюталары менен дал келбегендиги (EUR депозити → TRY чыгарылышы).
Чаралар: natural hedge (төлөмдөрдүн валюталуулугун тандоо), эрежелер боюнча тез конверт.
Translation exposure: ар кандай акча менен көп эсептер жана камдар → EoD/EoM reval.
Economic exposure: узак мөөнөттүү курсу маржа көз карандылык (GEO-микс, оюн берүүчүлөр).
Чаралар: forwards/NDF, options (collars), балансы GEO жана жөнөтүүчүлөр.
9) Трежери-процесстер жана саясат
FX policy: ар бир валюта боюнча ачык позицияга лимиттер (мисалы, жумалык жүгүртүүнүн 20% ашпаган).
Execution rules: минималдуу бүтүм көлөмү, прагалык спреддер, контрагенттердин тизмеси.
Forecasting: 7/30/90 күндүк валюталар боюнча таза керектөө болжолу (депозиттер − корутундулар − салыктар − жаңгак).
Hedge accounting (зарыл болгон учурда): мамилелерди документтештирүү "хедж-позиция тобокелдик".
майрам календары: funding/rolling камдык жана "жабуу" 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' (settlement) менен '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. FX-PSP эффектинин бузулушу (effective vs reference)
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. Көп валюталык калдыктарды күн сайын кайра баалоо (unrealized FX)
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 жана дашборддор
FX Slippage (bps): effective vs PSP/ыкмасы/MID боюнча шилтеме айырмасы.
Realized FX P&L (күн/жума/ай) жана Unrealized FX (EoD/EoM).
Валюталар боюнча Open FX позициясы vs саясаттын лимиттери.
Hedge Ratio: ээлеген үлүшү (forwards/NDF/options).
Stale-rate Incidents и Triangulation Mismatch.
Spread% of Volume (FX processed volume салыштырмалуу канча турат).
14) Алерталар жана босоголор
Stale rates: учурдагы курс жок> трафиктин туу чокусунда N мүнөт - P1.
Spread spike: 'spread _ bps' мажорлор/минорлор үчүн босогодон жогору - P2.
Open position breach: ар кандай валюта боюнча чектен ашып кетүү - P1.
FX P&L шок: күндүзгү FX төмөн − X σ тарыхый - тергөө.
Crypto price gap: VWAP терезеден секирүү> Y% - булак которуу/конверт тыныгуу.
15) Best practices (кыска)
1. ND жана азык-түлүк көрсөткүчтөрүн белгиленген курс боюнча, ретроспективдүү кайра баалоосуз тааныңыз.
2. FI/трежери үчүн funded_at боюнча экинчи курсту сактаңыз - realized FX көрөсүз.
3. Ар дайым conversion_owner, fx_source, quote_type, spread_bps.
4. казык аркылуу triangulation (EUR/USD) Логин менен.
5. GL деъгээлинде realized жана unrealized бөлүшүү.
6. крипто - бир тик эмес, VWAP терезени колдонуу.
7. Stale rates жана PSP анормалдуу спред боюнча Alert автоматташтыруу.
8. Валюталар боюнча таза муктаждыкты болжолдоо жана natural hedge + форварддарды/NDF колдонуу.
16) Киргизүү чек-тизмеси
- Курстар колдонмо 'ref. EOD жана intraday менен fx_rates', булагы жана quote түрү сактоо.
- Витрины `transactions_flat`, `fx_settlement_view`, `funding_receipts`.
- Механика triangulation жана журнал маршруту курстары.
- Эки баскычтуу FX эсепке алуу (ND/продукт vs FI/трейдер).
- Multivalyutnyh калдыктары күнүмдүк reval.
- Dashboard KPI (slippage, open position, FX P&L).
- FX саясаты: кызмат орундарынын чектери, контрагенттердин ак тизмеси, алерттердин босоголору.
- Жол-жобосу hedging (forwards/NDF/options) жана документ жүгүртүү.
Резюме
FX in iGaming - бул жөн гана "сумманы көбөйтүү курсу" эмес. Бул бүтүндөй бир система: так таануу пункттары, ачык-айкын курстардын булактары, бөлүнгөн эсеп realized/unrealized, PSP спред контролдоо жана башкарылуучу ачык позиция. Стандарттык FX каталогун, "settle" нормалдаштырууну, reval-процедураларды жана хедж инструменттери менен түшүнүктүү FX саясатын киргизүү менен, сиз P&L 'ден туруксуздукту алып саласыз жана акча агымын алдын ала айтууга болот.