feat: add market data architecture and complete migration through build 039

This commit is contained in:
2026-07-14 09:58:16 +03:00
parent 26deb861bc
commit a996f2f797
443 changed files with 80452 additions and 1335 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,246 @@
# Dzengi Market Intelligence Information Mapping
## Контроль документа
| Свойство | Значение |
|----------|----------|
| Документ | Dzengi Market Intelligence Information Mapping |
| Тип документа | Information Mapping |
| Версия | 1.0 |
| Статус | Draft |
| Степень верификации | Documentation Based |
| Проект | Dzentra |
| Подсистема | Market Intelligence |
| Источник | Dzengi API |
| Язык | Русский |
---
## Статус документа
Настоящий документ определяет соответствие между техническими данными, предоставляемыми API Dzengi, и информационными сущностями подсистемы Market Intelligence.
Документ построен на основании **Dzengi Market Data Inventory** и не содержит интерпретации состояния рынка.
До выпуска версии Release допускается уточнение состава информационных сущностей и их соответствия данным API по результатам проверки фактических ответов биржи.
---
## Степень верификации
Настоящая редакция документа построена на основании:
- Dzengi Market Data Inventory;
- официальной документации Dzengi;
- OpenAPI (Swagger);
- официальных примеров запросов;
- официальных примеров ответов.
Фактическая проверка информационных сущностей посредством выполнения реальных запросов к бирже Dzengi на момент подготовки настоящей редакции документа не проводилась.
По этой причине:
- соответствие информационных сущностей данным API считается соответствующим официальной документации;
- состав используемых полей считается соответствующим официальной документации;
- описание информационных сущностей основано исключительно на опубликованной спецификации API.
Настоящий документ имеет статус **Documentation Verified**.
После проверки информационных сущностей посредством выполнения реальных запросов и анализа фактических ответов API документ получит статус **Runtime Verified**.
Все расхождения между документацией и фактическим поведением API должны фиксироваться в последующих редакциях настоящего документа.
---
## Назначение
Настоящий документ предназначен для формирования единого слоя информационных сущностей Market Intelligence на основании возможностей API Dzengi.
Документ определяет:
- какие информационные сущности могут быть получены из Dzengi;
- какие информационные сущности могут быть автоматически вычислены;
- какие поля API являются источниками каждой информационной сущности;
- канонические имена информационных сущностей;
- канонические идентификаторы информационных сущностей.
Настоящий документ не определяет:
- знания о рынке;
- интерпретацию информации;
- алгоритмы анализа рынка;
- архитектуру Engine;
- торговые стратегии;
- правила принятия торговых решений.
---
## Цель
Цель настоящего документа — сформировать полный каталог информационных сущностей, потенциально доступных подсистеме Market Intelligence при использовании API Dzengi.
---
## Основной вопрос документа
Настоящий документ отвечает исключительно на следующий вопрос.
> **Какие информационные сущности Market Intelligence могут быть получены или автоматически вычислены на основании данных Dzengi API?**
---
## Источник информации
Настоящий документ построен на основании следующих источников.
- Dzengi Market Data Inventory;
- REST API Documentation;
- WebSocket Request API Documentation;
- WebSocket Stream API Documentation;
- OpenAPI (Swagger) Specification;
- официальных примеров запросов;
- официальных примеров ответов.
Настоящий документ не использует предположения о состоянии рынка и не содержит результатов аналитической интерпретации данных.
---
## Связь с архитектурой Dzentra
Настоящий документ является вторым уровнем архитектуры знаний подсистемы Market Intelligence.
```text
Dzengi API
Dzengi Market Data Inventory
Dzengi Market Intelligence Information Mapping
Dzentra Market Intelligence Information Model
Dzentra Market Knowledge Catalogue
```
---
## Границы документа
Настоящий документ описывает исключительно информационные сущности, относящиеся к подсистеме Market Intelligence.
Документ не содержит:
- описания операций API;
- внутренних моделей данных Dzentra;
- знаний о рынке;
- правил анализа;
- правил торговли;
- архитектуры Engine.
---
## Термины и определения
*Derived* — информация, автоматически вычисляемая на основании одной или нескольких информационных сущностей.
*Endpoint* — операция API, предоставляющая доступ к данным или сервису.
*Information ID* — канонический идентификатор информационной сущности, используемый во всей платформе Dzentra.
*JSON Path* — путь к полю внутри JSON-ответа API.
*Observed* — информация, непосредственно получаемая из внешнего источника данных без дополнительных вычислений.
---
## Правила Mapping
---
## Стандарт спецификации информационной сущности
Все информационные сущности настоящего документа описываются по единому шаблону.
```text
### <information_id>
#### Определение
...
#### Тип информации
Observed | Derived
#### Источники информации
| Endpoint | Поле ответа (JSON Path) | Контекст получения |
|----------|-------------------------|--------------------|
#### Зависимости
...
#### Использование в Dzentra
...
#### Примечания
...
```
---
## Содержание
---
## Информационные сущности
### best_ask_price
#### Определение
Лучшая доступная цена продажи (Ask) финансового инструмента в текущем состоянии рынка.
#### Тип информации
Observed
#### Статус исследования
🟡 Частично подтверждено.
#### Подтвержденные источники
| Транспорт | Endpoint | Поле ответа (JSON Path) |
|-----------|----------|-------------------------|
| REST | `/api/v1/depth` | `asks[0][0]` |
| WSS Request | `/api/v1/depth` | `payload.asks[0][0]` |
| WSS Stream | `marketData.subscribe` | `payload.ofr` |
#### Исследуемые источники
| Транспорт | Endpoint | Поле ответа (JSON Path) | Статус |
|-----------|----------|-------------------------|--------|
| REST | `/api/v1/ticker/24hr` | `askPrice` | Требует подтверждения эквивалентности |
#### Зависимости
Отсутствуют.
#### Использование в Dzentra
> **Не определяется настоящим документом.**
#### Примечания
Настоящая информационная сущность формируется по результатам исследования фактических ответов API Dzengi.
Подтверждено, что REST `/api/v1/depth`, WSS Request `/api/v1/depth` и WSS Stream `marketData.subscribe` предоставляют одну и ту же информацию о лучшей цене продажи, отличаясь только способом получения данных.
Эквивалентность поля `askPrice` endpoint `/api/v1/ticker/24hr` на момент подготовки настоящей редакции документа не подтверждена и требует дополнительного исследования.

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,295 @@
# Dzentra Market Information Catalogue
## Контроль документа
| Свойство | Значение |
|----------|----------|
| Документ | Dzentra Market Information Catalogue |
| Тип документа | Information Catalogue |
| Версия | 0.1 |
| Статус | Draft |
| Проект | Dzentra |
| Подсистема | Market Intelligence |
| Язык | Русский |
---
## Статус документа
Настоящий документ определяет официальный реестр информационных показателей и информационных объектов, используемых для понимания рынка криптовалют.
Документ разрабатывается на основании **Dzentra Market Information Catalogue Architecture Charter**.
---
## Назначение
Настоящий документ определяет информацию, которая может использоваться подсистемой **Market Intelligence** для формирования знаний о рынке криптовалют.
Catalogue описывает:
- информационные показатели;
- информационные объекты;
- их официальные наименования;
- канонические имена Dzentra;
- определения;
- возможные источники получения;
- периодичность обновления;
- связи между показателями и объектами.
---
## Область применения
Документ применяется при:
- построении информационной модели Market Intelligence;
- разработке Market Knowledge Catalogue;
- разработке Market Intelligence Reference Model;
- проектировании Knowledge Architecture;
- проектировании Engine Specifications;
- проверке новых информационных сущностей.
---
## Что не входит в область документа
Документ не определяет:
- знания о рынке;
- торговые сигналы;
- торговые стратегии;
- правила принятия решений;
- алгоритмы анализа;
- индикаторы;
- программную реализацию;
- источники данных как самостоятельные сущности.
---
## Цель
Цель документа — определить автоматически доступную или автоматически вычисляемую информацию, способную повысить качество понимания текущего состояния рынка криптовалют.
---
## Основной вопрос документа
> **Какая информация наиболее существенно влияет на качество понимания текущего состояния рынка криптовалют?**
---
# Принцип ранжирования
Информационные сущности располагаются по степени их вклада в качество понимания рынка.
Критерий ранжирования:
> **Насколько ухудшится способность системы понимать рынок, если данная информация будет полностью недоступна?**
Чем сильнее ухудшается качество модели рынка при отсутствии сущности, тем выше её место в Catalogue.
---
# Часть I. Информационные показатели
Настоящая часть содержит реестр информационных показателей Dzentra.
Информационный показатель — самостоятельная наблюдаемая характеристика предметной области, имеющая собственное значение.
---
## 1. Цена
### Официальное наименование
Цена
### Общепринятые наименования
- Price
- Trade Price
- Market Price
### Каноническое имя Dzentra
`price`
### Определение
Цена — информационный показатель, отражающий числовое значение стоимости анализируемого торгового инструмента в определённый момент времени.
Цена является самостоятельной информационной сущностью и не зависит от других информационных показателей.
Каждое значение цены существует только относительно конкретного момента времени.
### Тип значения
Decimal
### Единица измерения
Единица котирования анализируемого торгового инструмента.
### Обоснование включения в Catalogue
Цена является одной из наиболее значимых информационных сущностей для понимания текущего состояния рынка.
Без информации о цене невозможно определить текущее положение рынка, изменение стоимости торгового инструмента и большинство характеристик рыночного поведения.
Практически все последующие знания о рынке в той или иной степени используют информацию о цене.
### Возможные источники получения
- торговая площадка;
- агрегатор рыночных данных;
- поставщик исторических данных;
- индексный провайдер.
### Периодичность обновления
Определяется источником информации.
Обновление может происходить как при каждом изменении цены, так и через фиксированные интервалы времени.
### Связанные информационные объекты
- Сделка (`trade`)
- Свеча (`candle`)
- Стакан заявок (`order_book`)
- Тикер (`ticker`)
- Индексная цена
- Маркировочная цена
### Примечания
Рассматривается как обобщённое понятие стоимости торгового инструмента.
Специализированные разновидности цены (например, цена последней сделки, лучшая цена покупки, лучшая цена продажи, индексная цена, расчётная цена и другие) рассматриваются как самостоятельные информационные показатели и описываются отдельно.
Каждое значение цены интерпретируется только совместно с моментом времени, к которому оно относится.
---
## 2. Объём
### Официальное наименование
Объём
### Общепринятые наименования
- Volume
- Trade Volume
- Trading Volume
### Каноническое имя Dzentra
`volume`
### Определение
Объём — информационный показатель, отражающий суммарное количество торгового инструмента, участвовавшего в совершённых сделках за определённый интервал времени.
Объём является самостоятельной информационной сущностью и не зависит от других информационных показателей.
В отличие от цены, объём не существует в отдельный момент времени и всегда относится к некоторому интервалу наблюдения.
### Тип значения
Decimal
### Единица измерения
Количество анализируемого торгового инструмента.
### Обоснование включения в Catalogue
Объём является одним из наиболее значимых информационных показателей для понимания текущего состояния рынка.
Информация об объёме позволяет оценить интенсивность торговой активности за рассматриваемый интервал времени и существенно повышает качество интерпретации изменения цены.
Без информации об объёме невозможно достоверно оценить значимость большинства ценовых изменений.
### Возможные источники получения
- торговая площадка;
- агрегатор рыночных данных;
- поставщик исторических данных.
### Периодичность обновления
Определяется используемым интервалом наблюдения и источником информации.
Обновление может происходить после завершения интервала либо непрерывно по мере накопления данных внутри текущего интервала.
### Связанные информационные объекты
- Сделка (`trade`)
- Свеча (`candle`)
- Тикер (`ticker`)
- Агрегированная статистика торгов
### Примечания
Рассматривается как обобщённое понятие торгового объёма.
Специализированные разновидности объёма (например, объём отдельной сделки, объём свечи, объём покупок, объём продаж, суточный объём и другие) рассматриваются как самостоятельные информационные показатели и описываются отдельно.
Каждое значение объёма интерпретируется только совместно с интервалом времени, к которому оно относится.
---
## 3. Время
### Официальное наименование
Время
### Общепринятые наименования
- Time
- Timestamp
- Event Time
- Open Time
- Close Time
### Каноническое имя Dzentra
`time`
### Определение
Время — значение момента или интервала, к которому относится информационная сущность.
### Тип значения
Datetime / Time Interval
### Единица измерения
Временная шкала.
### Возможные источники получения
- торговая площадка;
- поставщик данных;
- системное время источника;
- календарь публикаций.
### Периодичность обновления
Определяется информационным объектом или событием.
### Связанные информационные объекты
- Сделка
- Свеча
- Тикер
- Стакан заявок
- Funding Snapshot
- Макроэкономическая публикация
### Примечания
Время является обязательной координатой для сопоставления значений и построения истории рынка.

View File

@@ -0,0 +1,434 @@
# Dzentra Market Information Catalogue Architecture Charter
## Контроль документа
| Свойство | Значение |
|----------|----------|
| Документ | Dzentra Market Information Catalogue Architecture Charter |
| Тип документа | Architecture Standard |
| Версия | 0.1 |
| Статус | Release Candidate |
| Проект | Dzentra |
| Подсистема | Market Intelligence |
| Язык | Русский |
---
## Статус документа
Настоящий документ определяет архитектурные принципы проектирования **Dzentra Market Information Catalogue**.
До выпуска версии **1.0 Release** допускается изменение структуры и содержания документа при условии сохранения его архитектурной целостности.
После выпуска версии **1.0 Release** изменение документа допускается только посредством выпуска новой версии стандарта.
---
## Назначение
Настоящий документ устанавливает правила проектирования, наполнения и сопровождения **Dzentra Market Information Catalogue**.
Документ определяет:
- границы предметной области;
- архитектурные принципы;
- правила включения сущностей;
- правила описания сущностей;
- требования к терминологии;
- требования к каноническим идентификаторам;
- порядок развития Catalogue.
Настоящий документ является нормативной основой разработки и сопровождения **Dzentra Market Information Catalogue**.
---
## Область применения
Настоящий документ применяется при:
- разработке **Dzentra Market Information Catalogue**;
- добавлении информационных объектов;
- добавлении информационных показателей;
- изменении существующих сущностей Catalogue;
- архитектурной проверке изменений;
- разработке документов, использующих **Dzentra Market Information Catalogue**.
Положения настоящего документа обязательны для всех редакций **Dzentra Market Information Catalogue**.
---
## Что не входит в область документа
Настоящий документ не определяет:
- состав информационных объектов;
- состав информационных показателей;
- модель знаний;
- организацию знаний;
- онтологию;
- программную архитектуру;
- программную реализацию;
- алгоритмы анализа;
- индикаторы;
- торговые стратегии;
- принятие торговых решений;
- исполнение торговых решений.
Указанные вопросы определяются документами более низкого уровня.
---
## Цель
Цель документа — обеспечить построение единого, непротиворечивого, масштабируемого и независимого от реализации Dzentra Market Information Catalogue, содержащего информацию, обладающую практической ценностью для построения максимально достоверной модели текущего состояния рынка криптовалют.
Настоящий документ не ставит целью достижение полноты предметной области.
Catalogue развивается эволюционно по мере углубления понимания предметной области.
---
## Основной вопрос документа
Настоящий документ отвечает на следующий вопрос.
> **По каким архитектурным принципам должен проектироваться Dzentra Market Information Catalogue, чтобы содержать исключительно информацию, обладающую практической ценностью для понимания текущего состояния рынка криптовалют?**
---
# Определение Dzentra Market Information Catalogue
**Dzentra Market Information Catalogue** — единый официальный нормативный реестр информационных объектов и информационных показателей предметной области Dzentra.
Catalogue определяет состав информационной модели предметной области и является нормативной основой для всех последующих документов Knowledge Architecture.
Catalogue не определяет знания о рынке.
Catalogue определяет исключительно информацию, которая может использоваться для формирования таких знаний.
---
# Предметная область
## Объект моделирования
Предметной областью **Dzentra Market Information Catalogue** является информация, используемая для построения модели текущего состояния рынка криптовалют.
Catalogue не описывает рынок, знания о рынке или торговые решения.
Catalogue описывает исключительно информацию, которая может использоваться для построения знаний о текущем состоянии рынка.
---
## Границы предметной области
В Catalogue включается информация, которая одновременно удовлетворяет следующим условиям:
- может быть автоматически получена или автоматически вычислена системой;
- имеет объективное определение;
- не требует человеческой интерпретации;
- способна повысить качество понимания рынка криптовалют.
---
## Объекты каталогизации
Catalogue содержит только два типа сущностей:
- информационные показатели;
- информационные объекты.
Другие типы сущностей в рамках настоящего документа не рассматриваются.
---
## Информационный показатель
Информационный показатель — наблюдаемая характеристика предметной области, имеющая собственное значение и доступная для автоматического получения или вычисления системой.
---
## Информационный объект
Информационный объект — логически связанная совокупность информационных показателей, существующая как единая информационная сущность предметной области.
---
## Что не является информационной сущностью
В Catalogue не включаются:
### Элементы предметной области
- торговые инструменты;
- торговые площадки;
- типы рынков;
- валюты;
- блокчейны;
- организации;
- иные именованные сущности предметной области.
### Архитектурные и вычислительные сущности
- алгоритмы;
- модели анализа;
- индикаторы;
- торговые стратегии.
Указанные сущности относятся к словарю предметной области Dzentra и не являются частью настоящего Catalogue.
# Архитектурные принципы
## Общие принципы
### AP-001. Независимость предметной области
Catalogue описывает предметную область.
Catalogue не зависит от программной реализации, языка программирования, архитектуры системы и способов хранения данных.
---
### AP-002. Независимость от источников данных
Catalogue описывает информационные сущности независимо от способов их получения.
Конкретные источники данных являются свойствами информационных сущностей и не определяют структуру Catalogue.
---
### AP-003. Независимость от торговых площадок
Catalogue не зависит от конкретных бирж, брокеров, поставщиков данных или внешних сервисов.
---
### AP-004. Независимость от алгоритмов
Catalogue не содержит алгоритмов анализа, вычислений или обработки информации.
---
### AP-005. Независимость от торговых решений
Catalogue не содержит правил открытия, сопровождения или закрытия позиций.
---
## Принципы моделирования
### AP-006. Каталогизация
Catalogue содержит только информационные показатели и информационные объекты.
Другие типы сущностей не допускаются.
---
### AP-007. Объективность
Каждая сущность должна иметь объективное определение.
Субъективные оценки не допускаются.
---
### AP-008. Автоматическая обработка
Каждая сущность должна быть доступна для автоматического получения или автоматического вычисления системой.
---
### AP-009. Информационная ценность
Каждая сущность включается в Catalogue только в том случае, если она способна повысить качество понимания текущего состояния рынка криптовалют.
Наличие информации без практической ценности для построения модели рынка не является основанием для включения сущности в Catalogue.
---
### AP-010. Приоритет информационной ценности
Информационные показатели и информационные объекты располагаются в Catalogue по степени их вклада в качество понимания текущего состояния рынка.
Расположение сущностей не определяется происхождением информации, её предметной областью или способом получения.
---
### AP-011. Критерий ранжирования
Степень важности информационной сущности определяется ухудшением качества понимания рынка при отсутствии данной информации.
Чем сильнее отсутствие сущности ухудшает качество модели рынка, тем выше её место в Catalogue.
---
### AP-012. Однозначность
Каждая сущность имеет единственное официальное определение в рамках Dzentra.
---
## Принципы терминологии
### AP-013. Единая терминология
Для каждой сущности используется единый официальный термин Dzentra.
---
### AP-014. Общепринятая терминология
При наличии общепринятого профессионального термина он используется в качестве официального термина Dzentra.
Если термин неоднозначен, Dzentra определяет собственный официальный термин.
---
## Принципы идентификации
### AP-015. Каноническое имя
Каждая сущность имеет одно каноническое имя Dzentra.
Каноническое имя является единственным официальным именем сущности во всей платформе.
---
### AP-016. Единственность имени
Каноническое имя используется во всех документах и компонентах платформы.
Использование альтернативных имён не допускается.
Каноническое имя информационной сущности является глобальным идентификатором предметной области Dzentra. Все архитектурные документы и программные компоненты, использующие данную сущность, обязаны ссылаться на неё исключительно посредством её канонического имени.
---
## Принципы развития
### AP-017. Первичность канонического имени
Каноническое имя сущности определяется до её использования в любом документе или программной реализации.
### AP-018. Первичность документации
Любая новая сущность сначала включается в Catalogue.
До утверждения сущности в Catalogue её использование в документации, архитектуре и программной реализации не допускается.
### AP-019. Единственность сущности
Каждая информационная сущность описывается в Catalogue только один раз.
Дублирование сущностей не допускается.
### AP-020. Единственность нормативного определения
Каждое архитектурное правило определяется только в одном месте.
Повторение нормативных правил в документации не допускается.
### AP-021. Минимальная достаточность
Описание каждой сущности должно содержать только сведения, необходимые для её однозначного определения и использования в рамках Information Catalogue.
Избыточная информация не допускается.
### AP-022. Эволюционное развитие
Структура Dzentra Market Information Catalogue может изменяться в процессе развития предметной области.
Добавление новых разделов, информационных показателей и информационных объектов допускается при соблюдении требований настоящего стандарта.
### AP-023. Приоритет источников информации
При наличии нескольких источников одной и той же информационной сущности Dzentra должна определять канонический источник, информация которого считается приоритетной для формирования модели рынка.
Для информационных сущностей, непосредственно влияющих на исполнение торговых операций, каноническим источником является торговая площадка, на которой осуществляется исполнение сделок.
---
# Правила описания сущностей
## Общие требования
Каждая сущность Catalogue описывается по единому шаблону.
Изменение структуры шаблона допускается только посредством изменения настоящего стандарта.
---
## Информационный показатель
Каждый информационный показатель должен содержать:
- официальное наименование;
- общепринятые наименования (при наличии);
- каноническое имя Dzentra;
- определение;
- тип значения;
- единицу измерения (при наличии);
- обоснование включения в Catalogue;
- возможные источники получения;
- периодичность обновления;
- связанные информационные объекты;
- примечания (при необходимости).
---
## Информационный объект
Каждый информационный объект должен содержать:
- официальное наименование;
- общепринятые наименования (при наличии);
- каноническое имя Dzentra;
- определение;
- связанные информационные показатели;
- возможные источники получения;
- периодичность обновления;
- обоснование включения в Catalogue;
- примечания (при необходимости).
---
## Критерий включения сущностей
Информационная сущность может быть включена в Catalogue только при одновременном выполнении следующих условий:
- информация может быть автоматически получена или автоматически вычислена;
- информация имеет объективное определение;
- информация обладает практической ценностью для понимания текущего состояния рынка;
- информация не является торговым решением, алгоритмом или интерпретацией.
---
## Требования к определениям
Определение сущности должно:
- быть объективным;
- быть однозначным;
- не зависеть от реализации;
- не содержать алгоритмов;
- не содержать субъективных оценок.
---
## Требования к каноническим именам
Каноническое имя должно:
- быть уникальным;
- быть неизменяемым;
- использоваться во всей платформе Dzentra;
- соответствовать официальному наименованию сущности.
---
# Управление изменениями
Изменение настоящего стандарта допускается только при изменении методологии проектирования Dzentra Market Information Catalogue.
Изменение состава информационных объектов и информационных показателей не является основанием для изменения настоящего документа.