Fondium

Откуда берутся котировки БПИФ: как Мосбиржа публикует данные и как читать их самому

· 13 мин. чтения
📌 Ключевые выводы
  • Котировка БПИФ на бирже — это последняя цена сделки между двумя инвесторами в стакане, а не стоимость активов фонда. Расчётная стоимость (iNAV) рассчитывается отдельно и публикуется управляющей компанией; биржевая цена крутится вокруг неё в коридоре маркетмейкера.
  • Маркетмейкер обязан держать двусторонние заявки и спред 0,1-0,3% в основной сессии. В тонкие моменты (открытие, аукцион закрытия, шоковые новости, последние минуты перед длинными выходными) этот коридор может расшириться до 0,5-1,5%.
  • Бесплатные источники: карточка инструмента на moex.com (обновление в реальном времени), MOEX ISS API без регистрации (тот же поток, машинно-читаемый), сайт управляющей компании (iNAV, паспорт фонда), терминал брокера. Финпорталы дают 15-минутную задержку.
  • MOEX ISS API — публичный JSON/XML/CSV без ключа и без лимита по объёму запросов на разумной частоте. Базовый адрес https://iss.moex.com/iss/. Структура котировки: блок securities (статика — ISIN, лот, листинг) и блок marketdata (LAST, BID, OFFER, SPREAD, VOLTODAY, обновляется каждые 1-3 секунды).
  • Достать котировку самому можно тремя способами: открыть JSON в браузере, подтянуть в Google Sheets через IMPORTDATA, прочитать Python-скриптом в pandas. Первый способ — за 10 секунд, последний — для регулярного мониторинга портфеля.
  • Котировке нельзя доверять без проверки в трёх случаях: первые и последние 5 минут торговой сессии, шоковые новости с разгоном волатильности и ситуация, когда дневной оборот меньше 5 млн ₽ — маркетмейкер может временно отступить от обязательств.

Когда вы видите цену БПИФ в приложении брокера, на финпортале или в виджете на сайте управляющей компании — это не стоимость активов фонда. Это снимок последней совершившейся сделки в стакане Мосбиржи плюс отдельный показатель расчётной стоимости пая.

Между этими двумя цифрами зазор, и в обычный день он 0,1%, а в нестандартный — 0,8% и больше. Если вы покупаете на сумму от полумиллиона рублей, разница между справедливой и биржевой ценой превращается в реальные деньги.

Дальше — что именно публикует Мосбиржа, где взять эти данные бесплатно, как разобрать ответ MOEX ISS API и три рабочих способа достать котировку самому: для разовой проверки в браузере, для отслеживания в таблице и для скрипта.

Биржевая цена пая и расчётная стоимость: чем они различаются

Биржевая котировка БПИФ — цена последней сделки между покупателем и продавцом пая в торговом стакане Мосбиржи. Её формирует баланс заявок: чем больше желающих купить, тем выше цена пробивается вверх. Эта цифра меняется каждую секунду, пока идёт сессия, и фиксируется на закрытии.

Расчётная стоимость пая (iNAV — indicative Net Asset Value) — справедливая цена, основанная на стоимости активов внутри фонда, делённой на количество паёв.

Управляющая компания пересчитывает её каждые 15 секунд по биржевым ценам базовых активов и публикует на своём сайте и через ISS-канал биржи.

Между этими двумя ценами работает eventual consistency: котировка стакана и iNAV сходятся не мгновенно, а в окне 100–500 мс на ликвидных фондах и до 2–3 секунд на тонких — пока маркетмейкер не подтянул заявки под новый расчёт.

ПараметрБиржевая ценаРасчётная стоимость (iNAV)
Что показываетЦену последней сделки в стаканеСправедливую цену по активам фонда
ИсточникСтакан заявок МосбиржиУправляющая компания
Частота обновления1-3 секунды в основной сессииКаждые 15 секунд
Где смотретьmoex.com, брокер, ISS APIСайт УК, ISS-канал inav, паспорт фонда
Зависит отСпроса и предложения участниковСтоимости акций и облигаций внутри фонда

В нормальном рынке маркетмейкер держит биржевую цену в коридоре ±0,1-0,3% от iNAV. Если ликвидность падает или новости разгоняют волатильность, коридор расширяется.

Подробнее про роль маркетмейкера — в материале Как устроена Мосбиржа для инвестора в БПИФ, про устройство пая — в пай БПИФ против акции.

Главное: котировка — это рынок, iNAV — это арифметика. На длинных горизонтах они сходятся, в моменте — расходятся. Большой ордер всегда сравнивайте с iNAV, не с last price.

Где смотреть котировки бесплатно

Платных источников биржевых данных по российским БПИФ для частного инвестора не нужно. Вся актуальная информация есть в открытом доступе. Вопрос в задержке и формате.

ИсточникЗадержкаФорматМашинная обработка
moex.com (карточка инструмента)реальное времяHTML-страницачерез парсинг
MOEX ISS APIреальное времяJSON / XML / CSVштатно
Терминал брокерареальное времябиржевой стаканредко публикуется наружу
Сайт управляющей компаниидо 15 секунд (iNAV)HTML, иногда CSVвручную
Финансовые порталы и публичные виджеты15 минутHTML, виджетредко
Ленты агрегаторов15-30 минуттекстнет

Реальное время в основной сессии бесплатно даёт только сама Мосбиржа: через сайт moex.com и через ISS API. Финансовые порталы и большинство публичных виджетов ставят 15-минутную задержку — это требование биржи к перепродаже данных.

Для разовой проверки разница незаметна, для алгоритмической работы критична.

Брокерский терминал показывает поток без задержки, но обычно не публикует его наружу. Сайт управляющей компании показывает iNAV в реальном времени и — отдельно — биржевую цену с небольшим лагом.

Итог: для актуальной котировки используйте moex.com или MOEX ISS API. Финпорталы — для быстрого взгляда в течение дня, не для принятия решения по крупному ордеру.

MOEX ISS API: что это и как устроено

MOEX ISS (Information & Statistical Server) — публичный интерфейс Мосбиржи для получения биржевых данных. Никакого ключа, регистрации или подписки. Любой запрос отдаётся в формате JSON, XML или CSV — по выбору.

Это можно бэктестить: история по дневным свечам и тиковые срезы в marketdata доступны без авторизации, любой расчёт отставания фонда от индекса воспроизводится на стороне читателя.

Базовый адрес: https://iss.moex.com/iss/. Дальше идёт путь, описывающий иерархию: движок (engine), рынок (market), борт (board), инструмент (security).

Ключевые узлы для БПИФ:

  • engines/stock — фондовый рынок
  • markets/shares — рынок акций и БПИФ
  • boards/TQTF — борт для биржевых фондов с расчётами в рублях с центральным контрагентом

Полный URL для котировок одного фонда выглядит так:

https://iss.moex.com/iss/engines/stock/markets/shares/boards/TQTF/securities/LQDT.json

Замените LQDT на тикер нужного БПИФ — структура ответа одинаковая. Если хотите CSV, поменяйте расширение на .csv. Хотите XML — на .xml. Если нужно отфильтровать только нужные поля или выключить лишние блоки, добавьте параметры:

  • iss.only=marketdata — оставить только живые рыночные данные
  • iss.only=securities,marketdata — статика + рынок без вспомогательных блоков
  • iss.meta=off — убрать метаданные о типах колонок
  • iss.json=extended — JSON в формате с именованными ключами вместо массивов

Для исторических данных путь другой — history/engines/.../securities/<TICKER>.json с параметрами from=YYYY-MM-DD и till=YYYY-MM-DD. Возвращаются дневные свечи по торговому дню.

Главное: один URL, без авторизации. Любой инструмент Мосбиржи доступен по той же логике — нужно знать тикер и борт.

Какие поля возвращает API

Ответ ISS состоит из блоков. Для котировки БПИФ ключевые два: securities (статические параметры инструмента) и marketdata (живой рынок). Каждый блок — массив columns (имена колонок) и массив data (строки значений).

ПолеБлокЧто показывает
SECIDsecuritiesТикер (LQDT, TMOS, GOLD)
SHORTNAMEsecuritiesКраткое имя для отображения
SECNAMEsecuritiesПолное наименование БПИФ
ISINsecuritiesМеждународный код инструмента
LISTLEVELsecuritiesУровень листинга (1 — высший)
PREVPRICEsecuritiesЦена закрытия предыдущего торгового дня
LOTSIZEsecuritiesРазмер лота (для БПИФ обычно 1 пай)
LASTmarketdataЦена последней сделки
BID / OFFERmarketdataЛучший спрос и предложение в стакане
SPREADmarketdataРазница между BID и OFFER в рублях
OPEN / HIGH / LOWmarketdataЦены открытия, максимум и минимум дня
VOLTODAYmarketdataДневной оборот в штуках паёв
VALTODAY_RURmarketdataДневной оборот в рублях
NUMTRADESmarketdataКоличество сделок за день
UPDATETIMEmarketdataВремя последнего обновления (MSK)
LCURRENTPRICEmarketdataЦена закрытия аукциона закрытия

Для исторического запроса главные колонки — TRADEDATE, OPEN, HIGH, LOW, CLOSE, WAPRICE (средневзвешенная), VOLUME, VALUE (оборот в рублях).

Расчётная стоимость пая (iNAV) приходит отдельным каналом — statistics/engines/stock/markets/shares/inav или с сайта управляющей компании. В блоке marketdata основной карточки её нет.

Запомните три поля. LAST — за сколько прошла последняя сделка. BID и OFFER — стенки стакана, между ними находится справедливая текущая цена. SPREAD — мера качества ликвидности здесь и сейчас.

Когда обновляются данные

Поток котировок не равномерный. Внутри торгового дня плотность данных и их надёжность меняются.

  • Утренняя сессия (06:50-09:49 MSK). Цена обновляется, но обороты в десятки раз ниже основной сессии. Маркетмейкер может присутствовать с уменьшенным объёмом.
  • Аукцион открытия основной сессии (09:50-09:59). Цена не публикуется отдельно — формируется на пересечении заявок. После 10:00 идёт первая котировка непрерывного торгового дня.
  • Основная сессия (10:00-18:54). Самый плотный поток. Обновление каждые 1-3 секунды, максимум ликвидности. Это основной горизонт для всех решений по ордерам. По типичному ликвидному БПИФ (LQDT, TMOS) p50 межтиковой задержки — около 1 секунды, p99 — 3–5 секунд: SLA на сервисе тоже описывается парой среднее + хвост, и здесь та же логика.
  • Аукцион закрытия (18:55-18:59). Цена аукциона публикуется в поле CLOSINGAUCTIONPRICE. Используется для расчёта индексов и для крупных рыночных ордеров.
  • Вечерняя сессия (19:00-23:49). Обороты ниже основной, но многие БПИФ торгуются. Спред часто шире на 30-60%.

Бесплатные финпорталы публикуют котировку с задержкой 15 минут. Это технический режим распространения данных через посредников. Если вы выставляете крупный ордер по цене из такого источника, реальный фон стакана уже другой.

Подробнее о ликвидности и её ловушках — в материале Ликвидность на бирже простыми словами.

В нерабочие дни ISS API возвращает данные последнего торгового дня. Поле PREVDATE показывает дату этого закрытия — удобный способ убедиться, что сейчас не торговая сессия. Полный календарь нерабочих дней — в расписании торгов Мосбиржи 2026.

Три способа достать котировку самостоятельно

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

Способ 1: открыть JSON прямо в браузере

Самый быстрый. Скопируйте URL в адресную строку:

https://iss.moex.com/iss/engines/stock/markets/shares/boards/TQTF/securities/LQDT.json?iss.only=marketdata&iss.meta=off

Браузер покажет JSON. Найдите массив marketdata.data — это и есть текущая строка котировки. Колонки идут в порядке, описанном в marketdata.columns. Для разовой проверки этого достаточно.

Способ 2: Google Sheets через IMPORTDATA

Если хочется ежедневный мониторинг без кода, в Google Sheets есть функция импорта CSV.

В пустую ячейку:

=IMPORTDATA("https://iss.moex.com/iss/engines/stock/markets/shares/boards/TQTF/securities/LQDT.csv?iss.only=marketdata&iss.meta=off")

Sheets развернёт CSV в таблицу. Поверх можно построить дашборд: тикеры в столбце слева, формула справа, отдельная колонка с расчётом отклонения LAST от вашей средней цены покупки. Обновление — раз в час по умолчанию, чаще не нужно для мониторинга.

В Excel можно использовать Power Query с тем же URL — поведение похожее, но настройка чуть длиннее.

Способ 3: Python и pandas

Для регулярной выгрузки в CSV-архив или для расчёта аналитики — Python:

import requests
import pandas as pd

URL = "https://iss.moex.com/iss/engines/stock/markets/shares/boards/TQTF/securities/{}.json"

def get_quote(ticker: str) -> dict:
    r = requests.get(URL.format(ticker), params={"iss.only": "marketdata"}, timeout=10)
    r.raise_for_status()
    md = r.json()["marketdata"]
    df = pd.DataFrame(md["data"], columns=md["columns"])
    return df.iloc[0].to_dict()

quote = get_quote("LQDT")
print(f"LAST={quote['LAST']}  BID={quote['BID']}  OFFER={quote['OFFER']}  SPREAD={quote['SPREAD']}")

Скрипт работает без ключей и без лимитов на разумной частоте. Для портфеля из 10-20 БПИФ можно поставить запрос на cron раз в час и складывать снимки в локальный файл.

Условие применимости стоит зафиксировать сразу: ISS — не tick-by-tick stream и не источник для HFT; для розничного мониторинга батчевый pull с гранулярностью час/15 минут точнее по соотношению цена/польза, чем попытка вытянуть streaming через polling.

Большинству частных инвесторов API не нужен вообще — карточки фонда на moex.com и брокерского терминала достаточно; скрипт нужен тем, кто считает свою аналитику по нескольким фондам сразу.

Главное: не нужно покупать данные. ISS API закрывает все три типичных задачи частного инвестора — разовая сверка, отслеживание в таблице, выгрузка в скрипт.

Когда котировке нельзя доверять без проверки

Биржевая цена — это рынок, и в моменте она может расходиться с реальной стоимостью активов фонда. Обычная статья про издержки подскажет, что за пределами TER есть скрытые расходы, а биржевые перекосы — это ещё одна категория потерь.

Шесть маркеров, при которых нужна сверка с iNAV

Это ситуации, когда коридор маркетмейкера расширяется и LAST уходит от справедливой цены сильнее обычного.

  • Первые 5 минут после открытия (10:00-10:05). Пост-аукционная цена ещё не устаканилась, спред в стакане шире обычного.
  • Последние 10 минут перед закрытием (18:50-19:00). Часть участников выходит из позиций до конца дня, маркетмейкер сужает объём заявок.
  • Шоковые новости. ЦБ повышает ставку на внеочередном заседании, выходит важная статистика, разворот валютного курса — стакан становится тонким, спред расширяется до 0,5-1,5%.
  • Низкая ликвидность фонда. Если дневной оборот меньше 5 млн ₽, БПИФ относится к низколиквидным. Маркетмейкер физически не может постоянно держать узкий спред при таком потоке.
  • Перед длинными выходными. За 30-60 минут до закрытия в последний рабочий день перед блоком нерабочих дат спред расширяется на 30-50%, цена может уйти от iNAV на 0,3-0,8%.
  • Аукционы открытия и закрытия. Цена в аукционе формируется по другому алгоритму — пересечению накопленных заявок, а не последовательным сделкам. Это валидная цена для индексных расчётов, но не текущая рыночная цена непрерывной сессии.
Не сравнивайте котировку из приложения брокера с котировкой на финпортале с задержкой. Разница в 0,2% между этими источниками не ошибка одного из них — это 15-минутный лаг агрегатора. Для решения по ордеру всегда смотрите свой брокерский терминал или сайт moex.com.

Чек-лист трёх цифр для крупного ордера

При крупном входе (от 1 000 000 ₽) проверяйте три цифры одновременно: LAST, BID/OFFER и iNAV с сайта управляющей компании. Если все три сходятся в коридоре 0,2% — рынок здоров, можно работать рыночной заявкой. Если расходятся на 0,5% и больше — выставляйте лимитную или используйте аукцион закрытия.

Итог: котировка в нормальной сессии с обычным фондом — точный сигнал. В тонкие моменты или для тонких фондов — обязательно сверка с iNAV.

📋 Итого
  • Биржевая котировка БПИФ — это цена последней сделки в стакане Мосбиржи. iNAV — справедливая цена по активам фонда. В норме они расходятся на 0,1-0,3%.
  • Бесплатные источники реального времени: moex.com и MOEX ISS API. Финпорталы дают 15-минутную задержку.
  • ISS API — публичный JSON/CSV/XML без ключа. Ключевые поля: LAST, BID, OFFER, SPREAD, VOLTODAY, UPDATETIME. Базовый URL https://iss.moex.com/iss/engines/stock/markets/shares/boards/TQTF/securities/<TICKER>.json.
  • Достать котировку самому: за 10 секунд через браузер, в Google Sheets через IMPORTDATA, или скриптом на Python через requests + pandas.
  • Когда котировке нельзя доверять без сверки с iNAV: первые и последние минуты сессии, шоковые новости, оборот меньше 5 млн ₽ в день, время перед длинными выходными.

FAQ

Частые вопросы

Биржевая цена — последняя сделка в стакане Мосбиржи между двумя инвесторами. Стоимость пая на сайте управляющей компании — это либо iNAV (индикативная расчётная стоимость, обновляется каждые 15 секунд по активам фонда), либо официальная стоимость пая на конец дня. Биржевая цена движется вокруг iNAV в коридоре 0,1-0,3% за счёт обязательств маркетмейкера.
Нет. Все котировки, история и справочники доступны без авторизации, без подписки и без лимитов на разумной частоте запросов. Достаточно открыть URL вида https://iss.moex.com/iss/engines/stock/markets/shares/boards/TQTF/securities/LQDT.json в браузере. Это публичный сервис Мосбиржи.
Большинство финпорталов раздают биржевые данные с задержкой 15 минут — это требование биржи к перепродаже потоков. Брокерское приложение получает поток в реальном времени по договору с биржей. Расхождение в 0,1-0,3% между этими источниками — это лаг, а не ошибка. Для принятия решения по ордеру ориентируйтесь на брокерский терминал или moex.com.
Через эндпоинт https://iss.moex.com/iss/statistics/engines/stock/markets/shares/inav.json — он отдаёт текущие значения iNAV по всем БПИФ, у которых управляющая компания публикует канал в Мосбиржу. Альтернатива — сайт управляющей компании: у каждой УК есть страница фонда с виджетом iNAV и часто с ссылкой на CSV-выгрузку.
PREVPRICE — цена закрытия предыдущего торгового дня. По ней биржа считает дневное изменение в процентах и стартовый уровень для лимитов колебаний. Если в выходной или нерабочий день вы запросили карточку фонда через ISS API, поля LAST, BID, OFFER могут быть пустыми, но PREVPRICE и поле PREVDATE покажут актуальный последний фиксинг.
Через эндпоинт history: https://iss.moex.com/iss/history/engines/stock/markets/shares/boards/TQTF/securities/<TICKER>.json?from=2020-01-01&till=2026-05-01. Возвращаются дневные свечи: дата, OPEN, HIGH, LOW, CLOSE, средневзвешенная цена WAPRICE, объём в штуках и в рублях. Лимит — 100 строк на ответ; для длинной истории листайте через параметр start=.
Состав корзины (для БПИФ — список ценных бумаг внутри фонда) MOEX ISS не отдаёт. Это раскрытие на стороне управляющей компании: PDF-паспорт фонда, отчёты о составе и структуре активов на сайте УК. ISS даёт только биржевые параметры пая как инструмента.

Статьи по теме