FX: კონვერტაცია და გაცვლითი კურსის რისკები
1) რატომ უნდა მართოთ FX iGaming- ში
ზუსტი P&L ანგარიშგებები: სადაც წარმოიქმნება FX მოგება/ზარალი (ანაბრები, დასკვნები, PSP ნაკადი, რეზერვები).
სამართლიანი ND/GRR/NGR: ერთიანი რეკონსტრუქცია „გადაფასების გარეშე“.
ლიკვიდობა და ფულადი სახსრები: ფულადი სახსრები ვალუტაში A, გადახდა B- ში - საჭიროა პროგნოზი და ჰეჯი.
შესაბამისობა/გადასახადები: კურსების გამჭვირვალე წარმოშობა და კვალის აუდიტი.
2) ძირითადი წერტილები, სადაც FX იბადება
1. თამაშის საფულე vs დეპოზიტის ვალუტა: საფულის/რეპორტირების ვალუტაში ნორმალიზაცია.
2. PSP- ს capture/settle: დაფიქსირებულია „ისტორიული“ კურსი ND- სთვის.
3. Funding (ბანკში ჩარიცხვა): შესაძლებელია განსხვავებული კურსი/ვალუტა და მეორადი FX ეფექტი.
4. Withdrawals: მოთამაშის გადახდაზე კონვერტაცია.
5. როლინგის რეზერვი და სქემების ჯარიმები: ჩამოწერა/გამოშვება შეიძლება იყოს სხვა ვალუტაში.
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' ბანკისთვის).
არა აღდგენა: წარსული ND არ არის გადაჭარბებული კურსების შეცვლისას; reval კეთდება ცალკე, როგორც unrealized FX.
სიზუსტე: შეინახეთ 8-10 ნიშანი FX კურსში, ფულადი თანხები - მინორულ ერთეულებში (integers) + სკალეში.
4) ფორმულები და მაგალითები
4. 1. ძირითადი კონვერტაცია
მოდით 'amount _ original' in '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)
მნიშვნელოვანია, რომ შეინახოთ კურსების მარშრუტი „მეტაში“ აუდიტორისთვის.
4. 3. Spred- ისა და 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 (если отдельно)
შეინახეთ effective FX და reference FX PSP იმპლიციტის ზღვრების გასაზომად.
4. 4. მაგალითი (ორმაგი კონვერტაციის ჯაჭვი)
მოთამაშე დეპონირებს 100 GBP- ს. Reporting — EUR.
На `settled_at`: `GBP→EUR = 1. 1700` → `ND_dep = 117. 00 EUR`.
PSP აფინანსებს ბანკს აშშ დოლარში ხვალ: 'GBP = 1. 3000 ', ბანკი ინახავს ანგარიშს აშშ-ში.
FI აღრიცხვისთვის, ჩაწერეთ მეორადი კურსი 'USD - EUR "' funded _ at '(მაგალითად, 0. 9200) რეალურ FX- ს სანახავად settle- სა და funding- ს შორის, თუ ფულადი პოზიცია გადაფასებულია.
5) DCC, PSP კონვერტაცია და „ვინ გადაწყვეტს კურსს“
DCC (Dynamic Currency Conversion) ციმციმის/PSP მხარეს: კურსი აჩვენებს მოთამაშეს წინასწარ, მაგრამ ზღვარი უფრო მაღალია.
PSP კონვერსია: PSP იღებს მოთამაშის ვალუტას, თავის კურსში გადააქცევს მერჩანტის ვალუტას. გამჭვირვალეობა კრიტიკულია.
Merchant-conversion: murchant იღებს მულტივალუტურად (multi-MID/მრავალჯერადი), გადაქცევას ასრულებს ბანკი/გადაკეთება საუკეთესო კურსით (ჩვეულებრივ, უფრო მომგებიანი, მაგრამ უფრო რთული, ვიდრე ოპერაციული).
რეკომენდაცია: ჩაწერეთ conversion _ owner ('DCC', 'PSP', 'MERCHANT') და შეადარეთ TCO (spred + fee).
6) კრიპტო: შეფასება და ცვალებადობა
VWAP- ის შეფასება მოკლე ფანჯრის გარშემო 'settled _ at' (მაგალითად, ± 5 წუთი), სადაც მითითებულია წყარო (გაცვლა/პროვაიდერი).
შეინახეთ: 'price _ usd', 'price _ eur', 'source', 'window', 'pair' (მაგალითად, 'USDT/USDC/BTC').
სტეილებში/ფიატში funding- ისთვის - FX- ის მეორე ფენა.
სპეციფიკა: spikes, delistings, on-chain fees - გაითვალისწინეთ „მეტა“ და ალერტებში.
7) FX ანგარიში: რეალიზებული vs unrealized
Realized FX არის სხვაობა, რომელიც „დახურულია“ ფულადი ნაკადით (აღიარების კურსსა და ფაქტობრივი გაცვლის/მიღების კურსს შორის).
Unrealized FX - ნაშთების გადაფასება მულტივალუტის ანგარიშებზე/რეზერვში დღის ბოლოს/თვის ბოლოს.
გადაიტანეთ სხვადასხვა GL ანგარიშებზე: 'FX _ realized', 'FX _ unrealized'.
ND/პროდუქტის ანალიტიკოსებისთვის გამოიყენეთ მოვლენის ისტორიული კურსი (ნუ გადაჭარბდებით).
8) FX ექსპოზიციის ტიპები და როგორ დავხუროთ ისინი
ტრანსსასაზღვრო ექსპოზიცია: შესვლის/გასვლის ვალუტების შეუსაბამობა (EUR ანაბარი - TRY გაყვანა).
ზომები: natural hedge (შეარჩიეთ გადახდების ვალუტა), სწრაფი კონვერტი წესების შესაბამისად.
ტრანსლაციის განვითარება: მრავალჯერადი ანგარიშები და რეზერვები სხვადასხვა ვალუტაში - EoD/EoM reval.
ეკონომიკური განვითარება: ზღვარზე გრძელვადიანი დამოკიდებულება კურსზე (GEO მიქსები, თამაშების მომწოდებლები).
ზომები: forwards/NDF, options (collars), GEO დაბალანსება და მომწოდებლები.
9) ცვალებადი პროცესები და პოლიტიკა
FX პოლიტიკა: ღია პოზიციის ლიმიტები თითოეულ ვალუტაზე (მაგალითად, არაუმეტეს ყოველკვირეული ბრუნვის 20%).
Execution rules: გარიგების მინიმალური მოცულობა, პრივილეგიები, კონტრარგუმენტების სია.
Forecasting: 7/30/90 დღიანი პროგნოზი ვალუტის მოთხოვნილების შესახებ (ანაბრები - დასკვნები - გადასახადები - OREH).
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' (თქვენი საცნობარო წიგნიდან).
ალერტი, თუ '| spread _ bps |> threshold' (მაგალითად,> 80 bps მაიორებისთვის).
11. 2. კურსების წყაროს ხარისხი
Stale-rates: თუ 'ახლა - fx _ timestamp> X წუთი' მოვლენის მოსვლისას - ალერტი და გადაუდებელი წყარო.
Triangulation შეუსაბამობები: 'fx (A-B) fx (B-C)' vs 'fx (A' C) '- ალერტი, შეუსაბამობა 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 ეფექტის დაშლა
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 reference სხვაობა 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 შედარებით processesse volume).
14) ალერტები და ბარიერები
Stale rates: არ არსებობს მიმდინარე კურსი> N წუთი ტრაფიკის მწვერვალზე - P1.
Spread spike: 'spread _ bps' უფრო მაღალია, ვიდრე მაიორების/უმცირესობების ბარიერი - P2.
Open position breach: ნებისმიერი ვალუტის ლიმიტის ჭარბი რაოდენობა - P1.
FX P&L shock: დღისით რეალიზირებული FX ქვემოთ - ისტორიული - გამოძიება.
Crypto price gap: ნახტომი> Y% VWAP ფანჯარა - კონვერტის წყაროს/პაუზის შეცვლა.
15) საუკეთესო პრემიები (მოკლედ)
1. აღიარეთ ND და სასურსათო მეტრიკა settled კურსზე, რეტროსპექტული გადაფასების გარეშე.
2. FI/trajer- ისთვის შეინახეთ მეორე კურსი funded _ at- ზე - ნახავთ რეალიზებულ FX- ს.
3. ყოველთვის ჩაწერეთ conversion _ owner, fx _ source, = te _ type, spread _ bps.
4. გააკეთეთ ტრიანგულაცია წამყვანით (EUR/აშშ დოლარი) ლოგიკურად.
5. გაუზიარეთ რეალიზებული და არარეალიზებული GL დონეზე.
6. კრიპტოში - გამოიყენეთ VWAP ფანჯარა და არა ერთი დარტყმა.
7. ავტომატიზირებული ალერტები stale rates და არანორმალური PSP spredred.
8. იწინასწარმეტყველეთ ვალუტის წმინდა საჭიროება და გამოიყენეთ ბუნებრივი ჰედგე + ფორვარდები/NDF.
16) განხორციელების შემოწმების სია
- კურსების ცნობარი 'ref. fx _ rates's EOD და intraday, წყაროს შენახვა და -te ტიპი.
- Витрины `transactions_flat`, `fx_settlement_view`, `funding_receipts`.
- ტრიანგულაციის მექანიკა და კურსების მარშრუტის ჟურნალი.
- ორმაგი დონის აღრიცხვა FX (ND/პროდუქტი vs FI/tragery).
- ყოველდღიური reval მულტივალუტის ნარჩენები.
- დაშბორდი KPI (slippage, ღია პოსტი, FX P&L).
- პოლიტიკა FX: პოზიციების ლიმიტები, კონტრარგუმენტების თეთრი სია, ალერტის ბარიერები.
- hedging პროცედურა (forwards/NDF/options) და დოკუმენტების მენეჯმენტი.
რეზიუმე
IGaming- ში FX არ არის მხოლოდ „გამრავლებული კურსი“. ეს არის მთელი სისტემა: მკაფიო აღიარების წერტილები, კურსების გამჭვირვალე წყაროები, გაყოფილი რეალიზებული აღრიცხვა, PSP გავრცელების კონტროლი და კონტროლირებადი ღია პოზიცია. სტანდარტული FX საცნობარო წიგნის დანერგვით, „settle“ - ის ნორმალიზებით, რეფლექსური პროცედურებით და ჰეჯირების ინსტრუმენტებით FX- პოლიტიკით გასაგები, თქვენ ამოიღებთ ცვალებადობას P & L- დან და ფულადი ნაკადების პროგნოზირებას ახდენთ.