Избранное трейдера igorsuhar2006

1. Методология
Исследование рассматривает классическую систему моментума — покупку акций с наибольшим ростом за предшествующие N месяцев. Цель: найти возможности увеличения доходности и снижения рисков относительно базовой реализации.
Ребалансировка: производится в последний торговый день каждого месяца. В этот день по цене открытия 10:00 продаются позиции которые выходят из топ-K, и покупаются новые.
Сигнал: open[t] / open[t−252] − 1 (годовой моментум на открытиях 10:00)
Отбор: Топ-K акций по сигналу с фильтром [нижний порог, верхний порог]
Вход: open[t] — то же открытие, в которое считался сигнал
Удержание: До следующей ребалансировки (~21 торговый день)
Выход: open[t_next] — открытие следующей ребалансировки


По-русски — бонды с плавающим купоном. Ставка таких облигаций следует за каким-то рыночным индикатором — обычно это ключевая ставка или ставка межбанковского кредитования (RUONIA). Есть также выпуски, привязанные к доходности 7-летних ОФЗ (КАМАЗ, Автодор, ГТЛК).
Зачем нужны флоатеры? Помогают защититься от прилета «черных лебедей», кризиса ликвидности в банковском секторе и резкого повышения ключевой ставки.
Как это работает? Когда рыночные ставки растут, облигации с фиксированным купоном проседают в цене. С флоатерами все иначе ― их цены, за счет привязки купона к рынку, колеблются возле своего номинала.
Подводные камни:
1️⃣У всех выпусков низкая ликвидность — т.е. имеется риск совершить сделку по неадекватной цене. Что делать? Использовать только лимитные заявки. И помнить о сути инструмента — его цена не должна «убегать» далеко от номинала.
2️⃣Флоатеры сильно различаются условиями расчета купона. Самую быструю отдачу приносят выпуски, ставка купона которых пересчитывается ежедневно. Неплох и вариант с расчетом средних значений ставки за купонный период.

Сегодня начинаем уже писать полноценные скрипты для терминала, а не отдельные блоки кода на lua.
Пройдем:
Структура скрипта
В торговом терминале можно запускать небольшие примеры на lua, как мы это делали ранее, но если говорить о постоянно работающем алгоритме, а не о компактной программе, которая должна выполнить только несколько коротких действий, то минимальная структура скрипта для квика будет содержать следующие функции:

function OnInit – инициализирует глобальные переменные и константы (например, торгуемые бумаги, размеры тейка и стопа, торговый счет и пр.), имена таблиц, необходимых файлов.
function OnStop – функция остановки скрипта, активируется при нажатии клавиши «Остановить» в панели скриптов терминала.
function main – основная функция, создает отдельный поток для выполнения скрипта. Обычно внутри main создается цикл для непрерывной работы, т.к. без него функция выполнит один раз весь код, который в ней прописан и скрипт остановится.