Блог им. Foudroyant

Есть ли здесь противоречие?

Возьмём 2 распространённых утверждения:

1. Рынок меняется.

2. Историческое тестирование алгоритмов возможно.

Не противоречат ли эти утверждения друг другу? Если нет, то почему?

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

★1
66 комментариев
1. Меняется по форме.
2. Тестировать надо по содержанию.
avatar
Люфт, покажите это, пожалуйста, на примерах.
avatar
Foudroyant, не могу публично этого сделать
avatar
Foudroyant, показываю за бабло)) очень убедительно
avatar
Я думаю, что если какой-то алгоритм внезапно перестает работать, то можно сделать вывод о том, что он эксплуатировал только лишь локальную закономерность, которая прекратилась. А в целом условия, может, и не изменились, и менее жадные стратегии продолжают работать и дальше)
avatar
противоречит ли изменение в мире законам механики?
avatar

sortarray sortarray, «изменения в мире» — очень широко сформулировано.

Изменения в настроениях людей — тоже изменения в мире; но при чём тут законы механики?

avatar
Foudroyant, это аналогия. Если в физике изменения не противоречат инвариантности, то почему в трейдинге должно быть противоречие?
avatar
sortarray sortarray, я снимаю шляпу пред вышей высокой персоной)
avatar
Трейдер biopsyhose, спасибо конечно, но это Вы загнули:)
avatar
sortarray sortarray, Интересная аналогия и в тему!
avatar
поХаям, докажете — всегда буду рад исправиться.
avatar
поХаям, а, ну я так и думал.
avatar
«Огласите пожалуйста весь список» © ...

Все варианты предлагаю в опрос:
меняется/НЕ меняется + возможно/НЕ возможно

т.к. это отдельно обсуждаемые категории, по-моему
avatar
Adam Kazimirovich, я взял самые часто встречающиеся утверждения.
avatar
математике и программировании есть понятие инварианта.

Немало копий сломано вокруг принципа Лиски и возможности унаследовать квадрат от прямоугольника.
В философии есть понятие универсалий.
Это все довольно близко к той теме, которую Вы подняли.
avatar
sortarray sortarray, да, согласен.
avatar
не противоречат.
avatar

Хват (WC), если эти утверждения верны и не противоречат друг другу, то:

1. Создаётся алгоритм на основании некой закономерности.

2. Тестируется на прошлом за много лет.

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

Может она родилась в 2015 году как эхо какой-то крупной системы?

 

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

 

5. Почему так получится?

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

Из-за этого общий результат получится размазанным.

avatar
Foudroyant, Все верно, поэтому тестирование в лоб — когда прогнал, взял лучший прогон и в бой — не работает.
avatar

1. да
2. да

3. (1) не противоречит (2) — да.

Изменение рынка — вероятно, и есть ключ. Понимание, того как меняется. Рынок же меняется не не пойми как, есть закономерности в изменениях — цикличность, направленность изменений и т.д. Поняв характеристики изменений можно задействовать эти знания в своих алго.

avatar
 Рынок НЕ меняется. Есть покупатель и продавец. Они действуют в рамках двойного аукциона и в рамках собственной выгоды. Всё.
avatar
Трейдер biopsyhose, Ну, про покупателя и продавца — это больше про правила игры, это не означает, что ход игры не меняется и тем более не означает, что ситуация статична.
avatar
Replikant_mih, это не меняющийся фундамент. Характер игры меняется и легко просчитывается исходя из статики фундамента. Как законы физики и основанные на них физ. модели. Модели изменяются, физика нет. Мы можем спрогнозировать изменение модели, опираясь на её физику.
avatar
Трейдер biopsyhose, Можем, но факторов много, так что это не просто, и наличие большого числа факторов не единственное что мешает выявлению закономерностей и прогнозированию.
avatar
Replikant_mih, а что ещё мешает? Шумы? 
avatar
Foudroyant, Не только количество факторов, но и новые факторы. Допустим, увеличение объемов алгоритмической торговли влияет — в т.ч. HFT, но не только.
avatar
У рынка же есть фазы. Он просто из одной фазы в другую переходит, потом опять возвращается. На истории можно глянуть как в той или иной фазе ведет себя алго.
avatar
Андрей К, когда говорят о меняющемся рынке, имеют в виду не фазы ведь. Если бы имелись в виду фазы, то всю совокупность этих нескольких фаз можно было бы назвать «неменяющимся рынком».
avatar
Рынок в целом не меняется. Меняются отдельные фичи и инструменты. Кто то торговал Газпром, потом ушли игроки, поведение тикера поменялось, деньги стало делать сложнее.
Арбитражил руками Европу — Азию, пришли роботы, ты ушел :)
Парно торговал лук-роснефть, а потом национализация лукойла и все.
И так далее.
avatar

shprots, если отдельные инструменты меняются, а рынок в целом нет, значит в нём есть механизмы, выравнивающие все эти изменения относительно друг друга. 

И что это за механизмы?

avatar
Foudroyant, Слишком философский вопрос. В целом, так как я сижу в стаканах уже лет 10, то я вижу как:
1. игроки меняются, уходят приходят (но в целом методы торговли — одни и те же. Их (методов) много, где то применяются одни, где-то другие)
2. игроки перетекают из одних инструментов в другие.
Рынок в некотором роде всё таки меняется — развиваются деривативы, развивается роботорговля, новые рынки появляются, криптовалюты появились. Так что какие-то алгоритмы, конечно, отмирают.
Но, скажем так, всегда люди задают одни и те же вопросы, одинаково жадно и быстро хотят обогатиться и совершают одни и те же ошибки.
Суть рынка — отобрать у ближнего своего. Методы могут меняться (по спирали, или даже циклично), но основная задача — обмануть, а она стара как мир.
avatar

shprots, «переиграть» — более ёмкая формулировка, наверное, чем «обмануть».

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

avatar
Foudroyant, я думаю оба термина равноправны. Переиграть — это когда оба играют в игру. Но я не могу назвать события, свидетелем которых я был на крипте, назвать «игрой». Если Вы профи на рынке, то да. Торговля — это шахматы или как угодно. А если Вы условная бабушка, которой навешали лапши на  уши, то наверное нет.
avatar
Foudroyant, В качестве одного из изменений — постоянно нахожу роботов, которые двигают отдельные тикеры — они работают либо через интервал, либо одинаковым лотом (хотя иногда меняют 111-112-113 размер лота, например), либо выгрызают большие лоты. Соответственно встаёшь с ними — и плюс.
Вероятно, это конечно, не роботы, но похоже на алгоритм. Пока работает :) потом — не знаю.
avatar
shprots, кстати, навели на мысль. Верно ли утверждение:  «Чем ниже ТФ, тем более изменчив рынок»?
avatar
Foudroyant, Думаю, верно. 30 лет назад в ямах торговали, там только по эмоциям, настрою ямы и тп. торговать можно было.
Да и могу ещё пример изменений привести. На Америке был раньше большой вес специалиста — он сводил заявки в своей книге (вот буквально лет 10-15 назад). И мог сам от своего имени заявки подавать — многие торговали вслед за специалистом, что было эффективно. Но уже нет :)
avatar
shprots, сейчас то же самое могут делать инсайдеры, имеющие доступ к брокерской или биржевой информации. То есть сотрудники инфраструктуры и те, кто их подкупает, в соответствующих целях.
avatar
если рынок бы не менялся — то старые алгоритмы работали бы. а они не работают. их начинает использовать большее количество участников — доходность падает. Но единственный алгоритм нахождения таких возможностей — это тестирование на истории. Так что противоречия нет. Есть просто не понимание этих фактов в вашей голове.
avatar

gluhov, может и так. Тема и поднята для того, чтобы понять.

 

Но ответьте на вопрос: если рынок раньше был другим, то какой смысл в бэктестинге?

Что эти тесты должны показать для сегодняшнего рынка, если их проверяют на прошлом, уже не существующем, рынке?

avatar
Foudroyant, нету смысла в прогонке на истории. Картина рынка меняется с каждым новым тиком. Поэтому единственный вариант Это тестирование реал-тайм, здесь и сейчас. А гонять бота по мертвому графику это ну такое себе.
avatar

Kartes, у прогонки на истории есть теоретическая основа:

1. Рынок принципиально не меняется.

2. На нём постоянно повторяются те или иные статистические закономерности разного срока жизни: от вечных (их мало) до временных (от долговременных до кратковременных).

 

То есть, даже если участки графика мёртвые, всё равно они несут ценную статистическую информацию.

avatar
Foudroyant, 

Цифры обманчивы, особенно когда я сам ими занимаюсь; по этому поводу справедливо высказывание, приписываемое Дизраэли: «Существует три вида лжи: ложь, наглая ложь и статистика».

— Марк Твен, 5 июля 1907

Я лично придерживаюсь этого мнения. 
avatar
gluhov, какие например не работают? Смотря на чем они основаны, что перестали работать.
avatar
Friendly Deep Space, возможно, что он имеет в виду недолгоживущие алгоритмы, основанные на закономерностях вида «если ММК идёт вверх, то НЛМК вниз», существующие в течение 2 месяцев в году Х из-за того, что юрлицо Y проводит перестройку своего портфеля.
avatar
Foudroyant, я придерживаюсь мнения, и стараюсь на практике так же действовать, что чем проще идея, чем она ближе к какому-то основному свойству инструмента, тем более жизнеспособна становится стратегия на ее основе. Например если инструменту свойственны цикличные сужения диапазона и трендовые выходы из этого сужения, то почему бы не использовать эту наипростейшую идею?) Разумеется, вопрос о том, когда входить и выходить это уже другой вопрос, но основа же очевидна вроде как. Не мистический свечной паттерн, а логически предсказуемое явление. Думаю, что большинству ликвидных производных инструментов это свойственно. Можно конечно найти и крайности, в виде какой-нибудь пилящей к нулю месяцами акции, но ведь таким инструментом спекулировать и не интересно, верно?
avatar

Friendly Deep Space, логично.

Например, есть акции в широком боковике: СНГ, МТС, Газпром и т. д.

На большом ТФ их движения определяются просчитываемыми ФА-факторами.

Стратегию для этих акций тоже легко подобрать: бери на дне- продавай на вершине; определить диапазон тоже довольно легко.

А просадки в таких акциях отрабатываются усреднением.

avatar
Friendly Deep Space, Циклические сужения свойственны ВСЕМ инструментам ))) 
avatar
Foudroyant, на самом деле идеи не важны. Из сейчас с помошью датамайнинга можно находить автоматом. Вопрос состоит в том что все больше и больше денег заливается в то что выгодно пока наконец оно не схлопывается. Игроки с полоительным мат ожиданием быстро имеют много денег и заливают их в стратегии которые приносят деньги. В итоге стратегии начинают приносить все меньше и меньше.
avatar
Если протестированная закономерность работала уже сто тысяч дней, то очень маленькая вероятность что перестанет работать на стотысячапервый день, так как угадать вершину или дно восходящего или нисходящего тренда, как показывает реальность, трейдеру не дано)

Дядя Ваня СпекулянтЪ, так если рассматриваемая закономерность работала Х лет (например, только в 2015-2019 гг.), то и тестировать её нужно за Х лет, а не за 10Х.

 

Ведь при тестировании на 10Х тест покажет, что закономерность работает «только иногда» (так как в период 1 год, когда она работала, будет подмешано ещё 9 лет, когда не работала). 

 

Получается, что при бэктестинге нужно будет отказаться от правила «прогнать за как можно большее количество лет».

И заменить это правилом «найти время возникновения закономерности и тестировать, начиная только с этого времени».

Только такой бэктестинг будет корректным.

Исключение из этого правила: «вечные» закономерности, которые имеют совершенно особую природу.

avatar
Foudroyant, если закономерность работает только один год в десять лет, то забыть о ней и продолжать поиски закономерности которая работала все десять лет до дня тестирования.

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

Потому что «вечных» закономерностей в сотни тысяч раз меньше, чем временных.

avatar
Foudroyant, Если можете предсказать периоды когда будет зарабатывать временная закономерность, то флаг в руки)
Если нет, то надо искать закономерность, которая работала очень долго, во всех фазах рынка, до вчерашнего дня включительно)
Дядя Ваня СпекулянтЪ, Ну значит это случайность длительностью 100000 дней а не закономерность.
avatar
Рынок — способ или метод обмена. Он постоянно меняется, какие то методы работают, а со временем прекращают работать. Рынок зависит от времени.

Исторически можно выделить и определить когда какие методы(алгоритмы) торговли работали. По времени можно посмотреть. 

Так что какое здесь противоречие?  

А вот как вы определите, какой сейчас будет работать метод. Это большой вопрос. 

avatar

Jkrsss, в чём противоречие, более подробно описал в комментариях.

Если кратко, то:

1. Бэктестинг на всей истории оправдан только для «вечных» закономерностей.

2. Бэктестинг «временных» закономерностей на всей истории методологически некорректен.

Вывод: каждую найденную закономерность нужно тестировать так, чтобы подобрать корректный период. Это потребует перебора периодов.

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

avatar
Foudroyant, «вечных» закономерностей. — купил дешевле продал дороже. Метод стар как мир. В обычном договоре купли-продажи есть риски, что акт выполненных работ не подпишут. где вроде 100 процентная гарантия. Сегодня оливковое масло любили и покупали, завтра его перестали покупать.  Все эти вероятности «ошибок» или убытков  отработали давным давно еще со времен финикийцев и греков когда они захватили рынок оливкового масла и создали Систему торговли. Сейчас это по моему риск менеджментом кличут.
avatar
Любой тест может проводиться только в рамках аксиомы: «в будущем будет то же самое, что и в прошлом, но в другой последовательности и с другой частотой».

Как видите в аксиоме предусмотрена и изменчивость -«другая последовательность и другая частота» и постоянство набора возможных событий — «то же самое, что и в прошлом».
avatar

А. Г., в аксиоме «в будущем будет то же самое, что и в прошлом, но в другой последовательности и с другой частотой» неизменность видится более выраженной, чем изменчивость. 

Так как:

1. Постоянство — это постоянство основных моделей движения и мышления, типов факторов и т. п. 

2. Изменения  — только изменение их последовательности и частоты.

Первое перевешивает.

avatar
Для того, чтобы дать «грамотный» ответ на заданные вопросы, сначала необходимо дать определение фразе «изменение рынка», и озвучить его. Только после этого можно давать ответы, опираясь на озвученное определение.

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

Основываясь на данном определении мои ответы такие:
1. Рынок меняется.
2. Историческое тестирование алгоритмов возможно.
3. Противоречие отсутствует.

Теперь пояснения:
Изменение характера движения цены, это довольно известное и ни для кого не удивительное событие. Если коротко, то это значительное изменение диапазона и скорости (динамики) движения в пределах рассматриваемых отрезков времени (тайм-фреймов, если хотите). В качестве примеров: Вспомните, как часто «старые» скальперы и интрадейщики предаются воспоминаниям о том, какими были движения внутри дня по РТС раньше, и какими они стали теперь. Что это, если не изменение характера движения цены? Или возьмите Si. До 2013 года (если не ошибаюсь. лезть в историю и проверять лень), этот инструмент был не особенно интересен спекулянтам из-за незначительных движений. А как он двигается сейчас? И какие обороты по Сишке сейчас проходят? Неужели кто-то будет спорить с тем, что значительное увеличение объемов торговли инструментом не влияет на характер ценовых движений в нем?
И во всех этих случаях одни стратегии переставали работать, другие начинали приносить прибыль. Это и есть примеры к избитой фразе «рынок изменился».
Теперь про историческое тестирование. Рынок не меняется ежедневно. Характер движения цен можно обрисовать (условно) некоторым набором параметров, и эти параметры остаются неизменны, или изменяются в незначительном диапазоне, в течение какого-то времени.
Когда мы выполняем тестирование на истории, то наша задача определить этот период, найти для этого периода оптимальные параметры торговой стратегии, и надеется на то, что параметры рынка еще какое-то время останутся неизменны (или будут колебаться незначительно), что в свою очередь позволит нам заработать.
Следующий пункт как раз самый сложный — необходимо определить, когда параметры рынка изменились в значительной степени и закрепились в новых значениях (диапазонах). После этого, заново провести тестирование, подобрать оптимальные параметры торговой системы, и продолжить торговлю. Чем раньше мы ПРАВИЛЬНО определим, что рынок изменился — тем больше времени наша торговая система сможет приносить прибыль до того момента как рынок в очередной раз изменится.
avatar
Prophetic, ювелирный бэктестинг. 
avatar
Foudroyant, Да, пожалуй можно и так выразиться...  :)
avatar

теги блога Foudroyant

....все тэги



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