Қазынашылық: өтімділік және резервтер
TL; DR
iGaming қазынашылығы - бұл енгізу/шығару үшін әртүрлі SLA бар өтімділік «қалталарының» басқарылатын желісі (банктер, PSP, әмияндар, крипто-кастоди, мерчант-аккаунттар). Мақсаты - ең төменгі өзіндік құн кезіндегі нөлдік кассалық алшақтық: ағындардың нақты болжамы, контрагенттер мен валюталар бойынша лимиттер, резервтік саясат (операциялық буферлер + реттеуші safeguarding + стресс-резерв), prefunding және sweep-ережелер тәртібі, Time-to-Payout және Time-to-Fund бойынша SLO
1) Өтімділік картасы: деңгейлер, қалталар, ағындар
1. 1 Өтімділік деңгейлері (қолжетімділік бойынша)
L0 (T0) - жедел өтімділік: мерчант-шоттардағы операциялық қалдықтар, instant A2A/RTP, әмияндар, стейбл-резервтер, payout T0 үшін қолма-қол буферлер.
L1 (T + 1... T + 3) - қысқа көкжиектің өтімділігі: PSP/эквайерлердің есеп айырысу шоттары, бір күндік лимиттері бар банктік ағымдағы шоттар.
L2 (T + 5... T + 10) - орта көкжиектің өтімділігі: депозиттік/жинақ шоттары, қазынашылық құралдарға свиптер (T-bills, MMF), тез off-ramp бар кастодидегі стейблдердің «тұрақтары».
L3 (T + 10 +) - стратегиялық өтімділік/капитал: ұзақ депозиттер, облигациялар, резервтелген капитал.
1. 2 Өтімділік қалталары (мысал)
Bank_OPS (операциялық банк): фиаттың кіруі/шығуы, жалақы, салықтар.
PSP_MERCHANT: әдістер бойынша мерчант-аккаунттар (Card, A2A, Wallet).
PSP_SETTLEMENT: есеп айырысу/шоғырландыру шоттары (T + N).
CRYPTO_CUSTODY: он-чейн/кастоди, стейблдер және базалық активтер.
PAYOUT_POOLS: жедел төлемдерге арналған жеке пулдар.
SAFEGUARD_ACCOUNTS: реттеушінің/лицензияның талаптары бойынша сегменттелген шоттар.
1. 3 Негізгі ағындар
`Deposits → PSP_MERCHANT → Settlement → Bank_OPS`
`Bank_OPS → Payout_Pools/PSP → Withdrawals`
`On/Off-ramp ↔ Crypto_Custody`
Кесте және триггерлер бойынша 'Sweeps: L0, L1, L2'.
2) Өтімділік және резервтер саясаты
2. 1 Мақсаттары
Төлемдердің күрделі рельстеріндегі нөлдік кассалық алшақтықтар.
Өтімділікті иеленудің ең төменгі құны (комиссия, FX, жіберіп алған кіріс).
Реттеушіге сәйкестігі: safeguarding, клиенттік құралдарды сегрегациялау (қолданылатын жерде).
Ашықтық: SLO бойынша күнделікті салыстыру және дашбордтар.
2. 2 Резервтер сыныбы
1. Операциялық резерв (OpRes) - payout-шыңын және settlement өзгермелілігін жабу (мысалы, p99 күндік нетто-шығару + буфер 20-30%).
2. Реттегіш резерв (RegRes) - лицензияда талап етілетін сомалар (segregated, safeguarding, ring-fencing).
3. Стресс-резерв (StressRes) - сирек шоктарды жабу: «қос» шыңға шығу, T + N кідірісі негізгі PSP, FX-шок.
4. Техникалық резерв (TechRes) - фейловерге/инциденттерге (алаңды/биржаны/банкті қатыру).
2. 3 Қалта бойынша нысаналы қалдықтың формуласы
Target_Balance = OpRes(p99 horizon H) + RegRes + StressRes - Incoming_Settlement(T_window)
H көкжиегі мен T_window терезесі рельске байланысты (мысалы, RTP H = 1d, Card H = 3d).
3) Кассалық ағындарды болжау
3. 1 Кіріс қатарлары
Deposits by method/provider (p7/p30 маусымдылығы, апта күндері, акциялар).
Withdrawals & Payouts (жылдамдық және депозиттерге үлес, VIP/джекпоттар).
Settlement schedules (PSP/эквайерлер бойынша T + N).
FX-күнтізбе (қайта бағалау, ірі айырбастау).
Операциялық төлемдер (салықтар, комиссиялар, жалақылар).
3. 2 Үлгі (минимум)
Депо/қорытындылар үшін жергілікті өлшенген немесе SARIMA/Prophet.
Қолданбалы коэффициенттер: 'Cash-out Rate', 'Jackpot Probability', 'Promo Lift'.
Қалта бойынша нетто-позиция: 'Inflow _ psp _ settlement − Outflow_payouts ± Sweeps'.
3. 3 Болжам сапасының өлшемдері
daily нетто бойынша MAPE/WAPE.
Coverage: жоспарлы OpRes ≤ нақты шыңы болған күндердің үлесі.
Stockout Incidents: L0 ең төменгі шегінен шыққан кезде.
4) Prefunding, sweeps және толтыру ережелері
4. 1 Prefunding (рельстерді алдын ала төлеу)
instant payout рельстер мен кейбір APM үшін теңгерім қажет.
Ереже: rolling-табалдырығын ұстап тұру (мысалы, p95 соңғы аптаның күндік төлемдері) + буфер 20%.
Автотолтыру триггерлері: 'Balance <LowWatermark' → 'TopUp to Target_Balance'.
4. 2 Sweeps (свип-аудармалар)
Күнделікті: PSP_MERCHANT → Bank_OPS кейін settlement терезе.
Интрадей: Нысаналы дәліздерден ауытқу кезінде L0 L1.
L2 жағына қарай: MMF/T-Bills/стейблдердегі артық қалдықтардың түнгі свипі (L0 ≤ T + 1 қайтару саясаты).
4. 3 Жұмсау басымдықтары (waterfall)
1. Payout_Pools (T0 міндеттемелер)
2. Белгіленген мерзімді қазынашылық төлемдер (салықтар/жалақы)
3. Конвертация/ребаланс FX
4. L2/L3 инвестициялары
5) Валюталар, FX және пайыздық орта
FX-экспозиция: валюталар бойынша кіріс/шығыс теңгерімі; заттай хедж (сол валютадағы төлемдерді қолдау).
Айырбастау саясаты: ірі сомалар үшін TWAP/POV-алго, слиппаж bps, idempotent exec-id лимиттері.
L2 пайыздық кірістілігі: MMF/қысқа T-bills; контрагенттер бойынша шектеулер және ең төменгі өтімділік (T + 0/T + 1).
SLO FX-айырбастау: шешімнен орындауға дейінгі уақыт (p95 ≤ X минут), баға белгілеуді журналдау.
6) Контрагенттік тәуекел және лимиттер
Контрагентке арналған лимиттер: банк, PSP, крипто-кастоди, биржа/ОТС.
Рейтингтік матрица: капитал/лицензиялар/инциденттер/қол жетімділік/Proof-of-Reserves (крипто үшін).
Әртараптандыру: кем дегенде 2-3 провайдер сыни рельске, қалдықтарды кластерлер бойынша бөлу.
Custody-саясат: мультисиг/HSM, шығару лимиттері, мекенжайлық allow-парақтар, күнделікті салыстырулар.
7) Реттеуші және комплаенс-аспектілер
Safeguarding/segregation: клиенттік қаражат үшін жеке шоттар (талап етілетін жерде), баланстардың трекингі, араластыруға тыйым салу.
Есептілік: қалдықтар мен резервтер бойынша реттеушіге/аудитке күн сайынғы есептер.
KYC/AML: on/off-ramp контрагенттер, санкциялық скрининг, ірі аударымдар үшін SoF/SoW.
DSAR/retention: төлем іздерін және аударым журналдарын сақтау.
8) Метриктер, SLO және алерталар
8. 1 KPI
Әдістер бойынша Time-to-Payout (TtP) p95.
Пулдарды толықтыру үшін Time-to-Fund (TtF) p95.
Stockout Rate L0 (жедел өтімділік жетіспеушілігінің оқиғалары).
Cash Utilization = L0/ Target_Balance-дан төлемдер.
Idle Cash% = (Баланс − Target_Balance )/Баланс.
Counterparty Concentration = max (провайдер бойынша үлес).
FX Slippage bps, FX Cost/GGR.
Safeguard Coverage = min (сегрегацияланған шоттардың балансы/талап етілетін сома).
8. 2 Алерталар
'Balance <LowWatermark' → P1 (автотолтыру).
'Stockout Incident' → P0 (жедел төлемдер блогы/баламаны қосу).
'Counterparty Concentration> лимит' → P2 (ребаланс).
`Safeguard Coverage < 100%` → P0.
'TtF p95> SLO' → P1 (банктегі инцидент/PSP).
9) Деректер моделі (қазынашылық «қабат»)
json
{
"as_of": "2025-11-03T12:00:00Z",
"pocket_id": "PSP_MERCHANT_CARD_A",
"currency": "EUR",
"balance": 425000. 00,
"target_balance": 380000. 00,
"low_watermark": 300000. 00,
"inflows_t0": 52000. 00,
"outflows_t0": 61000. 00,
"expected_settlement_t1": 210000. 00,
"safeguard_required": 150000. 00,
"safeguard_balance": 160000. 00,
"counterparty": "Acquirer_A",
"limits": {
"counterparty_limit": 1200000. 00,
"fx_slippage_bps_limit": 5
},
"alerts": ["BALANCE_BELOW_TARGET"],
"notes": "Expect promo cash-out spike tonight"
}
Жазық факт қабаты (BI үшін):
date, pocket_id, counterparty, currency,
balance, target_balance, low_watermark,
inflows_t0, outflows_t0, expected_settlement_t1,
safeguard_required, safeguard_balance,
payout_slo_p95_sec, fund_slo_p95_sec
10) SQL кесінділері
10. 1 Қалдықтардың қозғалысы және дәліздерге түсуі
sql
SELECT date,
pocket_id,
currency,
balance,
target_balance,
low_watermark,
CASE WHEN balance < low_watermark THEN 1 ELSE 0 END AS stockout_flag,
GREATEST(0, balance - target_balance) AS idle_cash
FROM treasury_balances_daily
ORDER BY date DESC, pocket_id;
10. 2 Контрагенттер бойынша шоғырлану
sql
SELECT date,
counterparty,
SUM(balance) AS bal,
SUM(SUM(balance)) OVER (PARTITION BY date) AS bal_total,
(SUM(balance) / NULLIF(SUM(SUM(balance)) OVER (PARTITION BY date),0)) AS share
FROM treasury_balances_daily
GROUP BY 1,2
ORDER BY date DESC, share DESC;
10. 3 Safeguarding жабыны
sql
SELECT date, pocket_id, currency,
safeguard_balance, safeguard_required,
safeguard_balance / NULLIF(safeguard_required,0) AS coverage_ratio
FROM treasury_balances_daily
WHERE safeguard_required > 0;
11) Дашборд (ең аз виджеттер)
1. Қалталар heatmap: 'balance vs target vs low_watermark'.
2. Кассалық құйғыш: 'inflows/outflows/settlements' күн бойынша.
3. TtP/TtF p50/p95 әдістер/провайдерлер бойынша.
4. Counterparty concentration және алерталар.
5. Safeguard coverage: 100% сызық, бұзушылықтар.
6. FX панелі: slippage/құны, ірі айырбастау.
12) Ойнатқыштар
Шықпалар (cash-out wave)
Әрекеттер: Payout_Pools Target_Balance ұлғайту, PSP → Bank _ OPS свипін жылдамдату, high-risk үшін шығару лимиттерін уақытша төмендету, екінші instant-төлем провайдерін қосу.
PSP settlement кідірісі
Әрекеттер: StressRes белсендіру, кредиттік желі/овердрафт ашу, төлемдерді баламалы рельске уақытша қайта бөлу, PSP-дегі эскалация.
Банкті/биржаны/кастодиді мұздату
Әрекеттер: kill-switch аудармалар, қалдықтарды баламалы контрагенттерге ауыстыру, DR-жоспарды іске қосу, кілттерді/қолжетімділіктерді қайтарып алу, реттегішпен байланыс.
FX-шок/валютада асыра орындалған сұраныс
Іс-әрекеттер: натурал-хедж (сол валютадағы төлемдерді), жеделдетілген TWAP-ты қосу, «үй» валютасындағы акцияларды/бонустарды қайта бөлу.
Safeguard жабынының жетіспеушілігі
Іс-әрекеттер: сараланған шотқа қаражаттың дереу свипі, міндетті емес төлемдерді оқшаулау, реттеушіге есеп және растау.
13) Тест-кейстер (UAT/Prod-дайындық)
1. Stockout drill: p99 → пул L0 төлемдерінің шыңын имитациялау ≥ low_watermark болып қалады.
2. PSP settlement delay: + 2 күн T + N → StressRes жабады, TtP SLO-дан шықпайды.
3. FX TWAP теңсіздік: веб-хук баға белгілеуді қайталау → 1 орындау.
4. Safeguard breach: автоматты свип және non-critical төлемдерді бұғаттау.
5. Counterparty cap: провайдер бойынша лимиттен асып кету → алерт + авто-ребаланс.
6. Intraday sweep: баланс> Target_Balance + δ → L2-ге свип және табалдырықта қайту.
14) Жиі қателер және оларды болдырмау
Бір провайдер сындарлы рельске → фейловердің болмауы. Кем дегенде екеуін ұстаңыз.
OpRes → резервтерінде р-деңгейдің болмауы және жиі stockout. p95/p99 қолданыңыз.
Таңбаланбаған safeguard-шоттар → араластыру құралдары. Қатаң сегрегация мен есептілікті енгізіңіз.
settlement күнтізбе игноры → дұрыс емес мақсатты қалдықтар. PSP кестесінің ingestion бағдарламасын автоматтандырыңыз.
Қарапайым кэш L0/L1 → жоғалған кірістіліктің жоғары құны. L2 бағдарламасындағы свиптерді теңшеңіз.
Қалталардың бірыңғай тізілімі жоқ → қалдықтардың хаосы. Pocket Registry енгізіңіз.
15) Қалталар тізілімі (Pocket Registry, API нобайы)
json
{
"pocket_id": "PAYOUT_POOL_EUR",
"type": "L0",
"counterparty": "Bank_X",
"currency": "EUR",
"segregated": false,
"prefund_required": true,
"slo": { "ttp_p95_sec": 60, "ttf_p95_min": 30 },
"limits": {
"low_watermark": 200000,
"target_balance": 350000,
"counterparty_limit": 1000000
},
"sweep_policy": {
"to_l2_when_idle_cash_over": 100000,
"intraday": true
}
}
Түйіндеме
Орнықты қазынашылық - шоттар жинағы емес, бұл жүйе: стратификацияланған өтімділік деңгейлері (L0-L3), басқарылатын резервтер (OpRes/RegRes/StressRes), қатаң лимиттер және SLO, ағындарды болжау және автоматты prefunding/sweep-механика. Осылайша сіз бизнеске ең төменгі TtP бересіз, кассалық алшақтықты болдырмайсыз, капитал құнын төмендетесіз және сонымен бірге реттеуіштер мен аудит талаптарына сәйкес келесіз.