FX: خطرات تبدیل و ارز خارجی
1) چرا مدیریت FX در iGaming
دقیق P&L گزارش: که در آن FX سود/زیان ناشی (سپرده, نتیجه گیری, حل و فصل PSP, ذخایر).
ND/GRR/NGR منصفانه: ارز گزارشگری واحد بدون «ارزیابی مجدد عطف به ماسبق».
نقدینگی و جریان نقدی: بودجه در ارز A، پرداخت در B - پیش بینی نیاز و پرچین.
انطباق/مالیات: منشاء شفاف دوره ها و ممیزی آثار.
2) نقاط کلیدی که FX متولد شده است
1. کیف پول بازی در مقابل ارز سپرده: عادی سازی در کیف پول/گزارش ارز.
2. ضبط/حل و فصل در PSP: یک دوره «تاریخی» برای ND ثبت شده است.
3. بودجه (اعتبار به بانک): نرخ/ارز متفاوت و اثر FX ثانویه امکان پذیر است.
4. برداشت: تبدیل زمانی که به بازیکن پرداخت می شود.
5. رزرو نورد و طرح مجازات: نوشتن آف/انتشار ممکن است در یک ارز متفاوت باشد.
6. رمزنگاری: نمره VWAP/میانه در حل و فصل/بودجه.
3) منابع دوره و قوانین عادی سازی
منبع FX: ارائه دهندگان مرجع اولویت (به عنوان مثال، CME/Refinitiv/ECB)، رزرو - بانک/PSP.
سیاست نقل قول: "اواسط"، "پیشنهاد/درخواست" или "اواسط ± spread_bps'. برای حسابداری، mid + explicit 'spread _ bps' بیشتر استفاده می شود.
برچسب زمان: البته در زمان رویداد به رسمیت شناختن (معمولا «حل و فصل _ در» برای ND ؛ اختیاری 'funded _ at' برای بانک حسابداری).
بدون بازگشت: ND های گذشته با تغییر نرخ ها بیش از حد تخمین زده نمی شوند. reval به طور جداگانه به عنوان FX تحقق نیافته انجام می شود.
دقت: ذخیره 8-10 کاراکتر در دوره FX، مقدار پولی - در واحد های جزئی (عدد صحیح) + مقیاس.
4) فرمول ها و مثال ها
4. 1. تبدیل پایه
Let 'amount _ original' in 'ccy _ orig', reporting currency _ rep ', rate' 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 پوند واریز خواهد کرد. گزارش - EUR.
На 'setted _ at': 'GBP → EUR = 1. 1700 → 'ND _ dep = 117. 00 یورو
PSP فردا بانک را به USD تأمین می کند: "GBP → USD = 1. 3000 "، بانک دارای یک حساب کاربری در USD است.
برای حسابداری FI، نرخ ثانویه «USD → EUR» را به «funded _ at» (به عنوان مثال، 0. 9200) برای دیدن FX تحقق یافته بین حل و فصل و بودجه اگر موقعیت نقدی بیش از حد است.
5) DCC، تبدیل PSP و «چه کسی تصمیم می گیرد نرخ»
DCC (Dynamic Currency Conversion) در سمت بازرگان/PSP: این دوره به بازیکن نشان داده شده است، اما حاشیه بالاتر است.
تبدیل PSP: PSP ارز بازیکن را می پذیرد و آن را با نرخ خود به ارز بازرگان تبدیل می کند. شفافیت انتشار بسیار مهم است.
Merchant-conversion: بازرگان چند ارز را می پذیرد (چند MID/چند حساب)، تبدیل توسط بانک/معامله گر با بهترین نرخ انجام می شود (معمولا سودآور تر، اما عملیاتی سخت تر).
توصیه: رفع conversion_owner («DCC»، «PSP»، «MERCHANT») و مقایسه TCO (گسترش + هزینه).
6) رمزنگاری: ارزیابی و نوسانات
نمره VWAP در یک پنجره کوتاه در اطراف 'setted _ at' (به عنوان مثال، ± 5 دقیقه)، نشان می دهد منبع (مبادله/ارائه دهنده).
فروشگاه: «قیمت _ usd»، «قیمت _ eur»، «منبع»، «پنجره»، «جفت» (به عنوان مثال، «USDT/USDC/BTC»).
برای بودجه در اصطبل/فیات، لایه FX دوم.
ویژگی: چسبندگی، حذف، هزینه های زنجیره ای - در «متا» و هشدارها در نظر بگیرید.
7) حسابداری FX در گزارش: متوجه در مقابل تحقق نیافته
FX تحقق یافته - تفاوت «بسته» توسط جریان نقدی (بین نرخ شناخت و نرخ واقعی ارز/دریافت).
FX تحقق نیافته - ارزیابی مجدد مانده ها در حساب های چند ارزی/ذخیره در پایان روز/ماه.
ارسال به حسابهای مختلف GL: 'FX _ realized'، 'FX _ unrealized'.
برای ND/Product Analytics، از نرخ رویداد تاریخی استفاده کنید (بیش از حد تخمین نزنید).
8) انواع قرار گرفتن در معرض FX و نحوه بستن آنها
قرار گرفتن در معرض معامله: عدم تطابق ارزهای ورودی/خروجی (سپرده EUR → خروجی TRY).
اقدامات: پرچین طبیعی (ارز پرداخت را انتخاب کنید)، پاکت سریع با توجه به قوانین.
قرار گرفتن در معرض ترجمه: چند حساب و ذخایر در ارزهای مختلف → EoD/EoM reval.
قرار گرفتن در معرض اقتصادی: وابستگی طولانی مدت حاشیه به دوره (GEO-mixes، ارائه دهندگان بازی).
اقدامات: جلو/NDF، گزینه ها (یقه)، تعادل GEO و تامین کنندگان.
9) فرآیندهای گنج و سیاست
سیاست FX: محدودیت در موقعیت باز برای هر ارز (به عنوان مثال، بیش از 20٪ از گردش مالی هفتگی).
قوانین اجرایی: حداقل حجم معامله، اسپرد آستانه، لیست پیمانکاران.
پیش بینی: پیش بینی تقاضای خالص 7/30/90 روزه توسط ارز (سپرده ها − نتیجه گیری − مالیات − OREX).
حسابداری پرچین (در صورت لزوم): مستند سازی موقعیت پرچین ↔ روابط ریسک
تقویم تعطیلات: بر بودجه/نورد ذخیره و 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 if '| spread _ bps |> threshold' (به عنوان مثال،> 80 bps برای رشته ها).
11. 2. کیفیت منبع دوره
نرخ های پایدار: اگر «در حال حاضر - fx_timestamp> X دقیقه» زمانی که رویداد می رسد - منبع هشدار و اضطراری.
مثلث ناسازگاری: 'fx (A → B) fx (B → C)' در مقابل '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. 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. تجدید ارزیابی روزانه تعادل چند ارزی (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 لغزش (bps): موثر در مقابل تفاوت مرجع توسط PSP/روش/MID.
متوجه FX P&L (روز/هفته/ماه) و FX تحقق نیافته (EoD/EoM).
باز کردن موقعیت FX توسط ارز در مقابل محدودیت های سیاست.
نسبت پرچین (جلو/NDF/گزینه ها).
حوادث نرخ ثابت и عدم تطابق مثلثی
درصد اسپرد از حجم (چه مقدار هزینه FX نسبت به حجم پردازش شده).
14) هشدار و آستانه
نرخ های پایدار: بدون دوره فعلی> N دقیقه در اوج ترافیک - P1.
اسپرد اسپرد: 'spread _ bps' بالاتر از آستانه برای رشته/افراد زیر سن قانونی - P2.
نقض موقعیت باز: بیش از حد مجاز برای هر ارز - P1.
FX P&L شوک: روزانه متوجه FX زیر − X σ تاریخی - تحقیقات.
شکاف قیمت رمزنگاری: پرش> Y٪ از پنجره VWAP - منبع سوئیچ/پاکت مکث.
15) بهترین شیوه (کوتاه)
1. شناسایی ND و معیارهای محصول در نرخ حل و فصل، بدون ارزیابی مجدد گذشته.
2. برای FI/trejeri، دوره دوم را در funded_at نگه دارید - FX را متوجه خواهید شد.
3. همیشه ، ، را درست کنید.
4. مثلث را از طریق یک لنگر (EUR/USD) با ورود به سیستم ایجاد کنید.
5. جداگانه متوجه و تحقق نیافته در سطح GL.
6. در کریپتو، از یک پنجره VWAP استفاده کنید، نه یک تیک.
7. خودکار هشدار به نرخ های قدیمی و گسترش PSP غیر طبیعی.
8. پیش بینی نیازهای خالص توسط ارز و استفاده از پرچین طبیعی + جلو/NDF.
16) چک لیست پیاده سازی
- مرجع مرجع مرجع fx_rates' با EOD و روزانه، ذخیره سازی منبع و نوع نقل قول.
- Витрины 'معاملات _ تخت'، 'fx _ settlement _ view'، 'funding _ receipts'.
- مکانیک Triangulation و ورود به سیستم مسیر مسیر.
- حسابداری FX دو سطح (ND/محصول در مقابل FI/trejeri).
- بازنگری روزانه تعادل چند ارزی.
- داشبورد KPI (لغزش، موقعیت باز، FX P&L).
- سیاست FX: محدودیت موقعیت، پیمانکاران لیست سفید، آستانه هشدار.
- روش مصون سازی (جلو/NDF/گزینه ها) و گردش کار.
خلاصه
FX در iGaming نه تنها "ضرب در مجموع نرخ. "این یک سیستم کل است: نقاط روشن از شناخت، منابع شفاف از دوره ها، تقسیم حسابداری متوجه/تحقق نیافته، PSP گسترش کنترل و مدیریت موقعیت باز است. با پیاده سازی کتابچه راهنمای استاندارد FX، حل و فصل عادی سازی، روش های reval و سیاست های FX قابل فهم با ابزارهای پرچین، شما نوسانات را از P&L حذف می کنید و جریان های نقدی را قابل پیش بینی می کنید.