Избранное трейдера OnlyHuman
Информационно-статистический сервер Московской Биржи (ИСС или ISS) – это сервис, предоставляющий разнообразную биржевую информацию в режиме реального времени, а также итоги торгов и статистические данные.
Основные возможности ИСС:
Данные о ходе торгов в режиме online и итоги торгов доступны только по подписке, естественно платной.
На сайте мосбиржи есть специальный раздел “Программный интерфейс к ИСС“, на котором выложено Руководство разработчика (v.1.4), Описание метаданных и Описание методов.
С этих документов и надо начинать изучать ИИС. Кстати говоря Правила использования биржевой информации Московской Биржи четко определены и наглядно представлены в презентации.
БПИФ «Тинькофф Локальные валютные облигации»
• тикер: TLCB;
• вкладывает деньги в облигации российских эмитентов, доходность по которым привязана к иностранной валюте (евро, доллары, юани);
• портфель фонда состоит из замещающих облигаций и облигаций в юанях;
• примеры эмитентов облигаций: «Газпром», «ФосАгро», «Совкомфлот», «Норникель»;
• следует за индексом Tinkoff Aggregate Local Currency Bond Index RUB;
• средневзвешенная доходность к погашению облигаций — 6%, дюрация — 3,2 года;
• полученные купоны реинвестируются в покупку новых активов;
• фонд торгуется только в основную сессию.
БПИФ «Тинькофф Дивидендные акции»
• тикер: TDIV;
• вкладывает деньги в акции крупнейших российских компаний с высокими дивидендами и большой капитализацией;
• примеры эмитентов акций: «Сбер», Московская биржа, «Ростелеком»;
• следует за индексом Tinkoff Russian Stock Dividend Total Return Index;
• ожидаемая дивидендная доходность бумаг в 2024 году — 11,5%;
• полученные дивиденды реинвестируются в покупку новых активов;
По-русски — бонды с плавающим купоном. Ставка таких облигаций следует за каким-то рыночным индикатором — обычно это ключевая ставка или ставка межбанковского кредитования (RUONIA). Есть также выпуски, привязанные к доходности 7-летних ОФЗ (КАМАЗ, Автодор, ГТЛК).
Зачем нужны флоатеры? Помогают защититься от прилета «черных лебедей», кризиса ликвидности в банковском секторе и резкого повышения ключевой ставки.
Как это работает? Когда рыночные ставки растут, облигации с фиксированным купоном проседают в цене. С флоатерами все иначе ― их цены, за счет привязки купона к рынку, колеблются возле своего номинала.
Подводные камни:
1️⃣У всех выпусков низкая ликвидность — т.е. имеется риск совершить сделку по неадекватной цене. Что делать? Использовать только лимитные заявки. И помнить о сути инструмента — его цена не должна «убегать» далеко от номинала.
2️⃣Флоатеры сильно различаются условиями расчета купона. Самую быструю отдачу приносят выпуски, ставка купона которых пересчитывается ежедневно. Неплох и вариант с расчетом средних значений ставки за купонный период.
Продолжаем погружение в основы qlua.
Идентификатор инструмента
Получаем количество свечей через getNumCandles
Получаем свечные данных через getCandlesByIndex
Читаем данные с индикатора SMA
Данные с верхней и нижней линии Price Channel
Графики с таблицы текущих торгов
Сравнение получение данных через CreateDataSource и через getCandlesByIndex
Торговый терминал позволяет получать данные по биржевым свечкам непосредственно из открытых графиков. Причем можно получать данные не только с котировок цены, но и с объемов, с индикаторов, а также, как мы увидим позже, с любых графических данных выведенных, например, с таблицы текущих торгов.
Получение данных котировок с графика цены.
Для начала на самом графике цены необходимо установить идентификатор.
Создаем график в торговом терминале, нажимаем правую клавишу мышки, выбираем «Редактировать», выбираем график цен:
Проваливаемся во вкладку «Дополнительно», и присваиваем id, например: SBER_ID:
Кратко расскажу принципы и некоторые нюансы работы с графиком в Qiuk в плане создания своего индикатора (здесь и далее – подразумевается использование языка программирования Lua). В конце текста изначально хотел прикрепить видео с демонстрацией и краткими пояснениями работы моих индикаторов, но решил сделать это во второй части статьи, чтобы совместить просто иллюстрацию с небольшим анализом фьючерсов и акций.
На полноту изложения вопроса по работе с индикаторами на графике Quik не претендую. Информация будет полезна интересующимся данной темой, не рассчитана на профессионалов (которые и так все знают, умеют и реализовали – свято в это верю), но все же предполагает наличие определенного уровня знаний Lua.
Зачем мучиться со своими индикаторами? Конечно, в этом нет смысла, если вас устраивают стандартные индикаторы или отсутствуют самостоятельные подходы (методы) торговли, либо визуализация вам в принципе не требуется (не интересна).
В моем случае мне банально захотелось сделать визуализацию своего метода прогнозирования экстремумов цены следующего интервала.
Пока не ушли далеко от темы получения данных из таблицы текущих торгов решил сделать в качестве примера еще и простой скринер акций. Это вполне доступно по тем материалам, которые мы уже прошли. Будем отслеживать динамику изменения цены относительно цены закрытия предыдущего дня.
Нам понадобятся:
1. Таблица для вывода данных (строить уже умеем).
2. Получение данных из таблицы текущих торгов через getParamEx (проходили там же).
3. Тикеры бумаг. Можно взять конкретный список бумаг и работать с ним, но приятнее и правильнее, чтобы скрипт мог автоматом выгружать все торгуемые тикеры из терминала и далее уже отслеживать их динамику. Попробуем это реализовать.
Через sec_list = getClassSecurities(«TQBR») можно получить строку с тикерами акций на Московской бирже, которые будут разделены запятыми. Чтобы пройтись по всем элементам и записать их в массив используем цикл:
for TIKER in string.gmatch(sec_list, "[^,]+") do tikers[#tikers + 1]=TIKER end
Отслеживать будем параметр LASTCHANGE – процент изменения цены от цены закрытия:
Благодаря наводке @quant_trader (за что отдельное спасибо!), переписал свой первый скрипт из поста https://smart-lab.ru/blog/916765.php по выгрузке из терминала всех торгуемых бумаг. Теперь всё выполняется штатными средствами с помощью getClassSecurities.
Далее второй скрипт (из поста выше) выгружает из торгового терминала под закрытие дня (под закрытие основной, либо вечерней сессии — можно устанавливать, я делаю обе выгрузки) необходимые данные по всем бумагам списка.
Особенности запроса. Если ввести:
sec_list = getClassSecurities("TQBR")<br />message(sec_list)
то терминал выдаст строку, где через запятую будут все тикеры, при этом видим, что список не полон, обрывается на RTSB:
Как выяснилось, это связано только с ограничением самого терминала на вывод строки (не более 899 символов).
При этом если посмотреть длину строки, то будет видно, что символов больше:
sec_list = getClassSecurities("TQBR") message(tostring(string.len(sec_list)))
выдаст 1281
Разбив строку по запятым получим весь массив тикеров для дальнейшей работы:
Иногда бывает необходимым проанализировать не отдельную бумагу, а рынок в целом.
Кто-то смотрит для этого индексы, кто-то различные сантименты, а мне удобнее проводить анализ по динамике всех бумаг (сколько на дату эмитентов в совокупности растет, сколько бумаг выше своих месячных, квартальных или годовых значений и пр.). Каждый по своему может это использовать далее (как общий фильтр принятия решения для входа в сделку, для составления своих индексов, для анализа динамики своего портфеля – особенно если счетов несколько у разных брокеров и пр.).
Получить котировки на конкретную дату можно через сайт Московской Биржи (https://www.moex.com/ru/marketdata/#/mode=groups&group=4&collection=3&boardgroup=57&data_type=history&date=2023-06-27&category=main), но это не очень удобно т.к. требуется либо парсить (для чего нужен уже нетривиальный уровень в программировании), либо вручную выдергивать эту страницу, например в excel (тем, кто попробует выгрузить всё по кнопкам скачать Excel / CSV биржа предложит воспользоваться платной подпиской для получения данных).