:) Излишний пессимизм порой не дает вам заработать больше денег, чем вы бы потеряли при черезчур оптимистичном подходе! :)
Очередное НЕнаучное исследование. В этот раз на тему проскальзывания. Анализ различных подходов и пример из личного опыта. И ещё: мой рабочий сайз более 100 контрактов, но ни разу не превысил пока 200 пунктов в одной стратегии. В начале текста я рассуждаю о необходимости проскальзывания вообще, а в конце о том, когда стоит начинать учитывать проскальзывание в тестах и почему.
Просматривал я тут интернеты на вопрос проскальзывания. Поразительно, многие пихают его сразу в систему на этапе начальной разработки! И ещё более удивительны трейдеры, которые проскальзывание вообще не учитывают. Я уже писал об этом несколько слов, хочу повторить свою мысль: не надо бездумно вставлять 100 пунктов по РТС на круг в тесты! Важно помнить, что системы бывают разные, соответственно, должен быть разный подход к разработке этих систем. Вообще, трейдеры, исследующие данную тему, часто приходят к выводу, что чем меньше сделок у системы, тем меньше будет проскальзывание. И, соответственно, чем больше система приносит в среднем за одну сделку, тем менее чувствительна она будет к дополнительным затратам на исполнение. Это, конечно, всё хорошо, «спасибо, кэп» скажите вы. Но интересно всё же, как работать с остальным системами, у которых не 20 сделок в год по +2000 пунктов в среднем каждая.
Собственно, вход в позицию и выход из неё делится на 3 метода:
- Вход по рынку при достижении некоторого уровня (обычно, трендовые системы). Данному типу входа соответствует выход по стоп-лоссу. Для таких входов и выходов чаще всего необходимо закладывать максимальную сумму проскальзывания. Хотя, стоит обратить внимание, что бывает «вход по рынку» в «вашу пользу», когда за те секунды, пока стоп-заявка кидается на рынок, цена успевает слегка откатиться. Зависит это от многих факторов, в том числе и от времени, в которое исполняется заявка. Но об этом далее.
- Вход по отложенному ордеру (отбойные системы). Данному типу входа соответствует выход по тэйк-профиту. Для таких входов проскальзывание закладывать в тесты вообще не нужно! Заявка либо не исполнится, либо исполнится конкретно по вашей цене.
- Вход/выход по времени. Вот это самое интересное.
Если стратегия подразумевает вход в конкретное время, просчитать проскальзывание очень сложно. Оно зависит от многих факторов, но, наверное, самый важный из них – это само время. Совершить сделку по цене открытия 16:30 практически не возможно. А закинуть небольшой сайз по открытию 16:31 уже намного проще. На мой субъективный взгляд, если стратегия должна быть активной в какое-то конкретное время, лучше всего открывать и закрывать позиции руками. Уже через десяток сделок станет понятно, когда лучше открыться на 5 секунд раньше, или наоборот повременить секунд 15 (это реже, потому что системы, работающие по времени часто уносят цену именно в первые секунды новой минуты). На сколько же пунктов стоит ухудшить каждую сделку на истории, если мы исполняем временные приказы системы руками? Мой ответ: вообще ни на сколько. Вернее, так: вы поторгуйте, проверьте в реальных условиях, как оно получается, и только тогда поймете реальный рынок:
Результат торговли по системе за последний год составил -1500 пунктов. Если отбросить мысль о том, что такая система не робастна, то можно обратить внимание именно на исполнение: на большей части графика объем был более 100 контрактов, учитывается средний результат по 2 счетам (торговля на одном ноутбуке с 2 разных квиков):
Как видите, в реальной жизни проскальзывания нет! При том, что активность системы совпадает по времени с активностью на рынке (т.е. с одной стороны, это позволяет вливать большой капитал в систему, а с другой, цена довольно быстро меняет свое значение). Если бы система отработала бы так, как я закладывал в тесты, с проскальзыванием 60 пунктов на круг, то сейчас я имел бы не -1500 пунктов, а -9500 пунктов. А это уже совсем другая картинка…
Что же касается первого пункта, входа по рынку. Есть такая мысль: попробуйте преобразовать первый метод вход во второй! Первое, что я делаю в таком случае – это проверка входа по лимитнику. Т.е., при исполнении условия входа вместо того, чтобы сразу покупать по рынку с учетом 50 пунктов проскальзывания, я тестирую систему на предмет выставления отложенного ордера на 200-300 пунктов лучше условия. И иногда такой вариант оказывается лучше тупого выстрела по рынку. Да, бывает, пропускается хорошая сделка, но, если после условия рынок часто откатывается назад, то почему бы это не использовать?
Для всех остальных случаев: либо лимитник на 30 пунктов лучше рынка + проскальзывание 30 п. (таким образом я оцениваю свое небольшое воздействие на рынок, если в реальности заявка высталяется не по рынку, а по цене условия. Если система показала возможность исполнения приказа на 30 пунктов лучше, чем по рынку, тогда в реальных рыночных условиях скорей всего удастся войти с помощью лимитной заявке по цене условия), либо всё-таки приходится закладывать некоторую сумму проскльзывания в результаты.
Из всего вышесказанного следует то, что не надо учитывать проскальзывание на первых этапах разработки новой системы. В пользу этого мнения также свидетельствует ещё и то, что рыночная идея, основывающаяся на некой внутренней логике, может оказаться не рабочей именно из-за невозможности точного исполнения, однако может помочь в общем понимании рынка и быть использована в качестве фильтра в какой-нибудь другой стратегии. Если же вы будете учитывать 100 пунктов на круг с самого начала, вы можете не разглядеть за нисходящей кривой эквити интересную рыночную закономерность.
В любом случае, теория, конечно хороша, но любое знание, любую формулу, любой расчет – всё нужно проверять на практике!
Спасибо дочитавшим до конца.
Всё, как всегда, лишь ИМХО.
Всем удачных трейдов!
P.S. А касательно фразы в начале поста: предположим, у вас 5 стратегий, которые из-за проскальзывания показывают слегка отрицательный результат. Только представьте, в 2 случаях из этих 5 вы оказались черезчур пессимистичны! И ещё у вас есть 1 система, которая прошла все проверки. И, как назло, в ней-то как раз стоило учесть проскальзывание получше. Тогда в среднем, вы недозарабатываете гораздо больше на пяти невключенных в торговлю системах, чем теряете в одной излишне оптимистичной:)
сам сейчас ковыряю в эту же сторону
1 в 90% случаев проскальзывания нет ваще… т.к. рынок болото… кидаешь лимитник минут за 15 исполнят…
2 у меня боты делают так: кидаю лимитник… скорость выставления заяв 0.5сек и быстрее… жду минуту… если не налили — беру по маркету…
3 есть докуя способов уменьшения проскальзывания
Всё в теории, всё упрощенно, всё ИМХО, но, по-моему, более вероятное, чем происки маркет-мейкера…