Где получить архив котировок фьючерсов Московской биржи и как работать с данными

Бесплатная консультация юриста

+7 (800) 301-07-30

Реклама jurik.ru

Исторические данные (архив котировок) — это фундамент для любого серьезного анализа рынка, бэктестинга торговых стратегий и создания алгоритмических систем. Для участников рынка Московской биржи (MOEX), торгующих фьючерсными контрактами (фортс), доступ к качественной и глубокой истории цен имеет критическое значение. В этой статье мы подробно разберем, где и как получить архив котировок фьючерсов Мосбиржи, какие существуют форматы данных, нюансы работы с экспирацией контрактов и инструменты для автоматизации загрузки.

Основные источники исторических данных

Существует несколько основных каналов получения архива котировок, различающихся по глубине истории, детализации (таймфреймам), стоимости и удобству доступа.

Официальный сайт Московской биржи (moex.com) и API

Первоисточник данных — сама биржа. MOEX предоставляет доступ к историческим данным через раздел «Биржевая информация» и публичное API.

  • Реестр сделок (Order Log / Trade Log): Самый детализированный уровень данных (Level 3). Содержит информацию о каждой сделке и заявке. Доступен в машиночитаемых форматах (CSV, XML, JSON) через API.
  • История значений индексов и фиксингов: Архив расчетных цен, фиксингов и значений индексов (IMOEX, RTSI и др.).
  • Валютные фиксинги: Исторические курсы валют (USD/RUB, EUR/RUB, CNY/RUB), используемые для расчетов по деривативам.

Особенность: Официальное API отлично подходит для получения актуальных данных и неглубокой истории, но для массовой загрузки многолетних архивов по всем инструментам может требовать значительных временных затрат из-за лимитов запросов.

Finam.ru (Финам) — «Золотой стандарт» для бесплатного скачивания

Согласно общепризнанному мнению трейдеров и разработчиков, архив Финама остается единственным нормальным бесплатным вариантом для получения глубокой истории (10+ лет) в удобном текстовом формате (TXT/CSV).

  • Покрытие: Самые ликвидные фьючерсы российского рынка (нефть BR, золото GD, индексные RI/RTS, валютные Si, Eu, безлимитные/вечные фьючерсы).
  • Формат: Текстовые файлы (TXT) со стандартной структурой: <TICKER>,<PER>,<DATE>,<TIME>,<OPEN>,<HIGH>,<LOW>,<CLOSE>,<VOL>.
  • Таймфреймы: Тиковые данные, минутки (1, 5, 10, 15, 30 мин), часовики, дневки, недельные и месячные свечи.
  • Дополнительно: В разделе экспорта котировок доступны данные не только по фьючерсам, но и по акциям, облигациям, ETF и даже криптовалютам (BTC, ETH, LTC).

Важный нюанс: На часовых и более старших таймфреймах ошибки данных (пропуски, артефакты) минимальны, что делает их идеальными для стратегического бэктестинга.

Investing.com и аналогичные финансовые порталы

Предоставляют визуализацию и скачивание исторических данных по CFD на фьючерсы (например, фьючерс на индекс ММВБ).

  • Удобны для быстрого просмотра графиков «здесь и сейчас».
  • Позволяют выгружать данные по дням, неделям, месяцам в CSV.
  • Минус: Часто используют непрерывные контракты (continuous contracts) без корректной обработки роллов (перехода на новый контракт), что искажает реальную PnL-кривую при тестировании.

Специализированные сервисы и Open Source проекты

  • GitHub (например, nerevar/stock_prices): Готовые краулеры и скрипты на Python для автоматической загрузки суточных данных с MOEX API (акции, облигации, валюта, ETF, фьючерсы) и Alpha Vantage (зарубежные рынки).
  • Консольные утилиты: Разработчики часто пишут свои загрузчики (даунлоадеры) для получения свечей OHLCV по всем инструментам Мосбиржи с нужными таймфреймами.
  • История фандинга (вечные фьючерсы): С недавнего времени доступен экспорт истории ставок фандинга для перпетуальных фьючерсов в формате CSV, что критически важно для расчета доходности от удержания позиций (carry trade).

Специфика фьючерсных данных: Проблема экспирации и «Сшивка» контрактов

В отличие от акций, фьючерсы имеют фиксированную дату экспирации (окончания торгов). Это создает главную сложность при работе с архивом, необходимость построения непрерывного графика (Continuous Contract).

Методы построения непрерывного контракта:

  1. Back-Adjusted (Обратная корректировка) — Стандарт для бэктестинга: Цены старых контрактов корректируются на величину разрыва (gap) между старым и новым контрактом на момент ролловера. Это сохраняет реальные изменения цены (P&L), но исторические цены могут уходить в отрицательные значения или сильно отличаться от реальных рыночных котировок того времени.
  2. Forward-Adjusted (Прямая корректировка): Новый контракт приводится к уровню старого. Реальные цены сохраняются только для текущего контракта.
  3. Concat (Простая склейка): Простое соединение графиков без корректировки. Создает искусственные скачки цены (гапы) в днях ролловера, что делает такой график непригодным для тестирования стратегий на индикаторах (скользящие средние, RSI и т.д.).
  4. Ratio Adjusted (Пропорциональная корректировка): Используется редко, в основном для товарных фьючерсов с нулевыми или отрицательными ценами.

Рекомендация: Для системной торговли и бэктестинга всегда используйте Back-Adjusted серии. При скачивании данных с Finam или MOEX вы получаете «сырые» данные по отдельным контрактам (например, RIU6, RIZ6). Сшивку необходимо производить самостоятельно программно (Python/Pandas, C#, C++), используя календарь экспираций и правила ролловера (обычно за 3-5 дней до экспирации по объему/открытому интересу).

Форматы данных и структура файлов

Понимание формата критично для парсинга и загрузки в БД (ClickHouse, PostgreSQL, TimescaleDB) или DataFrame (Pandas).

Стандартный формат Finam (TXT/CSV)

Наиболее популярный формат для российских алготрейдеров.

Пример строки:
RIU6,MIN,20260711,100000,125450,125500,125400,125480,1523

Расшифровка полей:

  • TICKER — тикер контракта (RIU6 — RTS Index, июль 2026).
  • PER — таймфрейм (TICK, MIN, MIN5, HOUR, DAY, WEEK, MON).
  • DATE — дата в формате YYYYMMDD.
  • TIME — время в формате HHMMSS (для дневок обычно 000000 или 184500 — время закрытия сессии).
  • OPEN, HIGH, LOW, CLOSE — цены (Open, High, Low, Close). Для фьючерсов Финам часто дает цены в пунктах индекса или в рублях с учетом шага цены.
  • VOL — объем в лотах (контрактах).

Формат MOEX API (JSON / CSV)

При запросе к ISS (Information Statistical System) MOEX:

https://iss.moex.com/iss/history/engines/futures/markets/forts/securities/RIU6/candles.json?from=2026-01-01&till=2026-07-11&interval=60

Возвращает структурированный JSON с метаданными (название колонок, типы данных) и массивом данных. Это предпочтительный формат для производственных систем загрузки.

Инструменты для работы с архивом (Стек разработчика)

Python — де-факто стандарт

  • moex-python-sdk / moexalgo: Удобные обертки над MOEX ISS API для получения истории свечей, стакана, сделок.
  • finam-py / pyfinam: Библиотеки для автоматического скачивания и парсинга архива Финама.
  • Pandas / Polars: Для обработки, ресемплинга (перевода минуток в часовики), сшивки контрактов и расчета индикаторов.
  • VectorBT / Backtesting.py: Для векторного бэктестинга на подготовленных данных.

Базы данных для хранения

  • ClickHouse / QuestDB: Идеальны для хранения тиковых и минутных данных (колонковое хранение, сжатие, быстрые агрегации).
  • TimescaleDB (PostgreSQL): Удобен, если нужна реляционная модель и SQL.
  • DuckDB / Parquet файлы: Отличный выбор для локального аналитика и ML-исследований без поднятия сервера БД.

Чек-лист: Как правильно подготовить данные для бэктестинга

  1. Скачайте «сырые» данные по отдельным контрактам (не непрерывный график!) с Finam или через MOEX API. Глубина: минимум 3-5 лет для робастности стратегии.
  2. Проверьте на пропуски (голо) в торговых сессиях. На Мосбирже есть клиринговые перерывы (14:00-14:05, 18:50-19:05 по МСК) и ночная сессия (для валютных/нефтяных). Данные за эти периоды могут отсутствовать или быть аномальными.
  3. Очистите артефакты: Нулевые объемы при ненулевом движении цены, выбросы (спайки) на 1-2 тика, дубликаты таймстампов.
  4. Постройте непрерывный контракт (Back-Adjusted) с ролловером по Open Interest (Открытый интерес) или Объему (переход на новый контракт, когда ликвидность нового превышает старый).
  5. Добавьте календарь торгов: Учтите нерабочие дни (праздники РФ), сокращенные сессии (предпраздничные дни).
  6. Рассчитайте реальные торговые издержки: Комиссия брокера + Биржевая комиссия + Проскальзывание (slippage) = f(спред, ликвидность, агрессивность ордера). Без этого бэктест бесполезен.
  7. Сохраните итоговый датасет в Parquet/Feather/ClickHouse с версионированием (дата генерации, параметры сшивки).

Нюансы по конкретным инструментам Мосбиржи (ФОРТС)

Группа инструментов Примеры тикеров Особенности архива
Индексные RI (RTS), MX (IMOEX), SI (S&P 500) Самые ликвидные. RI имеет дневную и вечернюю сессии. Необходимо учитывать дивидендные корректировки индекса (для MX).
Валютные Si (USD/RUB), Eu (EUR/RUB), Cny (CNY/RUB) Торгуются почти круглосуточно (с перерывами). Критически важна история фандинга для вечных фьючерсов (если торгуете перпетуалы).
Товарные (Нефть/Золото) BR (Brent), GD (Gold), SL (Silver) Высокая корреляция с внешними рынками (NYMEX, COMEX). Арбитражные роботы требуют синхронизации таймстампов с UTC.
Акционные (Single Stock Futures) SBRF, GAZP, LKOH, GMKN (с суффиксом месяца) Низкая ликвидность на дальних контрактах. Обязательна корректировка на дивиденды (фьючерс ценится как Spot ― PV(Dividends)).
Вечные фьючерсы (Perpetuals) BTCUSDT, ETHUSDT (на MOEX Derivatives) Нет экспирации. Главный параметр — Фандин (Funding Rate). Архив фандинга теперь доступен в CSV для расчета стоимости удержания.

Работа с архивом котировок фьючерсов Московской биржи — это не просто скачивание файлов, а полноценный инженерный процесс: сбор → очистка → сшивка (ролловер) → валидация → хранение.

Ключевые выводы:

  • Для бесплатного глубокого архива (10+ лет) по минуткам/часовикам — Finam.ru остается лучшим выбором.
  • Для производственных систем и актуальных данных — MOEX ISS API (JSON/CSV).
  • Обязательно используйте Back-Adjusted метод сшивки контрактов по открытому интересу для корректного бэктестинга.
  • Не забывайте про историю фандинга для вечных фьючерсов и корректировки на дивиденды для акционных фьючерсов.
  • Автоматизируйте пайплайн загрузки на Python (Pandas + ClickHouse/Parquet), чтобы всегда иметь актуальную и чистую базу для исследований.

Качественная историческая база — это 80% успеха в алгоритмической торговле. Инвестируйте время в настройку правильного ETL-процесса один раз, и он будет экономить вам недели работы в будущем.