Блог им. AIvanushkin

Игра с преимуществом

Игра с преимуществом


Все трейдеры торгуют мат ожидание (игра с преимуществом), и задача трейдера построить торговую систему, где мат ожидание будет всегда на его стороне. Не каждая сделает будет в плюс, но если мат ожидание выстроено честно, экстраполирует в будущее и трейдер себя не обманывает, (не надеется на авось), то на дистанции он всегда заберет деньги с рынка. Всегда.

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

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

Форвард тест

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

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

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

Оговорки

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


продолжение следует...


20 комментариев
Матожидание это хорошо, но все, кто забывают про дисперсию — неизбежно сливают, при любом матожидании )
Пафос Респектыч, если это НАСТОЛЬКО важно, то обязано иметь место быть во всех тестерах. Я ни в одном не встречал.
Правда, пользовался только тремя...
Можно подробней о чём речь, где и как ОБЪЕКТИВНО увидеть?
avatar

VladMih, очень просто: оценка матожидания, типа «средняя сделка», «средняя прибыльная сделка» и т.п. — это само по себе случайная величина, у которой есть своё какое-то распределение и (предположительно) свои какие-то матожидание и дисперсия. Можно прогнать стратегию в тестере на нескольких разных интервалах, записать результаты в табличку и прикинуть что получается.


А в тестерах если этого правда нет, я просто не знаю, у меня свой тестер, в нём есть ) то наверное потому, чтобы алготрейдеры-энтузиасты расстраивались уже после того, как запустят свои поделия поторговать в реале, а не до. Тем более же кому-то и повезёт, хотя бы какое-то время, пока «стратегия не сломается».

Пафос Респектыч, посмотрел ваш блог, особенно впечатлило ваше разоблачение скользяшек. Сколько я уже видел таких разоблачений самых разных индикаторов — все однотипные. Доказательством является то, что тупое пересечение машек или осциллятора в перекупе сливает.
Хорошо вам жить — взял дисперсию и готово.

А ваше объяснение я более чем не понял.
«Покрутить стратегию на разных ТФ» — это то же самое, что покрутить несколько разных стратегий, особенно если с использованием фиксированных ТП и СЛ.
avatar
VladMih, да, мне хорошо, не жалуюсь )

Вроде просто объяснил, что можно не понять? Правда если вы разные интервалы на истории от разных ТФ не отличаете, то лучше просто забейте )
Пафос Респектыч, интервалами многие и таймфреймы называют.

Лучше не пишите, «забейте@, если не можете внятно написать.
Сорь, не в обиду — простое алаверды в ВАШЕМ стиле.

К тому же и в голову не могло прийти, что советуете изучить ТС на разной истории! Если и нужен кому-то такой совет, то видимо идиоту полному.

Я сейчас гоняю робота по минуткам на 10 летней истории подряд, не интервалами. Плюс смотрю форвард по последней истории — что не так делаю? Направьте меня на путь истинный.

PS: реально не отказался бы от совета чела, лучше меня знакомого с математикой, чувствую нехватку знания/понимания где какую формулу применить. В частности, для мувингов (адаптивные) хотел бы применить что-то типа параболы. Но...
Знаю чего хочу, не знаю как взять. «Вижу локоть...»
avatar
VladMih, ну вот вы же сами пишете:
К тому же и в голову не могло прийти, что советуете изучить ТС на разной истории! Если и нужен кому-то такой совет, то видимо идиоту полному.

… и на следующей же строчке:
Я сейчас гоняю робота по минуткам на 10 летней истории подряд, не интервалами. Плюс смотрю форвард по последней истории — что не так делаю?


Без обид ))

Вот если вы разобъёте свою 10-летнюю историю на интервалы, условно, по три месяца — то у вас получится 40 интервалов. Посчитаете какой-то финрез по каждому интервалу, например в процентах или в чём удобнее, и получится выборка из 40 значений.

Дальше по этой выборке можно посчитать выборочное среднее и выборочную дисперсию и построить скажем 95% доверительный интервал, где-то внутри которого с 95% вероятностью любое число может быть матожиданием вашей системы за три месяца. При этом можно удивиться, что доверительный интервал для матожидания скорее всего будет включать 0, то есть содержать как положительные, так и отрицательные значения.

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

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

Пафос Респектыч, Респект Пафосыч за такой подробный ответ!
Я вас услышал. Но то, о чем вы говорите, годится только для проверки готового робота. Для разработки, подбора фильтров и т.п. затрахаешься на каждый чох так проверять.
К тому же ну тупо нету у большинства робовладельцев софта, который вы сами себе соорудили чтобы ЕМАшки генерить неисчислимыми сонмами.
Да и с дисперсиями непросто.
Можно, конечно, выгружать результаты в Эксель и там обрабатывать, но геморно это, да и тоже… не каждый сумеет.
avatar
VladMih, 
Пафос Респектыч, посмотрел ваш блог, особенно впечатлило ваше разоблачение скользяшек.

Спасибо, перечитал, правда отличный пост получился )
Январь 2019, я тогда ещё бухал! Эх! )

Но хоть я те буквы набирал скорее всего уже основательно захмелев, слишком сильно чтобы мочь работать, но ещё недостаточно для того, чтобы идти спать, я таки и там в конце не забыл написать про необходимость оценки доверительного интервала для матожидания.

Ну потому что это правда важно )
Пафос Респектыч, ага, УБОЙНЫЙ пост! Прям всех мувингов убил, кроме тех, конечно, которых вы пользуете для фильтра высоких частот )))

Респектыч, хотел бы пообщаться вживую, голосом, с терминалом. 
Полагаю, может быть ВЗАИМОполезно.
А еще, честно говоря, хотелось бы посмотреть хоть одним глазком хоть одного вашего робота… тоже вживую. Дисперсию его пощупать...

Млять, реально нужна помощь. И я реально могу быть полезен.
Если услышите, конечно. Наработок куева туча.
avatar
VladMih, тот пост не про мувинги как таковые, а про их пересечение как способ получения сигналов. Не надо путать )

Я пока предпочитаю общаться в текстовом виде и ритме, можно через личку.
Пафос Респектыч, я не тупой, а даже если б и был тупой, то за 17 лет научился понимать о чем написано про мувинги, занимаясь ими с первого дня чуть ли не 24х7. Надеюсь, понимаете, что пересечения тоже можно использовать по-разному? В том посте вы разоблачили ВАШЕ пересечение ВАШИХ мувингов, а не пересечение вцелом.
Я противник пересечений, не лучший способ, но ТС такие работают.
________________
Ну, предпочитайте.
Я не особо и рассчитывал, неплохо зная вашу братию. Небожители )
avatar
обязательно учесть: это то что точки входа и выхода
не могут располагаться внутри бара
Одной фразой убили все пробойные стратегии,
не требующие контроля пробоя закрытием бара.
avatar
VladMih, имеется ввиду уже предыдущий сформированный бар, контроль пробоя «не пострадает», но нам это в дальнейшем не понадобится. 
Андрей Иванушкин, пробой уровня в 99% случаев происходит «внутри бара». Что вы мне объяснили я не понял.
avatar
VladMih, Пробой уровня внутри текущего бара. По закрытию бара пробившего уровень смотрим как он закрылся, выше уровня, ниже уровня. Но как он только закрылся он перестаёт быть текущим. Плюс текущий бар для принятия торговых решений при тестировании по факту не интересен, так все равно нет данных как менялась цена потиково внутри бара, а если данные есть, то их объем просто непосильный для объемного тестирования инструментов и всех тайм фреймов.
Андрей Иванушкин, зачем вы делаете вид, что что-то в этом понимаете? Мне нах не нужен ваш бар после пробойного закрытия, ибо
1. Пробой может закрыться хрен знает как далеко от уровня
2. Еще и бар открытия ордера даст на открытии гэп акуительный!

Положим, ваша ТС настолько крутая, что её это не волнует,
но люди в каждой сделке борятся за спред и им далеко до вас.

Дневки-недельки торговать — понятно. А на м1 вешаться? ))))))))) Приходится ценить каждый тик!
avatar
VladMih, Согласен, младшие тайм фремы в топ скорее всего не выйдут. Будем торговать топ.
Андрей Иванушкин, правильно торговать таймы четные 4.
avatar
Андрей Иванушкин, ты прав. Цену Закрытия делает смотрящий за таймом большим объемом. Свеча должна закрыться и показать свой объем и форму.Тогда можно понять работу этой свечи в строительстве фрактала Эла.
avatar

теги блога Андрей Иванушкин

....все тэги



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