Блог им. dvp
http://smart-lab.ru/blog/313792.php
http://smart-lab.ru/blog/314938.php
http://smart-lab.ru/blog/315291.php
Бинарную матрицу набора результатов работы роботов можно использовать для управления размером позиции при торговле. Подход очень простой – сумме единиц в матрице приводим в соответствие размер позиции.
Попробуем этот интуитивно понятный подход выразить формулами.
Берём квадратную матрицу размера 3х3 с набором бинарных «мнений» роботов.
Где aji – «мнение» отдельного робота.
Назовём такую матрицу клетчатым роботом (checkered robot).
Графически клетчатый робот выглядит как матрица квадратиков разного цвета.
Определим сумму «мнений» роботов как:
Sn = aij) ∈ {0,1,2,3,4,5,6,7,8,9}
Сопоставим значению суммы, используемому как индекс, соответствующий элемент вектора-строки (набора) значений рекомендуемого размера текущей позиции.
Rn ∈ { r0, r1, r2 , r3 , r4 , r5 , r7, r8 , r9 }
Если обозначить предшествующее значение позиции как Zt-1, соответствующее рекомендованному значению (Rn)t-1 то, при изменившемся рекомендуемом значении текущей позиции
производится коррекция текущей позиции:
Осталось определиться со значениями размера позиции Rn и далее, по окончании рабочего тайм-фрейма и наступлении момента перерасчета, действовать по циклической схеме:
Определяем Aij ==> вычисляем Sn ==> сопоставляем Rn ==> корректируем Zt ==> ждем начала нового тайм-фрейма.
Введем дополнительные обозначения параметров
VL выделяемый размер активов под длинную позицию по выбранному инструменту.
VS выделяемый размер активов под короткую позицию по выбранному инструменту.
Xn размер позиции, округленный до ближнего значения допустимого количества лотов.
pt текущее значение цены инструмента.
n текущее значение суммы
LL размер плеча для длинных позиций.
LS размер плеча для коротких позиций.
Значения позиции округляются до значения в лотах.
Максимальное значение позиции в лотах
Минимальное значение позиции в лотах
Промежуточные значения позиции в лотах
Выбираем значение Sn, соответствующее состоянию «вне рынка». Допустим, это 4.
Подмножество Long
Rn , где n ∈ { 4, 5, 6, 7, 8, 9 }
RLmax =R9 = Округл(VL / pt).
Rn = Округл((RLmax / 5)*(Sn-4)) ( 2 )
Подмножество Short
Rn , где n∈ { 0, 1, 2, 3, 4 }
RSmax =R0 = -Округл(VS / pt)
Rn = Округл((RSmax / 4)*(4-Sn)) ( 3 )
Использование трендследящих алгоритмов сопровождается потерями в зоне флэта. В какой-то мере уменьшить потери можно, введя масштабирующий множитель
При выявлении нетрендовой области, которая характеризуется повышением частоты сделок противоположных направлений КНП уменьшается, а при выявлении тренда КНП увеличивается. В случае маржинальной торговли КНП будет соответствовать увеличению и уменьшению размера плеча.
Формулы (1), (2), (3) примеров будут выглядеть следующим образом:
Rn = k*(Округл((Rmax/ 9)*Sn))
Rn = k*(Округл((RLmax/ 5)*(Sn-4)))
Rn = k*(Округл((RSmax/ 4)*(4-Sn)))
Определение значения КНП можно выполнять автоматически с помощью алгоритмов, выявляющих трендовые участки, или не автоматически, визуально.
Используя трендследящие алгоритмы и приведённый способ управления размером позиции мы избавляемся от необходимости работы со стопами. Платой за бесстоповую работу является повышение частоты выравнивающих сделок на бестрендовых участках, снизить отрицательный эффект которых помогает коэффициент нагрузки позиции.
Описанную совокупность способов и средств я называю Управляемым Клетчатым Роботом (Controlled Checkered Robot) - УКР или CCR.
Варианты использования УКРов могут быть самыми разнообразными – от одного из критериев при принятии решения о сделке, так и до полной автоматизации проведения трейдов. Как вариант, УКР неплохой советчик о позиции в конце сессии для переноса на следующую сессию.
Диренко Вячеслав
rbc-trading.blogspot.ru
Есть вопросы.
1. Почему единичный робот бинарный (лонг-шорт), а не триарный (лонг, шорт, аут).
2. Какой смысл в клетках, если мнения роботов просто суммируются.
3. Почему такое странное ограничение — 9 роботов. ИМХО, ничто не мешает клепать их сотнями.
1. Проще считать, но можно и триарный
2., 3. Для визуализации
см. Введение (http://rbc-trading.blogspot.ru/p/blog-page.html)
Почему 9 – потому, что это укладывается в диапазон «кошелька Миллера» и в матрицу 3х3, т.е. допускает удобный и быстрый анализ.
3. ничто не мешает клепать их сотнями при полностью автоматической работе
Для визуализации.
200-периодная скользящая — это тоже инструмент визуализации.
Он как-то даже робота своего выкладывал. С открытым кодом.
Это был тот еще ребус! Абсолютно бессмысленный и чрезвычайно запутанный.
в Excel это выглядит элементарно
Ну, а по существу — не слишком ли усложняете себе задачу?
Я так и не понял, что Вы получаете на выходе, после всех этих расчетов. вроде сначала написано «Управление размером позиции», а под конец уже «Варианты использования УКРов могут быть самыми разнообразными».
Изначально использовал для визуальной оценки состояния работы некоторого множества алгоритмов на некотором множестве бумаг.Листать страницы с графиками, которых на экране помещается ограниченное количество, стало не особенно удобно. Сделал свертку экранов, на которых 3 строки по 3 графика, по разным бумагам в таблички на листе Excel. Стало удобным контролировать состояние работу алгоритмов. Затем приспособил сумму значений для управления размером позиции и т.д. Очень помогает в неясных ситуациях, поскольку нивелирует, в какой-то степени, субъективную оценку ситуации.