GH GambleHub

多种货币书籍和课程

1)什么是"多元货币书籍"

书籍(ledger)是同时以多种货币运行的双记录(双向布线)交易leder:
  • 钱包书:玩家帐户(游戏货币/货币)。
  • Settlement Book:使用PSP/equairer(settlement货币)进行计算。
  • 国债:银行账户,转换,对冲交易。
  • Reporting Book:报告货币(例如EUR)库存,无需回顾性重新评估产品指标。

每本书都记录了认可时的交易货币,表示货币和汇率。

2)货币和政策等级

1.Base/Reporting Currency是单一报告货币(例如EUR)。
2.钱包货币-钱包货币(USD/EUR/TRY/UAH等)。
3.Settlement Currencies-PSP发送的内容(例如USD)。
4.Bank Currencies是商人/国库帐户的货币。

规则:
  • 产品指标(ND/NGR/ARPPU)是根据事件的历史过程(通常为"定位_at")进行的。
  • 财务/曲线-还记录了"funded_at"和"payout_at"的课程。
  • 禁止在杂货店橱窗进行"隐藏"重估。

3)课程及其来源

Intraday reference (tick/minute): Refinitiv/ECB/bank-用于事件正常化。
EOD(一天结束):用于重新评估余额(未实现的外汇)。
Effective FX:来自PSP/bank文件(转换事实)。
Triangulation:在没有直接报价的情况下通过锚点(EUR或USD)。
Quote policy: `mid` либо `bid/ask` → `mid ± spread_bps`.传播是分开存储的。

存储:"fx_source","fx_pair","fx_rate","fx_timestamp","quote_type","spread_bps"和三角路线。

4)认可点和课程层

"authorize_at"-课程不固定(没有捕获没有识别)。
"captured/settled_at"是食品层和ND的历史课程。
"funded_at"是银行的收益率(FI/treasury的FX实行)。
"payout_at"是支付给玩家的课程。
'eod'是重新评估残差(未实现的FX)的一天结束课程。

5)精度,四舍五入,最小单位

金钱是货币目录中的整个小单位(int)+"规模"。
课程-分号后至少8-10个符号。
四舍五入:银行(半场报告);在UI中-本地规则。
保持不同的字段:'amount_original'、'amount_wallet'、'amount_reporting'、'amount_effective'。

6)双重记录和GL卡(简化)

布线示例:

6.1.DEPOSIT_CAPTURED(GBP,报告-EUR)

Dt: AR: PSP (GBP)

Ct: 玩家平衡(钱包GBP/EUR)

并行捕获"fx_rate_settle (GBP→EUR)"和"amount_reporting"。

6.2.FUNDING_RECEIVED(每银行美元)

Dt: Bank USD

Ct:AR:PSP GBP(等效关闭;差值→ Realized FX)。

6.3.WITHDRAWAL_PAID (TRY)

Дт: Liability: Player (TRY)

Ct:银行TRY(或Bank EUR+转换;区分-realized 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.Ingest原料→ PSP状态正常化。
2.从"fx_rates_intraday"在"settled_at"上分配历史课程。
3.将双线写入所需书籍(wallet/settlement)。
4.单独导入funding和effective FX。
5."fx_rates_eod"(宝藏)上的每日残差。
6.无需复古重新评估即可构建店面(ND/NGR/LTV)。

9)核对与一致性

Tx→File:所有captured/settled都已进入PSP文件(按金额/货币/日期)。
File→Tx:文件中的所有内容都反映在书籍/布线中。
FX Reference vs Effective:计数"slippage_bps";超出门槛的警报。
Triangulation检查:bps-tolerance内的'A→B B→C' ≈ 'A→C'。
相似性:"event_id"和"idempotency_key"是双倍保护。

10)频繁的场景以及如何运行它们

多钱包:玩家的钱包可以是存款以外的货币-根据您的汇率进行内部转换(政策"conversion_owner='MERCHANT")。
PSP转换:存储"fx_effective"、"fx_reference"和"spread_bps"以分析PSP保证金。
加密:VWAP窗口得分;Stables中的funding是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.余额EOD重估(未实现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和dashbords

PSP/方法/MID的FX Slippage(bps)。

Realized FX P&L (funding/payout) и Unrealized FX (EOD/EOM).

按货币计算的Open FX Position vs政策限制。
"按时接收"课程的命中率(等级事件)。
PSP转换与商用转换及其TCO的份额。
四舍五入的准确性(1小单位≥和的偏差-标志)。

13)Alerta和急流

Stale rate:事件发生时没有课程→后退源/后退。
Triangulation mismatch:分歧>X bps。
Spread spike:"spread_bps"高于专业/主机的阈值。
开放位置突破:超过任何货币的上限。
Reval shock:白天重新评估<− X σ或>+X σ-评论。

14)最佳实践(简称)

1.严格分离产品层(历史FX)和FI/treasury (funding/payout/reval)。
2.使用小单位并以高精度存储课程。
3.绘制conversion_owner并测量PSP(效果与参考)的利润率。
4.实现事件的等效性和双向对账(Tx→File和File→Tx)。
5.保存anchor货币以进行triangulation,并验证bps中的差异。
6.通过单独的GL进行EOD程序来重新评估残留物。
7.将课程分配到settle/funding时考虑到DST/时间段。
8.定期测试四舍五入(在尺度边界上基于属性的测试)。

15)实施支票

  • 定义了报告货币和历史FX政策。
  • 课程来源:intraday+EOD、fallback和SLA更新。
  • "ledger"模型。entries`, `fx_rates_`, `funding_receipts`, `balances`, витрина `transactions_flat`.
  • triangulation机制和路线日志。
[] Алерты: stale-rates, spread spike, triangulation mismatch, open position breach.
  • KPI Dashbords和与PSP/银行的对账行为。
  • realized/unrealized FX的reval程序和GL分离。
  • 四舍五入和存储精度测试集。

总结

多种货币书籍是分层学科:产品的历史性FX,信标的实际值,资产负债表的EOD重估值。借助透明的课程来源、精确的数据模型、双记录和自动对账,您可以从分析中消除"货币噪音",提供审计,并在全球货币化过程中获得可管理的FX风险。

Contact

联系我们

如需任何咨询或支持,请随时联系我们。我们随时准备提供帮助!

Telegram
@Gamble_GC
开始集成

Email — 必填。Telegram 或 WhatsApp — 可选

您的姓名 可选
Email 可选
主题 可选
消息内容 可选
Telegram 可选
@
如果填写 Telegram,我们也会在 Telegram 回复您。
WhatsApp 可选
格式:+国家代码 + 号码(例如:+86XXXXXXXXX)。

点击按钮即表示您同意数据处理。