FX: 전환 및 외환 위험
1) iGaming에서 FX를 관리하는 이유
정확한 P & L보고: FX 이익/손실이 발생하는 곳 (예금, 결론, PSP 결제, 준비금).
Fair ND/GRR/NGR: "소급 재평가" 가없는 단일보고 통화.
유동성 및 현금 흐름: 통화 A 자금 조달, B 지불-예측 및 헤지가 필요합니다.
준수/세금: 과정의 투명한 출처 및 추적 감사.
2) FX가 태어난 핵심 포인트
1. 게임 지갑 대 예금 통화: 지갑/보고 통화의 정규화.
2. PSP에서의 캡처/정착: "역사적" 코스가 ND에 대해 기록됩니다.
3. 자금 (은행에 대한 신용): 다른 요율/통화 및 2 차 FX 효과가 가능합니다.
4. 철회: 플레이어에게 지불했을 때 전환.
5. 롤링 리저브 및 제도 처벌: 상각/해제는 다른 통화로 이루어질 수 있습니다.
6. 암호화: 정착/자금 조달시 VWAP 점수/중앙값.
3) 코스 소스 및 정규화 규칙
FX 소스: 우선 순위 참조 제공 업체 (예: CME/Refinitiv/ECB), 준비금-은행/PSP.
인용문 정책: 'mid', 'bid/ask' и독특한 'mid λspred _ bps'. 회계의 경우 중간 + 명시 적 'spred _ bps' 가 더 자주 사용됩니다.
타임 스탬프: 인식 이벤트 시점의 코스 (일반적으로 ND의 경우 '정착 _ at'); 회계 은행에 대한 선택적 'funded _ at').
복직 금지: 요금이 변경 될 때 과거 ND가 과대 평가되지 않습니다. reval은 실현되지 않은 FX로 별도로 수행됩니다.
정확성: FX 코스에 8-10 자, 화폐 금액-마이너 단위 (정수) + 스케일로 저장하십시오.
4) 공식과 예
4. 1. 기본 변환
통화 'ccy _ rep', rate 'fx (ccy _ orig → ccy _ rep) 를보고하는' amount _ original 'in' ccy _ orig ':
amount_reporting = round(amount_original fx, scale_ccy_rep)
4. 2. 교차 요금 (예: EUR)
fx(GBP→UAH) = fx(GBP→EUR) fx(EUR→UAH)
감사를 위해 코스 경로 (삼각 측량) 를 '메타' 에 저장하는 것이 중요합니다.
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 (если отдельно)
PSP 암시 적 마진을 측정하기 위해 효과적인 FX 및 참조 FX를 저장하십시오.
4. 4. 예 (이중 변환 체인)
플레이어는 100 GBP를 입금합니다. 보고-EUR.
'setted _ at': 'GBP → EUR = 1. 1700 '→' ND _ dep = 117. 00 EUR '.
PSP는 내일 USD로 은행에 자금을 지원합니다: 'GBP → USD = 1. 3000 ', 은행은 USD로 계좌를 보유합니다.
FI 회계의 경우 2 차 요율 'USD → EUR' 을 'funded _ at' (예: 0) 로 수정하십시오. 9200) 현금 포지션이 과대 평가 된 경우 결제와 자금 조달 사이의 실현 된 FX를 확인합니다.
5) DCC, PSP 변환 및 "비율을 결정하는 사람"
판매자/PSP 측의 DCC (Dynamic Currency Conversion): 코스는 사전에 플레이어에게 표시되지만 마진은 더 높습니다.
PSP 변환: PSP는 플레이어의 통화를 수락하고 자체 비율로 판매자의 통화로 변환합니다. 스프레드의 투명성이 중요합니다.
판매자 변환: 판매자는 다중 통화 (다중 MID/다중 계정) 를 허용하며, 은행/거래자가 최고 속도 (일반적으로 수익성이 높지만 운영이 더 어려움) 로 변환을 수행합니다.
권장 사항: 변환 _ 소유자 ('DCC', 'PSP', 'MERCHANT') 를 수정하고 TCO (스프레드 + 수수료) 를 비교하십시오.
6) 암호화: 평가 및 변동성
VWAP는 소스 (교환/제공자) 를 나타내는 '정착 된 _ at' (예: λ5 분) 주위의 짧은 창에서 점수를 매 깁니다.
저장: 'price _ usd', 'price _ eur', 'source', '창', '쌍' (예: 'USDT/USDC/BTC').
마구간/피아트에 자금을 지원하기 위해 두 번째 FX 계층.
특이성: 접착제, 상장 폐지, 체인 요금-' 메타 '및 경고를 고려하십시오.
7) 보고의 FX 회계: 실현 대 실현되지 않음
실현 된 FX-현금 흐름에 의한 차이 (인식 속도와 실제 환율/영수증 비율 사이).
실현되지 않은 FX-하루/월 말에 다중 계정/예비 잔액을 재평가합니다.
다른 GL 계정에 게시: 'FX _ repended', 'FX _ unregent'.
ND/제품 분석의 경우 과거 이벤트 속도를 사용하십시오 (과대 평가하지 마십시오).
8) FX 노출 유형 및 폐쇄 방법
거래 노출: 입력/출력 통화의 불일치 (EUR 예금 → TRY 출력).
측정: 자연 헤지 (결제 통화 선택), 규칙에 따라 빠른 봉투.
번역 노출: 다른 통화의 다중 계정 및 준비금 → EoD/EoM 개정.
경제 노출: 코스에 대한 장기적인 마진 의존성 (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 _ functive' (결제에서) 와 'fx _ reference' (디렉토리에서) 를 일치시킵니다.
'| spred _ bps |> 임계 값' (예: 메이저의 경우> 80bps) 인 경우 경고하십시오.
11. 2. 코스 소스 품질
부동산: 이벤트가 도착했을 때 '지금-fx _ timestamp> X 분' 인 경우 경고 및 비상 소스.
불일치 삼각 측량: '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. 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 Slippage (bps): PSP/메소드/MID에 의한 유효 대 참조 차이.
실현 된 FX P&L (주/주/월) 및 미실현 FX (EoD/EoM).
통화 대 정책 제한에 따라 FX 위치를 엽니 다.
헤지 비율 (포워드/NDF/옵션).
부동산 사건은 삼각 분할 불일치입니다.
볼륨의% 확산 (처리 된 볼륨에 비해 FX 비용의 양).
14) 경고 및 임계 값
부동산 요금: 최대 트래픽에서 현재 코스> N 분 없음-P1.
스프레드 스파이크: 메이저/마이너의 임계 값을 초과하는 'spred _ bps' - P2.
공개 위치 위반: 모든 통화의 한도를 초과합니다-P1.
FX P&L 쇼크: 매일 실현 된 FX가 -X λ의 역사-조사.
암호화 가격 격차: VWAP 창의 점프> Y% - 소스 스위치/엔벨로프 일시 정지.
15) 모범 사례 (짧은)
1. 소급 재평가없이 정산 속도로 ND 및 제품 지표를 인정합니다.
2. FI/trejeri의 경우 자금 지원 _ at의 두 번째 코스를 유지하십시오. 실현 된 FX를 볼 수 있습니다.
3. (PHP 3 = 3.0.6, PHP 4)
4. 로깅으로 앵커 (EUR/USD) 를 통해 삼각 측량을 수행하십시오.
5. GL 레벨에서 별도의 실현 및 실현되지 않았습니다.
6. 암호화에서는 단일 틱이 아닌 VWAP 창을 사용하십시오.
7. 부실한 요금과 비정상적인 PSP 스프레드에 대한 경고를 자동화하십시오.
8. 통화 별 순 요구 사항을 예측하고 자연 헤지 + 포워드/NDF를 사용하십시오.
16) 구현 점검표
- EOD 및 일중, 소스 저장 및 견적 유형의 코스 참조 'ref. fx _ rates'.
- 자금 지원 영수증 'traveles _ flat', 'fx _ demitation _ view', 'funding _ indications'.
- 삼각 측량 역학 및 코스 경로 로그.
- 2 단계 FX 회계 (ND/product vs FI/trejeri).
- 다발성 균형에 대한 일상적인 반박.
- KPI 대시 보드 (미끄러짐, 열린 위치, FX P&L).
- FX 정책: 위치 제한, 화이트리스트 거래자, 경고 임계 값.
- 헤징 절차 (포워드/NDF/옵션) 및 워크 플로.
요약
iGaming의 FX는 "합산율 곱하기" 만이 아닙니다. "이것은 명확한 인식 지점, 투명한 과정 소스, 분할 회계 실현/실현되지 않음, PSP 확산 제어 및 관리 된 개방 위치 등 전체 시스템입니다. 표준 FX 핸드북을 구현하고, 정규화를 해결하고, 절차를 수정하고, 헤지 도구로 이해할 수있는 FX 정책을 통해 P & L에서 변동성을 제거하고 현금 흐름을 예측할 수 있습니다.