Избранное трейдера Игрок
Обычный трейдер смотрит на свечной график, но свеча — это уже тень прошлого, постфактум. Между тем настоящая динамика рождается в глубине торгового стакана — Limit Order Book, где борьба заявок определяет будущий импульс.
Проблема в том, что историю стакана почти нигде не увидеть: розничные терминалы для частных клиентов дают лишь текущую таблицу DOM ( Depth of Market ) и это статичный срез без прошлого.
Чтобы увидеть то, на что обычный трейдер не обращает внимание я собрал инструмент, который превращает исторические данные L2 Order Book (стакан заданной глубиной) и Trades Stream (обезличенные сделки) в тепловые карты и позволяет изучать эволюцию заявок на Московской бирже через браузер с Deep Zoom — плавно, как в Google Maps.

В общем, я тут пробую применять Rust к биржевой торговле. Сделал простенькое приложение, которое:
1. Подключается к биржам (пока это Бинанс и Кракен, дальше буду смотреть, что подключить еще)
2. Собирает тиковые данные по трейдам и ордербуку
3. Приводит это всё к единому формату
4. Сохраняет историю в базу для дальнейшего анализа
5. Мониторит арбитражные возможности
Наверное, я не буду рассказывать все детали реализации, потому что это мало кому интересно. Вместо этого поделюсь выводами:
1. Rust очень дружелюбный для своей производительности язык. Если кто ещё не пробовал, то максимально рекомендую. Во-первых, вы не испытываете никаких проблем с управлением памятью. Во-вторых, он настолько параноидально следит за всеми местами, где можно накосячить, что выстрелить себе в ногу практически невозможно (а это важно, согласитесь). В-третьих, с ним очень дружит ChatGPT, и вы можете спокойно писать хороший, чистый и читаемый код в расслабленном стиле, и, по факту, остаётся следить только за архитектурой приложения.
---------- Send 0.001 ---------- Reply 0.029 status 3 trans_id 9999 msg Заявка 2001882023283372213 успешно зарегистрирована. client_code SPBFUT00egd order_num 2001882023283372213 price 2508.0 ---------- Order 0.103 client_code SPBFUT00egd order_num 2001882023283372213 price 2508.0 ---------- Order 0.103 client_code SPBFUT00egd order_num 2001882023283372213 price 2508.0 ----------Лет 10 назад через Церих капитал было: Reply 0.1 сек, Order 0.2 сек.
-- Если FILL_OR_KILL не исполняется, msg в окне сообщений
-- Ошибка создания заявки. [GW][4103]
-- "Неполное сведение FOK заявки."
-- result = "",
-- OnTransReply(): status=4, msg=см.выше, order_num=0.
SecCode = "MMZ5"
ClsCode = "SPBFUT"
TransId = 9999
EventLog = {}
Tags = {"Send", "Reply", "Order", "Trade"}
function OnInit (scriptPath)
ScriptPath = scriptPath
end -- OnInit()
function OnOrder (order) -- Постановка в очередь
if order.# Получение данных о ценах облигаций
import requests
import csv
from datetime import datetime
import time
def get_bond_data(bond_identifier, start_date, end_date):
"""Получение данных по облигации (ISIN, тикер или название)"""
# Поиск облигации
url = "https://iss.moex.com/iss/securities.json"
params = {'q': bond_identifier}
response = requests.get(url, params=params)
data = response.json()
# Ищем облигацию
bond_info = None
for security in data['securities']['data']:
if (security[1] == bond_identifier or # ISIN
security[0] == bond_identifier or # тикер
security[2] == bond_identifier): # название
bond_info = {
'ticker': security[0],
'shortname': security[1],
'fullname': security[2],
'isin': security[1] if security[1].Заканчивается отчетная кампания за 2022 год. Напоминаем, что 2 мая — последний день, когда можно подать декларацию 3-НДФЛ и отчитаться о доходах без штрафов.
Многие переносят убытки прошлых лет и сальдируют финансовые результаты у разных брокеров, чтобы снизить текущую прибыль и налог. Вопросов на эту тему всегда много, и мы стараемся уделять ей больше внимания в период отчетности.
Поговорим о сальдировании финансовых результатов, полученных на российском и зарубежном брокерском счете, если на одном из них вышла прибыль, а другом — убыток.
Прибыли и убытки от разных операций внутри одного года и одного брокерского счета сальдируются автоматически. А сальдировать прибыли и убытки, полученные у разных брокеров (в т. ч. иностранных), необходимо самостоятельно через декларацию 3-НДФЛ.
По сути, правила зачета убытков в счет прибыли, если один из брокеров является иностранным, ничем не отличаются.
Точно также сальдируются между собой только прибыли и убытки по операциям с ценными бумагами и ПФИ — прежде всего фьючерсы и опционы.
В майские праздники торги на рынках Московской биржи будут проводиться по следующему регламенту:
• в рабочие дни 28 апреля, 2–5 мая и 10–12 мая торги проводятся в обычном режиме;
• в праздничные дни 29–30 апреля, 1, 6, 7 и 9 мая торгов не будет;
• в праздничный день 8 мая торги пройдут в обычном режиме за исключением сделок спот с расчетами TODAY и сделок своп overnight на валютном рынке и сделок на рынке СПФИ в российских рублях.




Я проанализировал премиальные программы 8 российских банков чтобы понять, какая из них подходит мне больше всего. Возможно, наши с вами характеристики и обстоятельства похожи, и вам будет полезно прочитать этот обзор.
Премиальные тарифы в российских банках становятся всё доступнее: инфляция не распространяется на минимальные остатки, требуемые для бесплатного премиального обслуживания. С другой стороны, вот уже год банки пытаются адаптироваться к новым реалиям, и не всем удалось восстановить уровень сервиса, который был доступен клиенту с высокими запросами до 2022 года. Я об этом знаю не понаслышке. У меня сейчас премиум в двух банках: Тинькофф и Открытие.
Из-за специфики своих долгосрочных планов на жизнь (FI/RE, но статья не об этом), у меня накапливаются крупные остатки, и было бы глупо не получать дополнительные опции от банков. На горизонте до года передо мной возникает дилемма: либо продолжать использовать уже имеющийся банк (наращивая остаток в нем для получения все больших опций), либо искать ещё один, третий — для получения новых «плюшек».