Архив котировок фьючерсов Московской биржи (MOEX) – это набор исторических данных о ценах, объёмах и других показателях торгов фьючерсными контрактами, которые торгуются на площадке MOEX. Такой архив незаменим для анализа рынка, построения торговых стратегий, back‑testing и научных исследований.
Что включает в себя архив?
- Дата и время – метка сделки (обычно с точностью до секунды или миллисекунды).
- Инструмент – тикер фьючерса (например, SiZ4, RIH4, GDZ4 и т.д.).
- Цена открытия, максимум, минимум, закрытие (OHLC).
- Объём traded – количество контрактов, проданных за период.
- Количество сделок – число транзакций.
- Open Interest (иногда) – количество открытых позиций на конец периода.
Где можно получить архив котировок?
- Официальный сайт MOEX – раздел «Исторические данные» предоставляет CSV‑файлы за день, неделю, месяц и год.
- ФТС (Федеральная торговая система) – через API MOEX ISS (Information Satellite System) можно запрашивать данные в реальном времени и выгружать исторические серии.
- Коммерческие провайдеры (например, QuantQuote, Quandl, Bloomberg, Refinitiv) предлагают готовые наборы с более высокой частотой (тиковые данные) и дополнительными метаданными.
- Открытые репозитории – на GitHub и Kaggle иногда выкладывают выгрузки за определённые периоды, полезные для обучения и тестирования.
Форматы данных
- CSV – самый распространённый формат: каждая строка – запись за один тайм‑фрейм (минута, час, день).
- JSON – используется в ответах API MOEX ISS, удобно для программной обработки.
- Parquet / Feather – колонковые форматы, оптимизированные для больших объёмов и быстрой аналитики (например, в Pandas или PySpark).
- SQL‑дампы – некоторые провайдеры предлагают выгрузки в виде дампов баз данных (PostgreSQL, MySQL) для удобного хранения и запросов.
Как работать с архивом в Python
Ниже пример загрузки дневных котировок фьючерса SiZ4 (USD/RUB) за 2023 год с помощью библиотеки pandas и API MOEX ISS.
import pandas as pd
import requests
def load_futures(ticker, start, end):
"""
Загружает дневные баровые данные фьючерса с MOEX ISS.
:param ticker: str, например 'SiZ4'
:param start: str, дата начала в формате 'YYYY-MM-DD'
:param end: str, дата конца в формате 'YYYY-MM-DD'
:return: DataFrame с колонками ['TRADEDATE', 'OPEN', 'HIGH', 'LOW', 'CLOSE', 'VOLUME']
"""
url = f"https://iss.moex.com/iss/history/engines/futures/markets/indices/securities/{ticker}.json"
params = {
"from": start,
"till": end,
"iss.meta": "off",
"iss.only": "history",
"history.columns": "TRADEDATE,OPEN,HIGH,LOW,CLOSE,VOLUME"
}
resp = requests.get(url, params=params)
data = resp.json["history"]["data"]
columns = resp.json["history"]["columns"]
df = pd.DataFrame(data, columns=columns)
df["TRADEDATE"] = pd.to_datetime(df["TRADEDATE"])
return df.set_index("TRADEDATE")
df_si = load_futures("SiZ4", "2023-01-01", "2023-12-31")
print(df_si.head)
После получения DataFrame можно выполнять типичные операции: расчёт скользящих средних, построение свечных графиков, back‑testing стратегий с помощью библиотек vectorbt, backtrader или zipline.
Примеры запросов к API MOEX ISS
- Текущая стакан (order book):
https://iss.moex.com/iss/engines/futures/markets/indices/securities/SiZ4/orderbook.json
- Последняя сделка:
https://iss.moex.com/iss/engines/futures/markets/indices/securities/SiZ4/securities.json
- Исторические свечи за период (как в примере выше).
Практическое применение архива
- Анализ волатильности – измерение стандартного отклонения доходности за разные интервалы помогает оценить риск фьючерса.
- Построение торговых сигналов – например, пересечение скользящих средних (SMA/EMA) или индикатора RSI на основе исторических данных.
- Back‑testing стратегий – проверка прибыльности алгоритма на прошлых данных перед выводом на реальный счёт.
- Исследование корреляций – анализ взаимосвязи между фьючерсами на разные базовые активы (валюты, индексы, сырьевые товары).
- Оценка спреда и арбитража – сравнение цен фьючерса и базового актива (или между фьючерсами с разными сроками экспирации) для поиска возможностей безрисковой прибыли.
Ограничения и рекомендации
- Частота обновления – дневные данные доступны с задержкой в один торговый час; тиковые данные могут предоставляться только платными сервисами.
- Качество данных – перед использованием проверяйте наличие пропусков (NaN) и аномальных выбросов; иногда требуется фильтрация или интерполяция.
- Лицензирование – данные с официального сайта MOEX бесплатны для личного и учебного использования; коммерческое использование может требовать согласия.
- Хранение – при работе с многолетними тиковыми базами рекомендуеться использовать колонковые форматы (Parquet) и СУБД, оптимизированные для временных рядов (например, TimescaleDB).
- Безопасность – при запросах к API используйте HTTPS и, если необходимо, API‑ключи, предоставляемые брокерами или провайдерами.
Архив котировок фьючерсов Московской биржи – мощный инструмент для трейдеров, аналитиков и исследователей. Правильный доступ к данным, понимание их структуры и умение эффективно обрабатывать их позволяют построить надёжные торговые системы, провестиный рыночный анализ и принять обоснованные инвестиционные решения. Надеемся, представленная информация поможет вам начать работу с историческими данными MOEX и достичь ваших целей в финансовой аналитике.