Блог им. dvp

Controlled Checkered robot - Управляемый Клетчатый Робот

    • 16 марта 2016, 16:20
    • |
    • dvp
  • Еще
Начало см.:

http://smart-lab.ru/blog/313792.php

http://smart-lab.ru/blog/314938.php

http://smart-lab.ru/blog/315291.php

Управление размером позиции

Бинарную матрицу набора результатов работы роботов можно использовать для управления размером позиции при торговле. Подход очень простой – сумме единиц в матрице приводим в соответствие размер позиции.

Попробуем этот интуитивно понятный подход выразить формулами.

Берём квадратную матрицу размера 3х3 с набором бинарных «мнений» роботов.

AijControlled Checkered robot  -  Управляемый Клетчатый Робот    

Где  aji  – «мнение» отдельного робота.

Назовём такую матрицу клетчатым роботом (checkered robot).

Графически клетчатый робот выглядит как матрица квадратиков разного цвета.

Определим сумму «мнений» роботов как:

Sn = Controlled Checkered robot  -  Управляемый Клетчатый Робот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)t≠ (Rn)t-1

производится коррекция текущей позиции:

Zt= Zt-1+((Rn)t — Zt-1))

Осталось определиться со значениями размера позиции Rn  и далее, по окончании рабочего тайм-фрейма и наступлении момента перерасчета,  действовать по циклической схеме:

Определяем Aij  ==> вычисляем Sn ==>  сопоставляем Rn  ==> корректируем  Zt  ==> ждем начала нового тайм-фрейма.

Примеры формирования набора значений размера текущей позиции

Введем дополнительные обозначения параметров

VL выделяемый размер активов под длинную позицию по выбранному инструменту.

VS выделяемый размер активов под короткую позицию по выбранному инструменту.

Xn размер позиции, округленный до ближнего значения допустимого количества лотов.

pt  текущее значение цены инструмента.

n текущее значение суммы

LL размер плеча для длинных позиций.

LS размер плеча для коротких позиций.

Примеры определения значений  Rn  

Значения позиции округляются до значения в лотах.

  1. Торговля только Long .

Максимальное значение позиции в лотах

Rmax=R9 =  Округл(VL / pt).

Минимальное значение позиции в лотах

Rmin=R0 = 0         (вне рынка) 

Промежуточные значения позиции в лотах

R = Округл((Rmax/ 9)*Sn)                                                           ( 1 )

  1. Торговля  Long  и Short.

Выбираем значение Sn, соответствующее состоянию «вне рынка». Допустим, это 4. 

Rmin =min(abs(Rn)) =R4 = 0          (вне рынка) 

Подмножество Long

 

Rn , где  n ∈ { 4, 5, 6, 7, 8, 9 }

RLmax =R9 =  Округл(VL / pt).

R = Округл((RLmax / 5)*(Sn-4))                                                      ( 2 )

Подмножество Short

 

Rn , где  n∈ { 0, 1, 2, 3, 4 }

RSmax =R0 = -Округл(VS / pt)

R = Округл((RSmax / 4)*(4-Sn))                                                      ( 3 )

 

 

Дополнительный параметр управления размером позиции

Использование трендследящих алгоритмов сопровождается потерями в зоне флэта. В какой-то мере уменьшить потери можно, введя масштабирующий множитель

k  – коэффициент нагрузки позиции (КНП)

При выявлении нетрендовой области, которая характеризуется повышением  частоты сделок противоположных направлений КНП уменьшается, а при выявлении тренда КНП увеличивается.  В случае маржинальной торговли КНП будет соответствовать увеличению и уменьшению размера плеча.

Формулы (1), (2), (3)  примеров будут выглядеть следующим образом:

 

R = k*(Округл((Rmax/ 9)*Sn))

Rn  = k*(Округл((RLmax/ 5)*(Sn-4)))                                                      

Rn  = k*(Округл((RSmax/ 4)*(4-Sn)))      

Определение значения КНП можно выполнять автоматически с помощью алгоритмов, выявляющих трендовые участки, или не автоматически, визуально.

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

Описанную совокупность способов и средств я называю Управляемым Клетчатым Роботом (Controlled Checkered Robot)  - УКР или CCR.

Варианты использования УКРов могут быть самыми разнообразными – от одного из критериев при принятии решения о сделке, так и  до полной автоматизации проведения трейдов. Как вариант, УКР неплохой советчик о позиции в конце сессии для переноса на следующую сессию.

Диренко Вячеслав

rbc-trading.blogspot.ru

    ★7
    9 комментариев
    Прочитал все статьи. 
    Есть вопросы.
    1. Почему единичный робот бинарный (лонг-шорт), а не триарный (лонг, шорт, аут).
    2. Какой смысл в клетках, если мнения роботов просто суммируются.
    3. Почему такое странное ограничение — 9 роботов. ИМХО, ничто не мешает клепать их сотнями. 
    avatar
    SergeyJu, 
    1. Проще считать, но можно и триарный
    2., 3.  Для визуализации
    см. Введение (http://rbc-trading.blogspot.ru/p/blog-page.html)
     Почему 9 – потому, что это укладывается в диапазон «кошелька Миллера» и в матрицу 3х3, т.е. допускает удобный и быстрый анализ. 
    3. ничто не мешает клепать их сотнями при полностью автоматической работе
    avatar
    dvp, то есть «клеточность» у Вас не по существу алготорговли, а только для картинок.
    avatar
    SergeyJu, 
    Для визуализации.
    200-периодная скользящая — это тоже инструмент визуализации.
    avatar
    dvp, если Вы используете СС для построения робота — нет.
    avatar
    Чем-то напомнило систему некоего «регулеста», время от времени дающего свои «прогнозы» на форекс-форумах.
    Он как-то даже робота своего выкладывал. С открытым кодом.
    Это был тот еще ребус! Абсолютно бессмысленный и чрезвычайно запутанный.
    avatar
    Translator, 
    в Excel это выглядит элементарно
    avatar
    Посмотрев на обилие формул, почувствовал себя идиотом. :)
    Ну, а по существу — не слишком ли усложняете себе задачу?
    Я так и не понял, что Вы получаете на выходе, после всех этих расчетов. вроде сначала написано «Управление размером позиции», а под конец уже «Варианты использования УКРов могут быть самыми разнообразными».
    avatar
    Prophetic, 
    Изначально использовал для визуальной оценки состояния работы некоторого множества алгоритмов на некотором множестве бумаг.Листать страницы с графиками, которых на экране помещается ограниченное количество, стало не особенно удобно. Сделал свертку экранов, на которых 3 строки по 3 графика, по разным бумагам в таблички на листе Excel. Стало удобным контролировать состояние работу алгоритмов. Затем приспособил сумму значений для управления размером позиции и т.д. Очень помогает в неясных ситуациях, поскольку нивелирует, в какой-то степени, субъективную оценку ситуации.
    avatar

    теги блога dvp

    ....все тэги



    UPDONW
    Новый дизайн