# Market Intelligence REST Research Standard

## Контроль документа

| Свойство | Значение |
|----------|----------|
| Документ | Market Intelligence REST Research Standard |
| Тип документа | Engineering Standard |
| Версия | 1.0 |
| Статус | Release |
| Проект | Dzentra |
| Подсистема | Market Intelligence |
| Язык | Русский |

---

# Назначение

Настоящий документ определяет единый стандарт исследования REST-источников рыночной информации.

Настоящий стандарт применяется совместно с документом:

> **Market Intelligence Research Methodology**

Методология определяет общий процесс проведения исследований.

Настоящий документ определяет перечень исследований, выполняемых для REST endpoint.

---

# Область применения

Настоящий стандарт применяется при исследовании REST endpoint, возвращающих рыночную информацию.

Примеры:

- `/api/v1/time`;
- `/api/v1/exchangeInfo`;
- `/api/v1/depth`;
- `/api/v1/ticker/24hr`;
- `/api/v1/aggTrades`;
- `/api/v1/klines`.

---

# Цель исследования

Для каждого REST endpoint необходимо определить:

- какие информационные факты предоставляет endpoint;
- какие параметры влияют на ответ;
- является ли ответ снимком состояния;
- насколько актуальны получаемые данные;
- как данные связаны с другими источниками;
- каким образом endpoint может использоваться подсистемой Market Intelligence.

---

# 1. Исследование endpoint

## 1.1 Назначение endpoint

Определить:

- [ ] официальное назначение endpoint;
- [ ] фактическое назначение по результатам исследования;
- [ ] тип возвращаемой информации;
- [ ] относится ли endpoint к Market Intelligence.

---

## 1.2 Параметры запроса

Для каждого параметра определить:

- [ ] имя параметра;
- [ ] тип;
- [ ] обязательность;
- [ ] допустимые значения;
- [ ] значение по умолчанию;
- [ ] влияние на ответ;
- [ ] ошибки при некорректном значении.

---

## 1.3 Формат ответа

Определить:

- [ ] тип ответа;
- [ ] структуру ответа;
- [ ] обязательные поля;
- [ ] необязательные поля;
- [ ] возможные значения;
- [ ] диапазоны значений;
- [ ] поведение при пустом результате.

---

# 2. Исследование семантики полей

Для каждого поля определить:

- [ ] фактическое назначение;
- [ ] источник происхождения;
- [ ] тип данных;
- [ ] обязательность;
- [ ] диапазон допустимых значений;
- [ ] связь с другими полями;
- [ ] ограничения использования;
- [ ] степень подтверждения семантики.

---

# 3. Исследование информационных фактов

Для каждого ответа определить:

- [ ] какие информационные факты содержит ответ;
- [ ] какие информационные факты могут быть вычислены непосредственно из ответа;
- [ ] какие информационные факты отсутствуют;
- [ ] какие факты являются первичными;
- [ ] какие факты являются производными.

---

## 3.1 Первичные информационные факты

Для каждого первичного информационного факта определить:

- [ ] endpoint;
- [ ] параметр запроса;
- [ ] поле ответа;
- [ ] степень подтверждения;
- [ ] ограничения использования.

---

## 3.2 Производные информационные факты

Для каждого производного информационного факта определить:

- [ ] формулу вычисления;
- [ ] необходимые исходные данные;
- [ ] ограничения вычисления;
- [ ] степень достоверности.

---

# 4. Исследование актуальности данных

Определить:

- [ ] является ли ответ текущим снимком состояния;
- [ ] содержит ли ответ исторические данные;
- [ ] содержит ли ответ агрегированную статистику;
- [ ] как часто обновляется ответ;
- [ ] есть ли timestamp данных;
- [ ] есть ли задержка обновления;
- [ ] можно ли использовать ответ как источник текущего состояния рынка.

---

# 5. Проверка эквивалентности

Для каждого информационного факта определить:

- [ ] существует ли аналогичный источник;
- [ ] полностью ли совпадает значение;
- [ ] совпадает ли семантика;
- [ ] совпадает ли точность;
- [ ] совпадает ли момент обновления;
- [ ] имеются ли расхождения.

---

## 5.1 Альтернативные источники

Для каждого информационного факта определить:

- [ ] WebSocket Request;
- [ ] WebSocket Stream;
- [ ] другие REST endpoint;
- [ ] внутренние вычисления.

---

## 5.2 Приоритет источников

Для каждого информационного факта определить:

- [ ] основной источник;
- [ ] резервный источник;
- [ ] допустимые альтернативы;
- [ ] причины выбора приоритетного источника.

---

# 6. Исследование поведения endpoint

Проверить:

- [ ] повторяемость ответа при одинаковом запросе;
- [ ] изменение ответа во времени;
- [ ] поведение при частых запросах;
- [ ] ограничения частоты запросов;
- [ ] ошибки при превышении лимитов;
- [ ] поведение при недоступности данных;
- [ ] поведение при несуществующем инструменте.

---

# 7. Исследование производительности

Определить:

- [ ] среднее время ответа;
- [ ] максимальное время ответа;
- [ ] минимальное время ответа;
- [ ] средний размер ответа;
- [ ] максимальный размер ответа;
- [ ] влияние параметров запроса на размер ответа;
- [ ] влияние параметров запроса на время ответа.

---

# 8. Практическая ценность

Определить:

- [ ] какие информационные факты предоставляет endpoint;
- [ ] какие факты отсутствуют;
- [ ] может ли endpoint быть основным источником;
- [ ] может ли endpoint быть резервным источником;
- [ ] какие подсистемы Dzentra потенциально могут использовать endpoint;
- [ ] ограничения использования в runtime.

---

# 9. Ограничения исследования

Определить:

- [ ] что подтверждено;
- [ ] что предварительно подтверждено;
- [ ] что осталось гипотезой;
- [ ] что опровергнуто;
- [ ] что невозможно определить данным исследованием.

---

# 10. Итоги исследования

По результатам исследования определить:

- [ ] степень пригодности endpoint;
- [ ] степень полноты исследования;
- [ ] сильные стороны;
- [ ] ограничения;
- [ ] рекомендации по использованию;
- [ ] необходимость дополнительных исследований.