Вопрос к системным трейдерам про AND и OR в условиях входа/выхода
Так вышло, что при использовании двух малокоррелируемых условий на ВХОДЕ я обычно применяю AND для этих условий (логика такая например, для входа должно случится пересечение ценой ma В понедельник). Для ВЫХОДА логичнее OR (типа, цена ушла ниже ma ИЛИ закрытие в конце дня).
Есть ли у кого опыт применения на ВХОДЕ OR вместо AND, а на ВЫХОДЕ AND вместо OR?
Sergey Pavlov, Например, две стратегии, которые торгуют одним инструментом. Сигналы на вход у них могут быть разные. Это эквивалентно одной стратегии с OR-сигналом на входе.
Зачем ограничивать себя рамками операций дискретной математики (ниже Дед вообще в ней утонул) мне непонятно.
Запустил перебор комбинаций AND и OR на большом множестве систем, состоящих из 2х условий на входе и 2х условий на выходе, т.е. 4 варианта на каждую систему:
1. Open AND, Close OR
2. Open AND, Close AND
3. Open OR, Close OR
4. Open OR, Close AND
В принципе, это логично (упомянутое правило входы/выхода). Второе тоже имеет под собой основание, все проистекает из операций над логическими переменными (скобки поставил, чтоб не погромистам тоже было понятно):
NOT (A AND B) = (NOT A) OR (NOT B)
Левая часть означает отрицание исходного условия, правая — эквивалент этого отрицания. В простейшем случае реверсивной системы отрицание сигнала на покупку является сигналом на продажу и наоборот. В примере топикстартера — (уже НЕ выше МА) ИЛИ (уже НЕ понедельник)
Второе же тоже соответствует операции над логическими переменными
Вход на покупку, если выполняется хотя бы одно из условий (смотря что произойдет первым):
A — цена акции пробивает MA снизу вверх
ИЛИ
B — наступает последний день (Record date), когда нужно владеть акцией, чтобы получить право на дивиденды
Выход (только если вход состоялся)
NOT A — цена оказывается ниже МА
И
NOT B — сегодняшняя дата — НЕ последний день (Record date), когда нужно владеть акцией, чтобы получить право на дивиденды
Т.е. торгуем МА-шку как обычно, кроме дней Record date, так как хотим гарантированно получить дивиденды (если цена упала ниже МА-шки в день Record date, то закрываем открытую сделку только на следующий день). Если по МА-шке сигналов на вход не было (цена так и осталась ниже МА на момент наступления Record date), то сделку закрываем на следующий день.
По сути, мы объединили два независимых правила (стратегии) в одно правило, ограничив максимальный объем одной сделкой: при независимых правилах у нас могло быть одновременно открыто до двух сделок (двойной объем), при комбинированном правиле — не больше одной активной сделки.
по поводу третьего - 3. Open OR, Close OR
имеем вход по двум двум независимым стратегиям (логическим обоснованиям) смотря какое условие сработает первым, с ограничением максимального объема одинарным значением (макс одна активная сделка одновременно).
В то же время выход теперь имеет кросс-зависимые условия по (независимым) стратегиям.
В виду несоответствия правилам отрицания логических операций, получим неожиданный (для разработчика) результат: робот начнет колбасить вне зоны объединения условий, судорожно покупая и тут же продавая, непрерывно повторяя до стирания счета комиссиями в ноль в лучшем случае)
На предыдущем примере с МА-шкой и дивидендами, Record date — пятница, сегодня — понедельник:
Робот:
«Такс, цена выше МАшки — покупаем!»
через миллисекунду, проверяет условие на выход:
«Бл..., сегодня ж НЕ пятница, закрываем сделку!»
еще через милисекунду, проверяет условие на вход:
«Такс, цена выше МАшки — покупаем!»
и так до пятницы, или пока довольный брокер, глядя на капающую комиссию, наконец, скажет: «Горшочек, не вари!»
Ну, естественно, данные утверждения справедливы, только если для выхода использовать те же условия, которые использовались для входа. Как упомянул SergeyJu, условия могут быть совершенно разные и в таком случае никаких ограничений на комбинации И/ИЛИ быть не может
Если система реверсивная, подобное не прокатит.
Если рынок асимметричный по росту/падению, то эта асимметрия часто проступает и в разных условиях на вход/выход из лонга и из шорта.
Я очень долго курил систему со входом из условия: A and B. Где A — условно рост за N баров, а B — специфический фильтр. В итоге пришел к выводу, если вероятность B сильно маленькая (редкое событие), то система практически начинает игнорировать условие А. То есть в случае AND вероятности событий должны быть сопоставимы.
Еще я делал свертку двух событий как критерий для входа: q*P(A) + (1-q)*P(B) > Х. И дальше делаем оптимизацию по q, чтобы понять какое условие больше рулит. Но выходило, что специфический фильтр надо либо вообще выкинуть (q=1), либо подмешивать совсем с маленьким весом в районе (q=0,95).
OR на входе не имеет смысла, так как это уже вторая система. А несколько систем лучше уже анализировать на следующем этапе, когда ты их в портфель будешь запаковывать.
yurikon, насчет OR на входе согласен. Но насчет AND на выходе, у меня случайно получились в одной системе интересные результаты. Я их интерпретировал следующим образом: Система увидела резкий импульс и вошла в сделку, потом ничего интересного не произошло и она закрылась, однако движение продолжилось. При выходе с OR получилась мелкая средняя сделка, при выходе с AND СрСд существенно выросла, как и Прибыль/ДД. Т.е. если был импульс, значит может быть и продолжение и система ждет подтверждение выхода вторым индикатором.
T-800, имхо, AND нельзя в общем виде использовать для выхода, так как у тебя появляется не нулевая вероятность, что рынок будет идти против тебя, а выход не будет срабатывать. Философски, выход — это отмена сетапа на вход. Я как-то так себе это представляю. Например C > MA — это вход, значит выход C< MA и тд. Для паттернов таймаут. А вот чтобы пристроить какой-то самый крутой выход, если такое получается — значит ты придумал хороший сетап на вход в другую сторону. :-)
AND нельзя в общем виде использовать для выхода, так как у тебя появляется не нулевая вероятность, что рынок будет идти против тебя, а выход не будет срабатывать. Философски, выход — это отмена сетапа на вход
есть еще другой пример из жизни: если купил акцию на IPO, чтобы спекульнуть на росте в день открытия, а она пошла в другую сторону, то ты стал инвестором)
yurikon, у меня тут такая мысль сложилась. условия A и B на вход имеют право на жизнь, если:
1. A само по себе даёт профитную эквитю.
2. B само по себе даёт профитную эквитю.
3. Торговля A c B даёт порядка половины сделок в сравнении с A без B.
4. Торговля B c A даёт порядка половины сделок в сравнении с B без A.
Насчет OR на входе выше верно заметили, что лучше это независимыми стратами оформить.
Ну а AND на выходе у меня например используется. И OR тоже. Страта собирается из нескольких запчастей, некоторые из них слишком примитивны, чтобы быть самостоятельным сигналом на выход. Такие склеиваются через AND. А через OR — какой-нибудь безусловный геймовер, например закрытие интрадейной страты перед овернайтом.
Кирилл Гудков, я провел сейчас тесты. Тестировал множество систем из двух условий на вход и двух на выход, соединенных через разные комбинации AND и OR. Получились такие выводы:
1. AND на входе работает прекрасно с AND или OR при выходе.
2. При OR на входе результаты падают раза в два.
3. При AND на входе и AND на выходе существенно расчет средняя сделка, т.к. позиция держится дольше.
Декабрь, январь и февраль на российском фондовом рынке традиционно демонстрируют яркую сезонность.
🔹 Декабрь
Один из лучших месяцев для российского рынка. Из 23 последних лет, в...
Евро игнорирует хороший ВВП: рынок прайсит риск ускорения роста ИПЦ
Евро четвертую сессию подряд отступает против доллара и во время лондонской сессии держится чуть выше 1.1850, постепенно сдавая важный психологический плацдарм на 1.19. Предварительные...
Экосистема «МГКЛ» — это единая логика оборота активов и капитала. Один и тот же товар или сделка может проходить через разные контуры группы, меняя форму, но оставаясь внутри управляемой...
Мой Рюкзак #63: ВТБ - дальше без меня, меняем на более крепкий банк, дивидендные отсечки близко
Февраль продолжает радовать стоимостных инвесторов, все по стратегии, которую описывал в конце прошлого года
Прошлый пост тут — smart-lab.ru/mobile/topic/1260904/
Было 25,9 млн...
Поговаривпют, что Зеленский согласился на вывод войск с территории Донбасс, создания демилитаризованной зоны с двух сторон с международным мониторингом и для личных гарантий себе и своей семье после у...
izaslav, ты прикинь, да? Его нет. Есть слово «класть».
То есть нельзя говорить: "**й я ложил на твоё мнение, свинячья морда".
Тут несколько ошибок.
1. Мат всегда нежелателен, п...
Банки не должны вводить запреты для заемщиков сдавать в аренду квартиры в ипотеке. Об этом ТАСС заявил Сергей Миронов, отметив, что обратится по этому поводу в ЦБ РФ. Банки не должны вводить запреты д...
Зачем ограничивать себя рамками операций дискретной математики (ниже Дед вообще в ней утонул) мне непонятно.
1. Open AND, Close OR
2. Open AND, Close AND
3. Open OR, Close OR
4. Open OR, Close AND
Если что-то намайню, напишу.
NOT (A AND B) = (NOT A) OR (NOT B)
Левая часть означает отрицание исходного условия, правая — эквивалент этого отрицания. В простейшем случае реверсивной системы отрицание сигнала на покупку является сигналом на продажу и наоборот. В примере топикстартера — (уже НЕ выше МА) ИЛИ (уже НЕ понедельник)
Второе же тоже соответствует операции над логическими переменными
NOT (A OR B) = (NOT A) AND (NOT B)
над примером надо поразмыслить...
Вход на покупку, если выполняется хотя бы одно из условий (смотря что произойдет первым):
A — цена акции пробивает MA снизу вверх
ИЛИ
B — наступает последний день (Record date), когда нужно владеть акцией, чтобы получить право на дивиденды
Выход (только если вход состоялся)
NOT A — цена оказывается ниже МА
И
NOT B — сегодняшняя дата — НЕ последний день (Record date), когда нужно владеть акцией, чтобы получить право на дивиденды
Т.е. торгуем МА-шку как обычно, кроме дней Record date, так как хотим гарантированно получить дивиденды (если цена упала ниже МА-шки в день Record date, то закрываем открытую сделку только на следующий день). Если по МА-шке сигналов на вход не было (цена так и осталась ниже МА на момент наступления Record date), то сделку закрываем на следующий день.
По сути, мы объединили два независимых правила (стратегии) в одно правило, ограничив максимальный объем одной сделкой: при независимых правилах у нас могло быть одновременно открыто до двух сделок (двойной объем), при комбинированном правиле — не больше одной активной сделки.
имеем вход по двум двум независимым стратегиям (логическим обоснованиям) смотря какое условие сработает первым, с ограничением максимального объема одинарным значением (макс одна активная сделка одновременно).
В то же время выход теперь имеет кросс-зависимые условия по (независимым) стратегиям.
В виду несоответствия правилам отрицания логических операций, получим неожиданный (для разработчика) результат: робот начнет колбасить вне зоны объединения условий, судорожно покупая и тут же продавая, непрерывно повторяя до стирания счета комиссиями в ноль в лучшем случае)
На предыдущем примере с МА-шкой и дивидендами, Record date — пятница, сегодня — понедельник:
Робот:
«Такс, цена выше МАшки — покупаем!»
через миллисекунду, проверяет условие на выход:
«Бл..., сегодня ж НЕ пятница, закрываем сделку!»
еще через милисекунду, проверяет условие на вход:
«Такс, цена выше МАшки — покупаем!»
и так до пятницы, или пока довольный брокер, глядя на капающую комиссию, наконец, скажет: «Горшочек, не вари!»
Ну, естественно, данные утверждения справедливы, только если для выхода использовать те же условия, которые использовались для входа. Как упомянул SergeyJu, условия могут быть совершенно разные и в таком случае никаких ограничений на комбинации И/ИЛИ быть не может
Если рынок асимметричный по росту/падению, то эта асимметрия часто проступает и в разных условиях на вход/выход из лонга и из шорта.
привет!
Я очень долго курил систему со входом из условия: A and B. Где A — условно рост за N баров, а B — специфический фильтр. В итоге пришел к выводу, если вероятность B сильно маленькая (редкое событие), то система практически начинает игнорировать условие А. То есть в случае AND вероятности событий должны быть сопоставимы.
Еще я делал свертку двух событий как критерий для входа: q*P(A) + (1-q)*P(B) > Х. И дальше делаем оптимизацию по q, чтобы понять какое условие больше рулит. Но выходило, что специфический фильтр надо либо вообще выкинуть (q=1), либо подмешивать совсем с маленьким весом в районе (q=0,95).
OR на входе не имеет смысла, так как это уже вторая система. А несколько систем лучше уже анализировать на следующем этапе, когда ты их в портфель будешь запаковывать.
1. A само по себе даёт профитную эквитю.
2. B само по себе даёт профитную эквитю.
3. Торговля A c B даёт порядка половины сделок в сравнении с A без B.
4. Торговля B c A даёт порядка половины сделок в сравнении с B без A.
Мне вообще кажется что если есть какие-то вариации во входах или выходах то лучше сделать две простые системы чем одну сложную.
Насчет OR на входе выше верно заметили, что лучше это независимыми стратами оформить.
Ну а AND на выходе у меня например используется. И OR тоже. Страта собирается из нескольких запчастей, некоторые из них слишком примитивны, чтобы быть самостоятельным сигналом на выход. Такие склеиваются через AND. А через OR — какой-нибудь безусловный геймовер, например закрытие интрадейной страты перед овернайтом.
1. AND на входе работает прекрасно с AND или OR при выходе.
2. При OR на входе результаты падают раза в два.
3. При AND на входе и AND на выходе существенно расчет средняя сделка, т.к. позиция держится дольше.