다중 서적 및 과정
1) "다중 도서" 란 무엇입니까
원장-이중 입국 거래 원장 (양방향 게시) 은 동시에 여러 통화로 유지됩니다
지갑 책: 플레이어 계정 (게임 통화/통화).
합의 책: PSP/인수자와의 합의 (결제 통화).
재무부: 은행 계좌, 전환, 헤지 거래.
원장보고: 제품 메트릭을 소급 재평가하지 않고 통화보고 (예: EUR) 요약.
각 책은 인식 시점에 거래 통화, 프리젠 테이션 통화 및 요율을 기록합니다.
2) 통화 및 정책의 계층
1. 기본/보고 통화-단일보고 통화 (예: EUR).
2. 지갑 통화-지갑 통화 (USD/EUR/TRY/UAH 등).
3. 결제 통화-PSP가 보내는 것 (예: USD).
4. 은행 통화-가맹점/재무부 계좌 통화.
- 제품 메트릭 (ND/NGR/ARPPU) - 이벤트의 과거 속도 (일반적으로 '정착 _ at').
- 재무/재무부-' funded _ at '및' payout _ at '에 대한 과정을 추가로 수정합니다.
- 음식 디스플레이에서 "숨겨진" 재평가는 금지되어 있습니다.
3) 코스와 그 출처
일중 참조 (틱/분): Refinitiv/ECB/뱅크-이벤트를 정규화합니다.
EOD (종료): 실현되지 않은 FX 용.
효과적인 FX: PSP/은행 파일 (실제 변환) 에서.
삼각 측량: 직접 견적이없는 경우 앵커 (EUR 또는 USD) 를 통해.
인용 정책: 'mid' ли 스프레드는 별도로 저장됩니다.
저장: 'fx _ source', 'fx _ pair', 'fx _ rate', 'fx _ timestamp', 'quote _ style', 'spred _ bps' 및 삼각 측량 경로.
4) 인식 포인트 및 코스 레이어
'ranizing _ at' -코스를 수정하지 않습니다 (캡처 없이는 인식이 없습니다).
'캡처/정착 _ at' -제품 계층 및 ND의 역사적 과정.
'funded _ at' -은행 당 환율 (FI/재무부의 FX 실현).
'payout _ at' -플레이어에게 지불하면 요금이 부과됩니다.
'eod' 는 실현되지 않은 FX의 종료 율입니다.
5) 정밀, 반올림, 최소 단위
돈-통화 디렉토리의 전체 사소한 단위 (int) + 'scale'.
코스-최소 8-10 소수점.
반올림: 보고를위한 은행 (반 짝수); UI - 로컬 규칙.
(PHP 3 = 3.0.6, PHP 4)
6) 이중 입력 및 GL 카드 (단순화)
게시물의 예:6. 1. DEPOSIT _ CAPTURED (GBP, 보고-EUR)
JT: AR: PSP (GBP)
Ct: 플레이어 밸런스 (지갑 별 GBP/EUR)
동시에 'fx _ rate _ settle (GBP → EUR)' 및 'mount _ reporting' 을 수정하십시오.
6. 2. FUNDING _ RECEIVED (은행 당 USD)
Dt: 은행 USD
Ct: AR: PSP GBP (동등하게 가까이; 차이 → 실현 FX).
6. 3. WITHDRAWAL _ PAID (TRY)
가능성: 책임: 플레이어 (TRY)
Ct: Bank TRY (또는 Bank EUR + 변환; 차이-실현 FX).
7) 데이터 아키텍처 (최소 모델)
ref. currencies (
code PK, scale, symbol, is_crypto, is_active
)
ref. fx_rates_intraday (
pair PK, ts PK, rate, quote_type, source, spread_bps, triangulation_meta
)
ref. fx_rates_eod (
pair PK, date PK, rate, source
)
ledger. entries (
entry_id PK, book, -- WALLET SETTLEMENT TREASURY REPORTING debit_account, credit_account,
amount_original, currency_original,
amount_reporting, reporting_currency,
fx_rate_at_settle, fx_source, fx_pair, fx_timestamp,
event_type, event_id, user_id, provider, method,
occurred_at, created_at, meta
)
treasury. funding_receipts (
funding_id PK, provider, bank_account,
currency, amount, fx_to_reporting, amount_reporting,
received_at, value_date, meta
)
treasury. balances (
date PK, account PK, currency PK, amount
)
dw. transactions_flat (
tx_id PK, user_id, provider, method, type, status,
amount_original, currency_original,
amount_reporting, reporting_currency, fx_rate_at_settle,
settled_at, funded_at, conversion_owner, meta
)
8) 정규화 흐름 (ETL/ELT)
1. 원료 섭취 → PSP 상태 정규화.
2. 'fx _ rates _ intraday' 에서 'setted _ at' 에 대한 과거 비율 할당.
3. 원하는 원장 (지갑/결제) 에 이중 트랜잭션을 작성하십시오.
4. 별도의 수입 자금과 효과적인 FX.
5. 'fx _ rates _ eod' (재무부) 에 의한 잔액의 일일 재조정.
6. 복고풍 재평가없이 창 구성 (ND/NGR/LTV) 을 쇼핑하십시오.
9) 조정과 일관성
Tx → 파일: 캡처/정산 된 모든 파일은 PSP 파일에있었습니다 (금액/통화/날짜 별).
파일 → Tx: 파일의 모든 내용은 책/트랜잭션에 반영됩니다.
FX 참조 vs 유효: 카운트 '미끄러짐 _ bps'; 임계 값을 넘어서도록 경고하십시오.
삼각 측량 확인: bps-tolerans 내의 'A → B → C' 및 'A → C'.
이념성: '이벤트 _ id' 및 'demempotency _ key' -중복으로부터 보호합니다.
10) 빈번한 시나리오 및 수행 방법
다중 지갑: 플레이어의 지갑은 예금과 다른 통화로 표시 될 수 있습니다. 요금으로 내부 변환을 수행하십시오 ('변환 _ 소유자 =' MERCHANT '정책).
PSP 변환: PSP 마진 분석을 위해 'fx _ perfect', 'fx _ reference' 및 'spred _ bps' 저장.
암호화: VWAP 창 점수; 마구간에 자금을 지원하는 것은 FX의 두 번째 계층입니다.
지갑 간 이전: FX 수입없이 플랫폼 내에서의 이동은 책 간 이전입니다.
11) SQL 템플릿
11. 1. 과거 비율로보고 통화에 대한 금액의 정규화
sql
SELECT t. tx_id,
t. amount_original,
t. currency_original,
r. rate AS fx_rate_at_settle,
ROUND(t. amount_original r. rate, rep. scale) AS amount_reporting
FROM raw. transactions t
JOIN ref. fx_rates_intraday r
ON r. pair = CONCAT(t. currency_original, '/',:reporting_ccy)
AND r. ts = (
SELECT MAX(ts) FROM ref. fx_rates_intraday
WHERE pair = r. pair AND ts <= t. settled_at
)
JOIN ref. currencies rep ON rep. code =:reporting_ccy
WHERE t. settled_at BETWEEN:from AND:to;
11. 2. PSP 확산 측정 (유효 대 참조)
sql
SELECT provider, method, DATE(settled_at) AS d,
SUM(original_amount fx_reference_rate) AS ref_in_reporting,
SUM(settlement_amount_in_reporting) AS eff_in_reporting,
10000 (SUM(settlement_amount_in_reporting) /
NULLIF(SUM(original_amount fx_reference_rate),0) - 1) AS spread_bps
FROM dw. fx_settlement_view
WHERE settled_at BETWEEN:from AND:to
GROUP BY 1,2,3;
11. 3. 실현되지 않은 FX
sql
INSERT INTO treasury. fx_reval_ledger (date, currency, position_amount, rate_eod, amount_reporting_eod, reval_diff, type)
SELECT
:eod AS date, b. currency, b. amount,
e. rate AS rate_eod,
b. amount e. rate AS amount_reporting_eod,
b. amount (e. rate - COALESCE(l. rate_eod, e. rate)) AS reval_diff,
'UNREALIZED'
FROM treasury. balances b
JOIN ref. fx_rates_eod e
ON e. pair = CONCAT(b. currency, '/',:reporting_ccy) AND e. date =:eod
LEFT JOIN LATERAL (
SELECT rate_eod FROM treasury. fx_reval_ledger
WHERE currency=b. currency AND date=:eod - INTERVAL '1 day'
ORDER BY date DESC LIMIT 1
) l ON TRUE;
12) KPI 및 대시 보드
PSP/방법/MID의 FX Slippage (bps).
실현 된 FX P&L (자금 조달/지불)... 실현되지 않은 FX (EOD/EOM).
통화 대 정책 제한에 따라 FX 위치를 엽니 다.
적중 률 "정시" 과정 (오래된 사건).
PSP 변환 대 판매자 변환 및 TCO 비율.
반올림 정확도 (마이너 1 단위-플래그 양의 편차).
13) 경고 및 임계 값
부동산 비율: 이벤트 시점에 요금이 없습니다 → 폴백 소스/리트레이.
삼각 불일치: 분기> X bps.
스프레드 스파이크: 메이저/메이저의 임계 값을 초과하는 'spred _ bps'.
공개 위치 위반: 모든 통화의 한도를 초과합니다.
수익 충격: 매일 재평가 <-X λ또는> + X λ- 검토.
14) 모범 사례 (짧은)
1. 제품 계층 (역사적 FX) 과 FI/재무부 (펀딩/지불/재무) 를 엄격히 분리합니다.
2. 작은 단위와 저장 과정을 높은 정확도로 사용하십시오
3. (PHP 3 = 3.0.6, PHP 4)
4. 이벤트 demotency 및 양방향 조정 (Tx → 파일 및 파일 → Tx) 을 구현하십시오.
5. 삼각 측량을위한 앵커 통화를 보유하고 bps의 불일치를 확인하십시오.
6. 별도의 GL로 EOD 절차로 잔액을 재확인하십시오.
7. 정산/자금 조달 과정을 지정할 때 DST/에코 시드를 고려하십시오.
8. 규모 경계에 대한 속성 기반 테스트를 정기적으로 테스트하
15) 구현 점검표
- 정의 된 통화 및 과거 FX 정책보고.
- 코스 소스: intraday + EOD, 폴백 및 SLA 업데이트.
- 모델 원장. 항목 ',' fx _ rates _ ',' funding _ indracts ',' bales ', витрине' traveles _ flat'.
- 삼각 측량 메커니즘 및 경로 로그.
- 지연, 스프레드 스파이크, 삼각 측량 불일치, 개방 위치 위반.
- KPI 대시 보드 및 PSP/은행 조정 보고서.
- 실현/실현되지 않은 FX에 대한 개정 절차 및 별도의 GL.
- 반올림 및 저장 정확도 세트를 테스트합니다.
요약
다중 서적은 계층 분리 분야입니다. 제품의 역사적 FX, trejerie의 경우 실제, 대차 대조표의 EOD 재평가. 투명한 요율 소스, 정확한 데이터 모델, 이중 입력 및 자동 조정을 통해 분석에서 "통화 노이즈" 를 제거하고 감사를 제공하며 글로벌 수익 창출에서 FX 위험을 관리합니다.