GH GambleHub

FX: conversão e riscos cambiais

1) Por que controlar FX em iGaming

Relatórios P&L exatos: onde os lucros FX/perdas (depósitos, conclusões, setlment PSP, reservas) surgem.
Justo ND/GRR/NGR: relatório único currency sem «reavaliações retroativas».
Liquidez e cash flow: funding na moeda A, pagamentos em B - precisa de previsão e hedge.
Complaens/impostos: origem transparente dos cursos e auditoria de vestígios.

2) Os pontos-chave onde FX nasce

1. Carteira de jogo vs moeda de depósito - normalização na moeda de carteira/reportagem.
2. Capture/setle em PSP: Fixa um curso «histórico» para ND.
3. Funding (inscrição no banco): Pode haver uma taxa de câmbio diferente e efeito FX secundário.
4. Withdrawals: conversão no pagamento do jogador.
5. Reserva de rolling e multas de esquema: cancelamentos/lançamentos podem ser em outra moeda.
6. Kripto: avaliação de VWAP/mediana no momento do setle/funding.

3) Fontes de cursos e regras de normalização

Fonte FX: provedores de arbitragem prioritários (como CME/Refinitiv/ECB), banco de reserva/PSP.
Quote policy: `mid`, `bid/ask` или `mid ± spread_bps`. É mais comum aplicar mid + explícito 'spread _ bps' para a contabilidade.
Timestamp: Curso no momento do evento de reconhecimento (normalmente 'sensled _ at' para ND; opcional 'funded _ at' para banco-contabilidade).
No restatement: ND passado não é superestimado quando os cursos são alterados; reval é feito separadamente como unrealizador FX.
Precisão: Armazenamento de 8 a 10 caracteres no curso FX, quantias em dinheiro em minor units (integrers) + scale.

4) Fórmulas e exemplos

4. 1. Conversão básica

Deixe 'amount _ original' em 'ccy _ origg', moeda de relatório 'ccy _ rep', curso 'fx (ccy_orig→ccy_rep)':

amount_reporting = round(amount_original fx, scale_ccy_rep)

4. 2. Taxa de câmbio cruzada (via moeda-âncora, como EUR)


fx(GBP→UAH) = fx(GBP→EUR) fx(EUR→UAH)

É importante armazenar o itinerário do curso em 'meta' para a auditoria.

4. 3. Separação do spread e comissão PSP

Se o PSP converteu ele mesmo:

fx_effective = settlement_amount_in_rep / original_amount spread_bps  = (fx_effective / fx_reference - 1) 10_000 fee_fx    = settlement_fee_in_rep (если отдельно)

Armazene o efetivo FX e o reference FX para medir a margem implicit PSP.

4. 4. Exemplo (cadeia dupla conversão)

O jogador depõe 100 GBP. Reporting — EUR.
На `settled_at`: `GBP→EUR = 1. 1700` → `ND_dep = 117. 00 EUR`.
O PSP financia o banco no USD amanhã: 'GBP→USD = 1. 3000, o banco mantém a conta em USD.
Para a contabilidade FI, fixe também o curso secundário 'USD→EUR' em 'funded _ at' (por exemplo, 0. 9200) para ver o realizador FX entre setle e funding, se a posição monetária for superestimada.

5) DCC, conversão PSP e «quem decide o curso»

DCC (Dinamic Currency Conversion) para Merchant/PSP: O curso é exibido com antecedência ao jogador, mas a margem é maior.
PSP-conversion: O PSP aceita a moeda do jogador, transforma em moeda o merçante na sua taxa de câmbio. A transparência do spread é crítica.
Merchant-conversion: O merchant aceita multivalência (multi-MID/multi), a conversão é feita por um banco/trigeri no melhor curso (normalmente mais vantajoso, mas mais difícil operacionalmente).
Recomendação: fixe conversion _ owner ('DCC', 'PSP', 'MERCHANT') e compare TCO (spread + fee).

6) Cripto: avaliação e volatilidade

Avaliação de VWAP em uma janela curta em torno de 'sensled _ at' (por exemplo, se for de uns 5 minutos), indicando a origem (bolsa/provedor).
Guarde "price _ usd'," price _ eur "," fonte "," window "," pair "(por exemplo," USDT/USDC/BTC ").
Para funding em bits/fiat - segunda camada FX.
Especificidades: espólios, delistings, fees on-chain - leve em conta «meta» e alertas.

7) Contabilidade de FX em relatórios: realizador vs unrealizável

Realized FX é a diferença «fechada» pelo fluxo de dinheiro (entre a taxa de reconhecimento e a taxa de câmbio real/receita).
Unrealized FX - reavaliação dos saldos nas contas de moedas/reserva no final do dia/mês.
Espalhe em várias contas GL: 'FX _ realizável', 'FX _ unrealizável'.
Para os analistas de ND/alimentos, use o curso histórico do evento (não exagere).

8) Tipos de exposição FX e como fechá-los

Mudança de divisas de entrada/saída (depósito EUR → saída TRY).

Medidas: natural hedge (selecionar o valor da moeda), envelope rápido de acordo com as regras.
Translation exposure: multifunção e reservas em moedas diferentes reval.
Economic exposure: Dependência de longo prazo de margem do curso (micos GEO, fornecedores de jogos).

Medidas: forwards/NDF, opções (collars), equilíbrio GEO e fornecedores.

9) Processos e políticas de traquejo

FX policy: limites para posição aberta em cada moeda (por exemplo, no máximo 20% da circulação semanal).
Execução rulas: volume mínimo de transação, spreads de prata, lista de contêineres.
Forecasting: 7/30/90 dias de previsão de necessidades netas de moedas (depósitos - conclusões - impostos - OREC).
Hedge accounting (se necessário): documentação da relação «posição hedge ↔ risco».
Calendário de feriados afeta funding/rolling reserve e «encerramento» FX.

10) Dados e modelo (simplificado)


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) Controle e controle de qualidade

11. 1. Alinhamento dos nossos cursos com o PSP/banco

Mapeie 'fx _ effectiva' (de masslement) com 'fx _ reference' (da sua guia de referência).
Alert se '| spread _ bps |> threshold' (por exemplo,> 80 bps para maiores).

11. 2. Qualidade da origem dos cursos

State-rates: se 'now - fx _ timestamp> X minutos' quando o evento chegar, alert e fonte de emergência.
Discrepâncias de triangulação: 'fx (A→B) fx (B→C)' vs 'fx (A→C)' - alert, logue a discrepância no bps.

12) Exemplos de modelos SQL

12. 1. Normalizar transações em moedas relatadas

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. Decomposição do efeito FX PSP (effectiva vs reference)

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. Reavaliação diária de sobras de moedas (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 e dashboards

FX Slippage (bps): diferença de efetivo vs reference por PSP/método/MID.
Realized FX P&L (dia/semana/mês) e Unrealized FX (EoD/EoM).
Open FX Position vs limites de política.
Hedge Ratio: proporção de posição coberta (forwards/NDF/opções).
Stale-rate Incidents и Triangulation Mismatch.
Spread% of Volume (quanto custou FX em relação ao volume processado).

14) Alertas e liminares

State rates: nenhum curso relevante> N minutos no pico de tráfego - P1.
Spread spike: 'spread _ bps' acima do limite para maiores/menores - P2.
Open position breach: ultrapassar o limite de qualquer moeda - P1.
FX P&L choque: realizador diurno FX abaixo - X histórico - investigação.
Crypto price gap: salto> Y% da janela VWAP - Alteração da origem/interrupção do envelope.

15) Best pratices (curta)

1. Reconheça o ND e as métricas de alimentos em um curso sensled, sem revalidação retrospectiva.
2. Para FI/Trejeri, guarde o segundo curso no funded _ at - veja o realizador FX.
3. Fixe sempre conversion _ owner, fx _ fonte, cote _ tipo, spread _ bps.
4. Faça a triangulação através da âncora (EUR/USD) com o loging.
5. Divida realizações e unrealizações em nível GL.
6. Em cripto - Use uma janela VWAP em vez de um tique.
7. Automatize as alertas em stale rates e o spread anormal PSP.
8. Preveja a necessidade de moedas netas e use natural hedge + avanços/NDF.

16) Folha de cheque de implementação

  • Guia de cursos 'ref. fx _ rates's EOD e intraday, armazenamento de origem e cote tipo.
  • Витрины `transactions_flat`, `fx_settlement_view`, `funding_receipts`.
  • Triangulação mecânica e registro de itinerário de cursos.
  • Contabilidade FX de dois níveis (ND/produto vs FI/trechos).
  • Reval diário de sobras de moedas.
  • Dashboards KPI (slippage, open position, FX P&L).
  • Política FX: limites de posição, lista white, liminares de alertas.
  • Processo de hedging (forwards/NDF/opções) e circulação de documentos.

Currículo

O FX no iGaming não é apenas um «curso multiplicar por um valor». Este é um sistema inteiro: pontos claros de reconhecimento, fontes transparentes de cursos, contabilidade dividida de realização/unrealização, controle do spread PSP e posição aberta controlada. Introduzindo o guia padrão FX, a normalização «por setle», os procedimentos reval e a política FX compreensível com ferramentas de hedge, você tira a volatilidade do P&L e torna os fluxos de dinheiro previsíveis.

Contact

Entrar em contacto

Contacte-nos para qualquer questão ou necessidade de apoio.Estamos sempre prontos para ajudar!

Telegram
@Gamble_GC
Iniciar integração

O Email é obrigatório. Telegram ou WhatsApp — opcionais.

O seu nome opcional
Email opcional
Assunto opcional
Mensagem opcional
Telegram opcional
@
Se indicar Telegram — responderemos também por lá.
WhatsApp opcional
Formato: +indicativo e número (ex.: +351XXXXXXXXX).

Ao clicar, concorda com o tratamento dos seus dados.