Избранное трейдера autotrade
▫️ Зачем?
Если есть желание купить облигации, чтобы зафиксировать текущую доходность, но сложно определиться что покупать, ведь надо сравнить разные выпуски между собой, с разными сроками и разной доходностью. А ещё ЦБ может ставку повысить, тогда цена облигаций упадёт. А как сильно упадёт у разных выпусков? Что выбирать, чтобы уменьшить риски? А если ЦБ не повысит, а понизить решит ставку, какие облигации больше вырастут в цене? Со всеми этими вопросами поможет как раз дюрация
▫️ Определение
Дюрация — это время, за которое инвестор возвращает обратно свои инвестиции (Обычная дюрация или Дюрация Маколея).
Ещё дюрация позволяет оценить (приблизительно) зависимость рыночной цены от изменения процентной ставки (Модифицированная Дюрация)
▫️ Как пользоваться?
Данный пост служит для знакомства с дюрацией, поэтому перегружать формулами не буду. Найти их можно в той же Вики. Сам я использую и вам рекомендую пользоваться расчётами доходности от МосБиржи $MOEX
Возьмём для примера два выпуска ОФЗ-ПД. Один с погашением через 1,5 месяца, другой почти через 13 лет $SU25084RMFS3 и $SU26240RMFS0 соответственно
Кратко расскажу принципы и некоторые нюансы работы с графиком в Qiuk в плане создания своего индикатора (здесь и далее – подразумевается использование языка программирования Lua). В конце текста изначально хотел прикрепить видео с демонстрацией и краткими пояснениями работы моих индикаторов, но решил сделать это во второй части статьи, чтобы совместить просто иллюстрацию с небольшим анализом фьючерсов и акций.
На полноту изложения вопроса по работе с индикаторами на графике Quik не претендую. Информация будет полезна интересующимся данной темой, не рассчитана на профессионалов (которые и так все знают, умеют и реализовали – свято в это верю), но все же предполагает наличие определенного уровня знаний Lua.
Зачем мучиться со своими индикаторами? Конечно, в этом нет смысла, если вас устраивают стандартные индикаторы или отсутствуют самостоятельные подходы (методы) торговли, либо визуализация вам в принципе не требуется (не интересна).
В моем случае мне банально захотелось сделать визуализацию своего метода прогнозирования экстремумов цены следующего интервала.
Функция CreateDataSource
Получение количества свечек данных
Пауза для подгрузки данных
Получение по инструменту OPEN, HIGH, LOW, CLOSE, VOLUME
Обработка времени и даты
Закрытие источника данных
Примеры: получение данных последних 10 свечей, выгрузка новой минутной свечки после её закрытия, текущее значение простой средней SMA10 по минуткам
Простой скрипт выгрузки котировок
Сегодня рассмотрим функцию, с помощью которой можно получать данные биржевых свечек. Это можно делать и с графиков (чуть позже рассмотрим), но в этом случае нужно, чтобы сам график как источник данных был открытым, что не очень удобно, особенно если скрипт использует несколько таймфреймов – необходимо аналогичным образом держать открытыми и соответствующее количество графиков.
Более практичным вариантом является получение данных через функцию CreateDataSource, запрос осуществляется следующим образом:
ds, err = CreateDataSource(код класса, тикер инструмента, интервал)
Код класса: для акций «TQBR», для срочного рынка «SPBFUT».
Как понять, дорого или дёшево стоит наш рынок? Как соотнести эту стоимость с показателями прошлых лет? Методики могут быть разными. Одной из них является оценка индекса MCFTR полной доходности Мосбиржи. Правда, более адекватно было бы отнести этот индекс к величине денежной массы RUM2 (которая, кстати, выросла за прошедший год). Предлагаю так и сделать.
По MCFTR/RUM2 мы вернулись на уровни 2018 года. Да-да, всего лишь 2018, хотя по индексу Мосбиржи уже на уровнях 2020 года. Вот так сказывается рост денежной массы за это время. Но коррекция с текущих уровней выглядит вполне логичной даже по MCFTR/RUM2, т.к. мы уперлись в мощный уровень сопротивления. А уж как оно будет — скоро увидим !)
P.S. Индексы полной доходности рассчитываются в дополнение к ценовым индексам и отражают изменение суммарной стоимости российских акций с учетом дивидендных выплат. Биржа рассчитывает индексы полной доходности «брутто» – без учета налогообложения и «нетто» – с учетом налогообложения.
🔸ПАО «Газпром» — глобальная энергетическая компания. Основные направления деятельности — геологоразведка, добыча, транспортировка, хранение, переработка и реализация газа, газового конденсата и нефти, реализация газа в качестве моторного топлива, а также производство и сбыт тепло- и электроэнергии.
🔸«Газпром» видит свою миссию в надежном, эффективном и сбалансированном обеспечении потребителей природным газом, другими видами энергоресурсов и продуктами их переработки.
🔸Стратегической целью «Газпрома» является укрепление статуса лидера среди глобальных энергетических компаний посредством диверсификации рынков сбыта, обеспечения энергетической безопасности и устойчивого развития, роста эффективности деятельности, использования научно-технического потенциала.
🔸«Газпром» является мировым лидером по добыче природного газа. В настоящее время компания активно реализует масштабные проекты по освоению газовых ресурсов полуострова Ямал, арктического шельфа, Восточной Сибири и Дальнего Востока, а также ряд проектов по разведке и добыче углеводородов за рубежом.
Сегодня начинаем уже писать полноценные скрипты для терминала, а не отдельные блоки кода на lua.
Пройдем:
Структура скрипта
В торговом терминале можно запускать небольшие примеры на lua, как мы это делали ранее, но если говорить о постоянно работающем алгоритме, а не о компактной программе, которая должна выполнить только несколько коротких действий, то минимальная структура скрипта для квика будет содержать следующие функции:
function OnInit – инициализирует глобальные переменные и константы (например, торгуемые бумаги, размеры тейка и стопа, торговый счет и пр.), имена таблиц, необходимых файлов.
function OnStop – функция остановки скрипта, активируется при нажатии клавиши «Остановить» в панели скриптов терминала.
function main – основная функция, создает отдельный поток для выполнения скрипта. Обычно внутри main создается цикл для непрерывной работы, т.к. без него функция выполнит один раз весь код, который в ней прописан и скрипт остановится.