Βιβλία και μαθήματα πολλαπλών νομισμάτων
1) Ποια είναι τα «βιβλία πολλαπλών νομισμάτων»
Λογιστικό βιβλίο - ένα βιβλίο συναλλαγών διπλής εισόδου (αμφίδρομες δημοσιεύσεις) που διατηρείται σε διάφορα νομίσματα ταυτόχρονα:- Βιβλίο πορτοφολιών: λογαριασμός παίκτη (νόμισμα παιχνιδιού/νομίσματα).
- Χαρτοφυλάκιο διακανονισμού: διακανονισμοί με ΠΥΠ/αποκτώντα (νόμισμα διακανονισμού).
- Κρατικό βιβλίο: τραπεζικοί λογαριασμοί, μετατροπές, συμφωνίες αντιστάθμισης κινδύνου.
- Λογιστική υποβολή: περίληψη σε νόμισμα παροχής στοιχείων (για παράδειγμα, ευρώ) χωρίς αναδρομική αναπροσαρμογή της αξίας των μετρήσεων προϊόντος.
Κάθε βιβλίο καταγράφει το νόμισμα συναλλαγής, το νόμισμα παρουσίασης και την ισοτιμία κατά τη στιγμή της αναγνώρισης.
2) Ιεράρχηση νομισμάτων και πολιτικών
1. Βάση/νόμισμα αναφοράς - ενιαίο νόμισμα παροχής στοιχείων (για παράδειγμα, ευρώ).
2. Νομίσματα πορτοφολιών - νομίσματα πορτοφολιών (USD/EUR/TRY/UAH κ.λπ.).
3. Νομίσματα διακανονισμού - τι στέλνει ο πάροχος υπηρεσιών πληρωμών (για παράδειγμα, USD).
4. Τραπεζικά νομίσματα - νόμισμα εμπορικού/κρατικού λογαριασμού.
- Μετρήσεις προϊόντων (ND/NGR/ARPPU) - με το ιστορικό ρυθμό του γεγονότος (συνήθως «settled _ at»).
- Χρηματοδότηση/θησαυροφυλάκια - επιπλέον καθορίστε το μάθημα για "χρηματοδοτούμενο _ at" και "payout _ a .
- Απαγορεύεται η «κρυφή» αναπροσαρμογή της αξίας στις οθόνες τροφίμων.
3) Μαθήματα και πηγές τους
Ενδοημερήσια αναφορά (tick/minute): Refinitiv/ΕΚΤ/τράπεζες - για την ομαλοποίηση των γεγονότων.
EOD (τέλος της ημέρας): για μη πραγματοποιηθέντα FX.
Αποτελεσματικό FX: από αρχείο PSP/τράπεζας (πραγματική μετατροπή).
Τριγωνοποίηση: μέσω άγκυρας (EUR ή USD) ελλείψει άμεσης διαμόρφωσης τιμών.
Πολιτική παραθέσεων: "mid" либо "προσφορά/ερώτηση" → "mid ± spread_bps'. Η διασπορά αποθηκεύεται χωριστά.
Αποθήκευση: 'fx _ source', 'fx _ pair', 'fx _ rate', 'fx _ timestamp', 'time _ type', 'spread _ bps' και triangulation route.
4) Σημεία αναγνώρισης και επίπεδα πορείας
'authorize _ a - δεν διορθώνουμε την πορεία (δεν υπάρχει αναγνώριση χωρίς σύλληψη).
'captured/settled _ a - ιστορική πορεία για το στρώμα του προϊόντος και τη ΒΔ.
«funded _ at» - συναλλαγματική ισοτιμία ανά τράπεζα (πραγματοποιηθέν FX για FI/δημόσιο ταμείο).
'payout _ at' - επιτόκιο όταν καταβάλλεται στον παίκτη.
"eo is the end-of-day rate for unrealized FX.
5) Ακρίβεια, στρογγυλοποίηση, ελάχιστες μονάδες
Χρήμα - ολόκληρες μονάδες ήσσονος σημασίας (int) + «κλίμακα» στον κατάλογο νομισμάτων.
Μαθήματα - τουλάχιστον 8-10 δεκαδικά ψηφία.
Στρογγυλοποίηση: τράπεζα (κατά το ήμισυ) για την υποβολή εκθέσεων. στην UI - τοπικοί κανόνες.
Διατήρηση ξεχωριστών πεδίων: 'ποσό _ αρχικό', 'ποσό _ πορτοφόλι', 'ποσό _ αναφορά', 'ποσό _ πραγματικό'.
6) Διπλή καταχώριση και κάρτα ΓΠ (απλουστευμένη)
Παραδείγματα αναρτήσεων:6. 1. (GBP, υποβολή εκθέσεων - EUR)
JT: AR: PSP (GBP)
Ct: Ισοζύγιο παίκτη (GBP/EUR ανά πορτοφόλι)
Παράλληλα, ορίστε το «fx _ rate _ settle (GBP→EUR)» και το «ποσό _ reporting».
6. 2. (USD ανά τράπεζα)
Dt: Τραπεζικό δολάριο ΗΠΑ
Ct: AR: PSP GBP (πλησίον κατά ισοδύναμο· Διαφορά → Realized FX).
6. 3. (ΔΟΚΙΜΑΣΙΑ)
: Ευθύνη: Παίκτης (TRY)
Ct: Τράπεζα TRY (ή Τράπεζα 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. Ανάθεση ιστορικού επιτοκίου σε 'settled _ at' από 'fx _ rates _ intraday'.
3. Εγγραφή διπλής συναλλαγής στο επιθυμητό βιβλίο (πορτοφόλι/διακανονισμός).
4. Χωριστή χρηματοδότηση εισαγωγών και πραγματικό FX.
5. Καθημερινή αναπροσαρμογή των υπολοίπων κατά fx _ rates _ eod.
6. Κατασκευή παραθύρων καταστημάτων (ND/NGR/LTV) χωρίς επανεκτίμηση.
9) Συμφιλίωση και συνέπεια
: όλα τα συλληφθέντα/διακανονισμένα ήταν στο αρχείο PSP (κατά ποσά/νομίσματα/ημερομηνίες).
: τα πάντα στο αρχείο αντανακλάται σε βιβλία/συναλλαγές.
FX Reference vs Efficient: αριθμός 'slippage _ bps', ειδοποίηση για υπέρβαση του ορίου.
Έλεγχος τριγωνοποίησης: 'A→B B→C' ≈ 'A→C' μέσα σε bps-tolerans.
Ταυτότητα: 'event _ id' και 'idempotency _ key' - προστασία από αντίγραφα.
10) Συχνά σενάρια και τρόπος διεξαγωγής τους
Πολλαπλό πορτοφόλι: το πορτοφόλι του παίκτη μπορεί να είναι σε διαφορετικό νόμισμα από την κατάθεση - κάνετε εσωτερική μετατροπή με την ισοτιμία σας (πολιτική 'conversion _ owner =' MERCHANT ').
Μετατροπή PSP: αποθήκευση 'fx _ efficient', 'fx _ reference' και 'spread _ bps' για ανάλυση περιθωρίου PSP.
Βαθμολογία παραθύρου VWAP Η χρηματοδότηση στους στάβλους είναι το δεύτερο στρώμα FX.
Cross-wallet transfer: κίνηση εντός της πλατφόρμας - χωρίς εισόδημα 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 και ταμπλό
FX ολίσθηση (bps) ανά PSP/μέθοδο/MID.
Πραγματοποιήθηκαν FX P&L (χρηματοδότηση/πληρωμή) и Unrealized FX (EOD/EOM).
Ανοικτή θέση FX ανά νόμισμα έναντι ορίων πολιτικής.
Κύκλοι μαθημάτων «on time» (bale-rate events).
Μερίδιο μετατροπής PSP έναντι μετατροπής Merchant και TCO.
Ακρίβεια στρογγυλοποίησης (αποκλίσεις ποσών ≥ 1 ήσσονος σημασίας μονάδα - σημαία).
13) Καταχωρίσεις και κατώτατα όρια
Bale rate: καμία τιμή κατά τη στιγμή του γεγονότος - οπισθοπορεία πηγή/retray.
Αναντιστοιχία τριγωνισμού: απόκλιση> X bps.
Spread spike: 'spread _ bps' πάνω από το κατώφλι σε μεγάλες/μεγάλες επιχειρήσεις.
Παραβίαση ανοικτής θέσης: υπέρβαση του ορίου για οποιοδήποτε νόμισμα.
Αναπροσαρμογή: ημερήσια αναπροσαρμογή <− X σ ή> + X σ - αναθεώρηση.
14) Βέλτιστες πρακτικές (σύντομες)
1. Να διαχωριστεί αυστηρά το επίπεδο προϊόντος (ιστορικό FX) και το FI/δημόσιο ταμείο (χρηματοδότηση/πληρωμή/reval).
2. Χρησιμοποιήστε μικρές μονάδες και αποθηκεύστε μαθήματα με υψηλή ακρίβεια.
3. Καταγραφή της conversion_owner και μέτρηση του περιθωρίου PSP (πραγματική έναντι αναφοράς).
4. Εφαρμογή ιδεολογικότητας γεγονότος και αμφίδρομης συμφιλίωσης (Tx→File και File→Tx).
5. Κρατήστε το νόμισμα αγκύρωσης για τριγωνοποίηση και επικυρώστε τις διαφορές σε bps.
6. Επανεκτίμηση των υπολοίπων με διαδικασία EOD με χωριστό ΓΠ.
7. Κατά την ανάθεση μαθημάτων για διακανονισμό/χρηματοδότηση, εξετάστε τις θερινές θερινές ώρες/χρονικές ζώνες.
8. Τακτικές δοκιμές με βάση ιδιότητες σε όρια κλίμακας.
15) Κατάλογος ελέγχου εφαρμογής
- Καθορισμός του νομίσματος αναφοράς και της ιστορικής πολιτικής FX.
- Πηγές μαθημάτων: ενδοημερήσια + EOD, εφεδρικές και SLA επικαιροποιήσεις.
- Μοντέλα 'ledger. καταχωρίσεις "," fx _ rates _ "," funding _ recipts "," research ", витрина" trades _ flat ".
- Μηχανισμός τριγωνοποίησης και ημερολόγιο διαδρομής.
- Алерты: μπαγιάτικοι συντελεστές, ακίδα διασποράς, αναντιστοιχία τριγωνοποίησης, παραβίαση ανοικτής θέσης.
- Ταμιευτήρια του KPI και εκθέσεις συμφιλίωσης PSP/τραπεζών.
- διαδικασίες αναθεώρησης και χωριστά GL για πραγματοποιηθέντα/μη πραγματοποιηθέντα FX.
- Σύνολα δοκιμών στρογγυλοποίησης και ακρίβειας αποθήκευσης.
Περίληψη
Τα βιβλία πολλαπλών νομισμάτων είναι μια πειθαρχία διαχωρισμού στρώματος: ιστορικό FX για ένα προϊόν, πραγματικό για ένα trejerie, αναπροσαρμογή EOD για τους ισολογισμούς. Με διαφανείς πηγές επιτοκίου, ένα ακριβές μοντέλο δεδομένων, διπλή είσοδο και αυτοματοποιημένη συμφιλίωση, θα εξαλείψετε τον «θόρυβο νομίσματος» από την ανάλυση, θα παράσχετε έλεγχο, και θα πάρετε διαχείριση FX κινδύνου στην παγκόσμια χρηματοποίηση.