Откуда берутся котировки БПИФ: как Мосбиржа публикует данные и как читать их самому
- Котировка БПИФ на бирже — это последняя цена сделки между двумя инвесторами в стакане, а не стоимость активов фонда. Расчётная стоимость (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 | вручную |
| Финансовые порталы (smart-lab, banki.ru) | 15 минут | HTML, виджет | редко |
| RSS / Telegram-каналы агрегаторов | 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 (строки значений).
| Поле | Блок | Что показывает |
|---|---|---|
SECID | securities | Тикер (LQDT, TMOS, GOLD) |
SHORTNAME | securities | Краткое имя для отображения |
SECNAME | securities | Полное наименование БПИФ |
ISIN | securities | Международный код инструмента |
LISTLEVEL | securities | Уровень листинга (1 — высший) |
PREVPRICE | securities | Цена закрытия предыдущего торгового дня |
LOTSIZE | securities | Размер лота (для БПИФ обычно 1 пай) |
LAST | marketdata | Цена последней сделки |
BID / OFFER | marketdata | Лучший спрос и предложение в стакане |
SPREAD | marketdata | Разница между BID и OFFER в рублях |
OPEN / HIGH / LOW | marketdata | Цены открытия, максимум и минимум дня |
VOLTODAY | marketdata | Дневной оборот в штуках паёв |
VALTODAY_RUR | marketdata | Дневной оборот в рублях |
NUMTRADES | marketdata | Количество сделок за день |
UPDATETIME | marketdata | Время последнего обновления (MSK) |
LCURRENTPRICE | marketdata | Цена закрытия аукциона закрытия |
Для исторического запроса главные колонки — 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%.
- Аукционы открытия и закрытия. Цена в аукционе формируется по другому алгоритму — пересечению накопленных заявок, а не последовательным сделкам. Это валидная цена для индексных расчётов, но не текущая рыночная цена непрерывной сессии.
Чек-лист трёх цифр для крупного ордера
При крупном входе (от 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 млн ₽ в день, время перед длинными выходными.
Частые вопросы
https://iss.moex.com/iss/engines/stock/markets/shares/boards/TQTF/securities/LQDT.json в браузере. Это публичный сервис Мосбиржи.https://iss.moex.com/iss/statistics/engines/stock/markets/shares/inav.json — он отдаёт текущие значения iNAV по всем БПИФ, у которых управляющая компания публикует канал в Мосбиржу. Альтернатива — сайт управляющей компании: у каждой УК есть страница фонда с виджетом iNAV и часто с ссылкой на CSV-выгрузку.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=.Поддержка Fondium
Даже 100 рублей помогают развивать Fondium
Небольшая поддержка помогает выпускать новые разборы, обновлять данные по фондам и не превращать сайт в агрессивную витрину.