Михаил Шардин
Михаил Шардин личный блог
15 июля 2025, 04:19

Как я «взломал» Мосбиржу, чтобы бесплатно получать котировки в свой Excel. Пошаговая инструкция с кодом

Excel — главный рабочий инструмент многих частных инвесторов. Здесь ведут портфели, стратегии и мониторинг котировок. Но получить от Московской биржи лучшие цены на покупку (BID) и продажу (OFFER) из стакана прямо в таблицу — задача не из простых. Даже платная подписка на сайт биржи не даёт получать котировки в Excel напрямую.

Как я «взломал» Мосбиржу, чтобы бесплатно получать котировки в свой Excel. Пошаговая инструкция с кодом

Но слово «взлом» в названии статьи — это художественное преувеличение. Мы не будем нарушать никаких законов или пытаться обойти защиту биржи и вообще даже не дышим в сторону серверов Мосбиржи. Однако голь на выдумки хитра — построим элегантное решение с помощью официального API от любого брокера.

Идея проста: создать локальный сервер-прокладку, который Excel сможет опрашивать через веб-запросы. Сервер будет обращаться к API брокера, получать данные стакана и возвращать их в понятном для себя XML формате прямо в вашу таблицу, в ячейке которой будет отображена нужная цифра.

Как я «взломал» Мосбиржу, чтобы бесплатно получать котировки в свой Excel. Пошаговая инструкция с кодом

Фактически по такой схеме можно получать любые параметры с биржи и видеть их в своём локальном Microsoft Excel или его свободном аналоге LibreOffice Calc.

Как это будет работать: схема

Как я «взломал» Мосбиржу, чтобы бесплатно получать котировки в свой Excel. Пошаговая инструкция с кодом

Вся система строится на простой цепочке, которую можно повторить у себя за несколько минут, потому что код выложен на GitHub.

Excel делает веб-запрос — например, на адрес http://127.0.0.1:8000/orderbook.xml?ticker=SiU5&class_code=SPBFUT. Этот запрос поступает на локальный сервер, работающий на FastAPI. Сервер, в свою очередь, обращается к официальному API -брокера (в моём случае это Тинькофф Инвестиции), получает данные стакана — лучшие BID и OFFER и возвращает их в виде XML-ответа.

Excel легко обрабатывает XML через встроенные функции (но только для Windows, под Mac работать не будет), и нужные значения попадают прямо в ячейки таблицы.

Пока скрипт активен, Excel получает свежие данные. Выключили сервер — то есть закрыли bat файл (для Windows) — поток информации прекращается. Это безопасно и локально.

В России есть несколько брокеров с открытыми API:

Брокер

Документация

Тинькофф (T-Invest)

https://developer.tbank.ru/invest/intro/intro

Алор

https://alor.dev/docs/

Финам

https://trade-api.finam.ru/swagger/index.html

Выбор субъективный и для себя выбрал Тинькофф Инвестиции.

Как воспользоваться скриптом

1. Проверка и установка Python

🖥️ Windows:

  1. Скачайте установщик с официального сайта

  2. При установке обязательно отметьте:

    • Add Python to PATH

    • Install pip

  3. После установки проверьте в командной строке:

    <code class="bash">python --version
    pip --version</code>
Как я «взломал» Мосбиржу, чтобы бесплатно получать котировки в свой Excel. Пошаговая инструкция с кодом

🐧 Linux (Debian/Ubuntu):

<code class="bash">sudo apt update && sudo apt install python3-venv python3-full -y</code>

2. Настройка проекта

Скачайте проект с GitHub.

1. Впишите Ваш секретный токен в .env файл в корневой папке проекта:

<code>TINKOFF_TOKEN="t.xxxxxxx_xxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxx_xxxxx-xxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"  # ← Ваше токен здесь</code>

Где получить токен:

Как я «взломал» Мосбиржу, чтобы бесплатно получать котировки в свой Excel. Пошаговая инструкция с кодом
  • Зайдите на сайт брокера

  • Инвестиции → Настройки → Управление токенами

  • Создайте токен с ограниченными правами

Как я «взломал» Мосбиржу, чтобы бесплатно получать котировки в свой Excel. Пошаговая инструкция с кодом

Никогда не публикуйте и никому не передавайте этот токен!

Токен появится в списке как приложение:

Как я «взломал» Мосбиржу, чтобы бесплатно получать котировки в свой Excel. Пошаговая инструкция с кодом

2. Объяснение requirements.txt

<code>tinkoff-investments  # Работа с API Тинькофф Инвестиций
fastapi              # Создание веб-сервера и маршрутов
uvicorn              # ASGI-сервер, запускает FastAPI
python-dotenv        # Загружает токен из .env файла</code>
3. Запуск промежуточного сервера🖥️ Windows: запуск через .bat файлы

Если у вас Windows, то:

1_install_requirements.bat — установка зависимостей

Запустите один раз для установки двойным кликом — установятся нужные библиотеки.

2_start_server.bat — запуск сервера

Основной запуск локального сервера на localhost:8000. Отображает всю информацию о запуске.

Как я «взломал» Мосбиржу, чтобы бесплатно получать котировки в свой Excel. Пошаговая инструкция с кодомПод Windows всё работает

🐧 Linux: команды для запуска

Установка зависимостей:

<code>python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
pip list
deactivate</code>
Как я «взломал» Мосбиржу, чтобы бесплатно получать котировки в свой Excel. Пошаговая инструкция с кодом

Запуск сервера:

<code class="bash">source .venv/bin/activate
uvicorn server:app --host 127.0.0.1 --port 8000</code>
Как я «взломал» Мосбиржу, чтобы бесплатно получать котировки в свой Excel. Пошаговая инструкция с кодом


Через LibreOffice Calc в Ubuntu всё работает

Как проверить, что всё работает
  1. Запустите сервер (BAT или командой uvicorn).

  2. Откройте браузер и введите:

<code>http://127.0.0.1:8000/orderbook.xml?ticker=SBER&class_code=TQBR</code>
Как я «взломал» Мосбиржу, чтобы бесплатно получать котировки в свой Excel. Пошаговая инструкция с кодом

Если картинка в браузере как на скриншоте — запускайте Эксель под Windows:

Как я «взломал» Мосбиржу, чтобы бесплатно получать котировки в свой Excel. Пошаговая инструкция с кодом

Комбинация Ctrl + Alt + F9 это полный пересчёт всех формул во всех листах:

Как я «взломал» Мосбиржу, чтобы бесплатно получать котировки в свой Excel. Пошаговая инструкция с кодомГлавный скрипт: server.py

Что он делает:

1. Загружает токен доступа

<code class="python">load_dotenv()
TOKEN = os.getenv("TINKOFF_TOKEN")</code>

Скрипт берет API-токен из .env файла — это безопасный способ хранения.

2. Создает HTTP-сервер с одним маршрутом /orderbook.xml

<code class="python">@app.get("/orderbook.xml")</code>

Когда пользователь обращается по этому адресу с параметрами ticker и class_code, скрипт делает следующее:

3. Находит инструмент по тикеру

<code class="python">instrument_response = client.instruments.get_instrument_by(...)</code>

Он ищет инструмент (например, акцию или фьючерс), используя тикер и код класса (например, "TQBR" — основной рынок акций, "SPBFUT" — фьючерсы).

4. Получает лучшие BID и OFFER

<code class="python">orderbook = client.market_data.get_order_book(...)</code>

Скрипт запрашивает «стакан» заявок (Order Book) и берет из него самую выгодную цену на покупку (bid) и продажу (offer) с глубиной 1 (то есть только первую строку).

5. Формирует XML

<code class="xml"><orderbook>
<ticker>SBER</ticker>
<class_code>TQBR</class_code>
<name>Сбер Банк</name>
<bid>304,910</bid>
<offer>304,920</offer>
</orderbook></code>

Собирает результат в XML-документ, пригодный для Excel.

6. Обрабатывает ошибки

Если инструмент не найден (ошибка в тикере или class_code), возвращается XML с описанием ошибки:

<code class="xml"><error>Инструмент не найден</error></code>
Заключение

Предлагаемый мной подход — не взлом, а умное использование открытых возможностей.

Благодаря официальному API брокера и простому серверу на Python, вы получаете инструмент для мониторинга лучших BID и OFFER в Excel — без подписок и ограничений.

Но на этом возможности не заканчиваются: проект открыт (open source), а значит, вы можете легко адаптировать его под любые нужды — получать не только стакан, но и любые другие рыночные данные.

Хотите больше — доработайте сами или закажите изменения. Всё локально, безопасно и полностью под вашим контролем.

Автор: Михаил Шардин
🔗 Моя онлайн-визитка
📢 Telegram «Умный Дом Инвестора»

15 июля 2025 года

67 Комментариев
  • Reznor
    15 июля 2025, 07:32
    Зачем эти танцы с бубном? Можно из квика в эксель любую таблицу вывести 
      • SergeyJu
        15 июля 2025, 09:38
        Михаил Шардин, квик использует большинство тех, кто торгует через комп. Мобильные приложения брокеров — весьма свежа новация.  МТ5 и системы отдельных брокеров не слишком популярны и были, и есть. Плаза, фикс и тому подобное — дорого и только для ХФТ. 
        Так что у большинства алго — старый добрый квик. 
        • 1 Цер
          16 июля 2025, 08:44
          SergeyJu, mt4, mt5 в разы удобнее. Торгую с мобильника только потому, что хитрожопые брокеры вместо норм платформ пихают кривущий Квик.
          • SergeyJu
            16 июля 2025, 09:05
            1 Цер, ну и славно. 
    • Дмитрий Мамедиев
      16 июля 2025, 21:21
      Reznor, я использую прямые ссылки только котировки за вчерашнюю сессию. строится график сравнения с бенчмарком. чтобы понимать как моя стратегия отличается от индекса
  • Eugen Invest Malina
    15 июля 2025, 07:42
    Спасибо
  • Crogall
    15 июля 2025, 08:07
    круто
  • Моисей
    15 июля 2025, 08:23
  • Александр
    15 июля 2025, 08:52

    Добрый день, а в гугл таблице можно такое устроить?

  • igor12
    15 июля 2025, 09:01
    Спасибо за решения актуального вопроса..
    Но на мой скромный взгляд -это далеко  не самое практичное решение для реальной работы с данными ..
    В 2000 годы — когда не было ни Питона ни многих других инструментов мудрые ребята писали(и долго поддерживали за так!) функциональные с удобным интуитивным интерфейсом программы для сбора данных (один только пример Quotes Updater- а таких программ было несколько!) по местной кухне и не только!
    Тот же «самый крутой алготрейдер » автор OsEngine предлагает своё  крайне кривое решение Data в составе OsEngine..     
    Ощущение, что нормальных программистов для решения в общем то Простой задачи больше нет!??
      • igor12
        15 июля 2025, 10:18
        Михаил Шардин, Это не философия, а примеры деградации нынешних «программистов»..   Не переживайте сильно- эти процессы мировые…
    • zhorzh
      18 июля 2025, 04:11
      igor12, ответ заключается в словах «за так». Вы «за так» много работаете?
      • igor12
        18 июля 2025, 07:28
        zhorzh, Нынешние криворукие и не «за так»-ничего толкового не могут написать) 
  • Chiko Bamboni
    15 июля 2025, 09:04
    Спасибо за труд 
  • MoscowTrades
    15 июля 2025, 09:36
    У брокеров бывают тех проблемы и в данных будет гэп, а получить всю историю через АПИ не всегда возможно, есть лимиты. Более разумным представляется выкачивать файлы с котировками автоматом и разбирать их в питон/панда .

    А предложенный метод норм если надо получить данные которых обычно нет в доступе — стакан, все сделки.
    • SergeyJu
      15 июля 2025, 09:41
      MoscowTrades, и стакан, и все сделки без проблем можно брать из квика, хоть в эксель, хоть на экран, хоть сразу в БД. 

    • Rostislav Kudryashov
      16 июля 2025, 16:41
      MoscowTrades, 09:36 В настройках Квика есть пункт «Восстанавливать пропущенные данные».
  • Мир в экономике
    15 июля 2025, 10:24
    в Альфа-директ лет 15 есть экспорт в прямом эфире котировок…
  • СергейК
    15 июля 2025, 11:51
    Не подскажете, чем АПИ Тинькова лучше АПИ Мосбиржи?
  • AndKud
    15 июля 2025, 13:22
    проще и полезнее КВИК установить
    • Shadow
      15 июля 2025, 18:56
      AndKud, современный QUIK потребляет под гигабайт памяти и порой притормаживает, плюс загружает сеть, если инструментов много. Когда не нужен весь функционал, вполне достаточно самописных настраиваемых и легковесных решений.
  • AndKud
    15 июля 2025, 13:29
    Для полноты картины рынка.
  • SHOAR
    15 июля 2025, 15:02
    Можно проще. Собрать портфель прямо на смартлабе. Он автоматом обновляет котировки. А в эксель при необходимости можно просто скопировать.

  • Дрейк
    15 июля 2025, 15:54
    Помогает хоть иксы делать?)
  • Прошу не считать рекламой ибо бесплатно
    smart-lab.ru/blog/tradesignals/1062006.php
    Комьюнити лицензию 1С можно получить бесплатно на 
    developer.1c.ru/
      • Михаил Шардин, Что было в тему поста. QUIK льет данные постоянно дергать не надо ни API ни еще что либо. + QUIK позволяет подавать заявки на биржу через брокера.
  • Мне кажется, но по моему люди у которых есть деньги для торговли на бирже не умеют пользоваться Excel. Так что все решения равнозначны по бесполезности.
      • Михаил Шардин, Им нет потребности в нем. Как и в телефоне тоже.
      • lihoslavl
        16 июля 2025, 16:12
        Михаил Шардин, вышеупомянутый Python удобнее, чем криворукий Эксель. Эксель вообще не для этого предназначен, его роль ограничивается рисованием графиков на коленке и форматированием таблиц. Для серьёзных задач, связанных с деньгами, его использовать — дурной тон.
  • Вадим
    16 июля 2025, 16:39

    Скажите зачем вообще все эти танцы с бубном? 

    Только для того чтобы смотреть на актуальную стоимость своих активов?

    P.S. Программист и Excel вызывает не менее сильный рвотный рефлекс, чем 1с.  Это как надо головой ударится,  чтобы для отображения котировок бумаг своего портфеля такой oгород начать городить.

    • Вадим, это когда Квик — избыточно ставить, а по Апи подключиться это раз плюнуть :xDDDDD
      Мне кажется, долгосрочным инвесторам должно быть, достаточно tradingview. Без всяких установок и танцев с бубном
      • Михаил Шардин, Экцелем да, пользуюсь, но после строчек — установка Python. На этом мои компетенции все…
      • Вадим
        17 июля 2025, 08:06
        Михаил Шардин, для всего описанного Вами достаточно Google Sheets без всего этого набора костылей.
          • Вадим
            17 июля 2025, 08:22

            Михаил Шардин, так и надо показывать преимущество другого инструмента, а не идти на поводу использования того, что не предназначено, разрабатывая и плодя костыли. 

            Написали бы статью «Excel vs Google Sheets» глядишь при следующем опросе пользователей облачных таблиц стало бы больше.

            P.S. Для меня одно из основным преимуществ Google Sheets это доступ с любого устройства и история изменений. За последние 15 лет сам не создал ни одного Excel файла.

  • Salvinit
    16 июля 2025, 17:27
    Сложный способ у автора статьи., но рабочий и универсальный. По мне проще по dde сразу в Эксель
  • d_69
    22 июля 2025, 21:05
    А вы не родственник знаменитого инвестора Шадрина?
      • d_69
        23 июля 2025, 11:35
        Михаил Шардин, да, я уже тогда увидел, прошу прощения.
  • Указанные бесплатные API брокеров — там данные без задержки или тоже 15 минут, как у МосБиржи?

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн