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

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

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

Вся система строится на простой цепочке, которую можно повторить у себя за несколько минут, потому что код выложен на 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) |
|
Алор |
|
Финам |
Выбор субъективный и для себя выбрал Тинькофф Инвестиции.
Как воспользоваться скриптом