Блог им. MoneyMan

Вопрос к системным трейдерам про AND и OR в условиях входа/выхода

    • 09 апреля 2025, 06:50
    • |
    • T-800
      Smart-lab премиум
  • Еще
Так вышло, что при использовании двух малокоррелируемых условий на ВХОДЕ я обычно применяю AND для этих условий (логика такая например, для входа должно случится пересечение ценой ma В понедельник). Для ВЫХОДА логичнее OR (типа, цена ушла ниже ma ИЛИ закрытие в конце дня).

Есть ли у кого опыт применения на ВХОДЕ OR вместо AND, а на ВЫХОДЕ AND вместо OR?
22 комментария
Можно придумать сколько угодно условий входа и выхода как с and, так и с or. В основе, прежде всего, лежит здравый смысл.
avatar
myaucha, можно пример здравого смысла применительно ко входу/выходу на рынке?
avatar
Sergey Pavlov, Например, две стратегии, которые торгуют одним инструментом. Сигналы на вход у них могут быть разные. Это эквивалентно одной стратегии с OR-сигналом на входе.

Зачем ограничивать себя рамками операций дискретной математики (ниже Дед вообще в ней утонул) мне непонятно.
avatar
myaucha, верно, даже астрологи и нумерологи находят здравый смысл в своих науках)
avatar
Интересное замечание:)) Опыта такого не припомню.
avatar
zam, наткнулся на эту анамалию (которая у меня получилась из-за моей ошибки), тестируя твою систему. Сейчас в вотсап напишу.
avatar
Запустил перебор комбинаций 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

Если что-то намайню, напишу.
avatar
В принципе, это логично (упомянутое правило входы/выхода). Второе тоже имеет под собой основание, все проистекает из операций над логическими переменными (скобки поставил, чтоб не погромистам тоже было понятно):

NOT (A AND B) = (NOT A) OR (NOT B)

Левая часть означает отрицание исходного условия, правая — эквивалент этого отрицания. В простейшем случае реверсивной системы отрицание сигнала на покупку является сигналом на продажу и наоборот. В примере топикстартера — (уже НЕ выше МА) ИЛИ (уже НЕ понедельник)

Второе же тоже соответствует операции над логическими переменными

NOT (A OR B) = (NOT A) AND (NOT B)

над примером надо поразмыслить...

avatar
Дед Нечипор, Вот пример второго:

Вход на покупку, если выполняется хотя бы одно из условий (смотря что произойдет первым):
A — цена акции пробивает MA снизу вверх
ИЛИ
B — наступает последний день (Record date), когда нужно владеть акцией, чтобы получить право на дивиденды

Выход (только если вход состоялся)
NOT A — цена оказывается ниже МА
И
NOT B — сегодняшняя дата — НЕ последний день (Record date), когда нужно владеть акцией, чтобы получить право на дивиденды

Т.е. торгуем МА-шку как обычно, кроме дней Record date, так как хотим гарантированно получить дивиденды (если цена упала ниже МА-шки в день Record date, то закрываем открытую сделку только на следующий день). Если по МА-шке сигналов на вход не было (цена так и осталась ниже МА на момент наступления Record date), то сделку закрываем на следующий день.

По сути, мы объединили два независимых правила (стратегии) в одно правило, ограничив максимальный объем одной сделкой: при независимых правилах у нас могло быть одновременно открыто до двух сделок (двойной объем), при комбинированном правиле — не больше одной активной сделки.
avatar
по поводу третьего - 3. Open OR, Close OR
имеем вход по двум двум независимым стратегиям (логическим обоснованиям) смотря какое условие сработает первым, с ограничением максимального объема одинарным значением (макс одна активная сделка одновременно).
В то же время выход теперь имеет кросс-зависимые условия по (независимым) стратегиям.
В виду несоответствия правилам отрицания логических операций, получим неожиданный (для разработчика) результат: робот начнет колбасить вне зоны объединения условий, судорожно покупая и тут же продавая, непрерывно повторяя до стирания счета комиссиями в ноль в лучшем случае)

На предыдущем примере с МА-шкой и дивидендами, Record date — пятница, сегодня — понедельник:
Робот:
«Такс, цена выше МАшки — покупаем!»
через миллисекунду, проверяет условие на выход:
«Бл..., сегодня ж НЕ пятница, закрываем сделку!»
еще через милисекунду, проверяет условие на вход:
«Такс, цена выше МАшки — покупаем!»
и так до пятницы, или пока довольный брокер, глядя на капающую комиссию, наконец, скажет: «Горшочек, не вари!»


Ну, естественно, данные утверждения справедливы, только если для выхода использовать те же условия, которые использовались для входа. Как упомянул SergeyJu, условия могут быть совершенно разные и в таком случае никаких ограничений на комбинации И/ИЛИ быть не может
avatar
Если система реверсивная, подобное не прокатит. 
Если рынок асимметричный по росту/падению, то эта асимметрия часто проступает и в разных условиях на вход/выход из лонга и из шорта. 
avatar

привет!

Я очень долго курил систему со входом из условия: A and B. Где A — условно рост за N баров, а B — специфический фильтр. В итоге пришел к выводу, если вероятность B сильно маленькая (редкое событие), то система практически начинает игнорировать условие А. То есть в случае AND вероятности событий должны быть сопоставимы.

Еще я делал свертку двух событий как критерий для входа: q*P(A) + (1-q)*P(B) > Х. И дальше делаем оптимизацию по q, чтобы понять какое условие больше рулит. Но выходило, что специфический фильтр надо либо вообще выкинуть (q=1), либо подмешивать совсем с маленьким весом в районе (q=0,95).

OR на входе не имеет смысла, так как это уже вторая система. А несколько систем лучше уже анализировать на следующем этапе, когда ты их в портфель будешь запаковывать. 

avatar
yurikon, насчет OR на входе согласен. Но насчет AND на выходе, у меня случайно получились в одной системе интересные результаты. Я их интерпретировал следующим образом: Система увидела резкий импульс и вошла в сделку, потом ничего интересного не произошло и она закрылась, однако движение продолжилось. При выходе с OR получилась мелкая средняя сделка, при выходе с AND СрСд существенно выросла, как и Прибыль/ДД. Т.е. если был импульс, значит может быть и продолжение и система ждет подтверждение выхода вторым индикатором.
avatar
T-800, имхо, AND нельзя в общем виде использовать для выхода, так как у тебя появляется не нулевая вероятность, что рынок будет идти против тебя, а выход не будет срабатывать. Философски, выход — это отмена сетапа на вход. Я как-то так себе это представляю. Например C > MA — это вход, значит выход C< MA и тд. Для паттернов таймаут. А вот чтобы пристроить какой-то самый крутой выход, если такое получается — значит ты придумал хороший сетап на вход в другую сторону. :-)
avatar
yurikon, 
AND нельзя в общем виде использовать для выхода, так как у тебя появляется не нулевая вероятность, что рынок будет идти против тебя, а выход не будет срабатывать. Философски, выход — это отмена сетапа на вход
есть еще другой пример из жизни: если купил акцию на IPO, чтобы спекульнуть на росте в день открытия, а она пошла в другую сторону, то ты стал инвестором)
avatar
yurikon, про q*P(A) + (1-q)*P(B) > Х интересное наблюдение!
avatar
yurikon, у меня тут такая мысль сложилась. условия A и B на вход имеют право на жизнь, если:
1. A само по себе даёт профитную эквитю.
2. B само по себе даёт профитную эквитю.
3. Торговля A c B даёт порядка половины сделок в сравнении с A без B.
4. Торговля B c A даёт порядка половины сделок в сравнении с B без A.
avatar
Sergey Pavlov, условие B само по себе не всегда может иметь профитную эквити. Например, время. Но с основным условием работать лучше.
avatar
По идее если вход через OR то лучше сделать 2 системы и по раздельности их тестировать. Иначе часть входов пропадет (тк второй вход перекроет первый).

Мне вообще кажется что если есть какие-то вариации во входах или выходах то лучше сделать две простые системы чем одну сложную.
avatar
MoscowTrades, логично
avatar

Насчет OR на входе выше верно заметили, что лучше это независимыми стратами оформить.

Ну а AND на выходе у меня например используется. И OR тоже. Страта собирается из нескольких запчастей, некоторые из них слишком примитивны, чтобы быть самостоятельным сигналом на выход. Такие склеиваются через AND. А через OR — какой-нибудь безусловный геймовер, например закрытие интрадейной страты перед овернайтом.

Кирилл Гудков, я провел сейчас тесты. Тестировал множество систем из двух условий на вход и двух на выход, соединенных через разные комбинации AND и OR. Получились такие выводы:
1. AND на входе работает прекрасно с AND или OR при выходе.
2. При OR на входе результаты падают раза в два.
3. При AND на входе и AND на выходе существенно расчет средняя сделка, т.к. позиция держится дольше.
avatar

теги блога T-800

....все тэги



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