Data mapping for reporting and what reports are to be generated (DLT)
Monthly DLT value report
monthlyDLTValueReport
Final output: Database Entry
When: First day of each month, calculated for the previous month
Source: Page 14 in https://eur-lex.europa.eu/legal-content/EN/TXT/PDF/?uri=CELEX:32022R0858, Article 3 Limitations on the financial instruments admitted to trading or recorded on DLT market infrastructure
| Attribute | From where | How / Format Change |
|---|---|---|
| Monthly average market value | Monthly average = sum(daily closing price per ISIN × total supply per ISIN) per trading day / number of trading days in month. Daily closing price per ISIN: Core Payment Service ( payment.deal_id) → Indexer MarketDeal.price / MarketDeal.amount → last record per ISIN per day.Total supply per ISIN (number of instruments held on DLT): Indexer TokenOwner → sum of TokenOwner.amount per token → Registry Service (bond.isin) |
Every 6 months DLT value report
sixmonthlyDLTValueReport
Final output: Database Entry
When: First day of every six months
Source: Page 24 in https://eur-lex.europa.eu/legal-content/EN/TXT/PDF/?uri=CELEX:32022R0858, Article 11 Cooperation between operators of DLT market infrastructures, competent authorities and ESMA
| Attribute | From where | How / Format Change |
|---|---|---|
| Number of bonds | Indexer Bond → count where status != UNREGISTERED | |
| Value of bonds | Total value of bonds: Indexer TokenOwner → sum of (TokenOwner.amount × Bond.denomination) per token where Bond.status != UNREGISTERED | |
| Value of transactions | Total value of both Core Payment Service and OTC transactions. Core Payment Service: sum of ( payment.price × Indexer MarketDeal.amount) where status = DEAL_SETTLED.OTC: sum of ( TransferEvent.amount × Bond.denomination) where sender != null and receiver != null |