Блог им. Foudroyant
В алготрейдинге считается почти общим правилом, что нужно проверять все создаваемые ТС на истории. Но иногда возникает подозрение, что в этих проверках на истории есть существенная доля самообмана.
Какие ловушки могут поджидать нас на этом пути:
1. Нарушение самой методологии проверки на истории (по незнанию или из-за собственных предпочтений, ошибочность которых неочевидна). Это относительно легко устранимая ошибка.
2. Нарушение методологии проверки отдельной стратегии (не учитываем её особенности). А вот эту ошибку устранить уже на порядок сложнее.
3. Незнание неких особенностей работы рыночной инфраструктуры, которые могут повлиять на различия в работе исследуемой ТС сейчас и в прошлом.
Например, известны многие случаи, когда ТС работает на истории, а на настоящих торгах уже не работает. Все такие случаи связаны с вышеперечисленными 3 причинами. И из этого же следует, что среди проверенных на прошлых данных и отброшенных как неработающие ТС скорее всего было множество производительных, но их не разглядели и выбросили (такие и у Вас есть; да, да, не удивляйтесь, а лучше переберите заново то, что когда-то выбросили и поглядите на это свежим взглядом).
Таким образом, проверка на истории не защищает нас ни от никчёмности проверенных и одобренных, ни от полезности проверенных и отброшенных ТС.
Какой же путь разработки стратегий следует признать наиболее эффективным?
Предположу, что это разработка, опирающаяся на неоспоримые аксиомы (условно назовём их «общие законы»).
Примеры подобных аксиом (перечислю только некоторые, чтобы было понятно, о чём речь):
1. Целое больше части, часть меньше целого (хотите проверять это утверждение?)
2. Динамический процесс не может всё время иметь одно числовое значение (а это хотите проверить или верим на слово?)
3. ...
...
14. Всё в мире взаимосвязано, просто связь может быть неочевидной (а это?)
...
Как видим, знание небольшого количества законов заменяет нам знание огромного количества фактов.
Основывая свои ТС на любом из таких общих законов, Вы избавляете себя от необходимости проверять их на истории.
Опираясь на такой подход, можно получать не проверявшиеся на истории стратегии, качество работы которых на настоящих торгах будет лучше, чем у проверенных. И проверять их на прошлых данных будет не нужно — и отсутствие такой необходимости можно строго доказать (общие законы работают всегда и везде — значит, и основанные на них ТС будут работать всегда и везде). Тем самым будет полностью исключён специфический риск «ошибки при проверке» (ошибки следствия).
разрыв мозга.чувствую что вы меня обманываете, а где не пойму. сейчас всем трудно: трудно врать, трудно верить…
видимо, смысл поста «результат в прошлом не может быть конечным доказательством результата сейчас и далее»
Безусловно, тестирование на истории не является прямым доказательством работоспособности в будущем. Здесь многое зависит от методов проектирования и самого тестирования.
3Qu, «при проектировании, у нас есть единственная возможность — использование истории. Других нет» — вот это не совсем понял. Могли бы раскрыть мысль?
Допустим, про статистические закономерности вида «Если Сбербанк идёт вверх, то Аэрофлот вниз» можно так сказать — ведь они обнаруживаются путём перебора.
Но есть ведь и иные виды ТС, для которых такой перебор неприменим.
я смотрел за ценой.
минуту.день.месяц.
потом смотрел историю. весь график. насколько возможно.
понял что это не совсем правильно.
надо смотреть несколько графиков на всей истории.(синхронизировав их) и даже этого будет недостаточно.
При переходе на другой инструмент нужен хотя бы один день, чтобы присмотреться.
я тормоз. мне одного дня мало.
но я и не хожу на 1% от депо.
Завел другого брокера УралСиб, опять начну опционами торговать, только восстановлю свой старый софт.
в данный момент -
жижа.
моекс.
втб.
сбер.
сижу в сбере.
иногда в втб
угу.
а также видеть корреляцию
1.В реале вы будите создавать N ликвидность на рынке и рынок уже будет пусть чуток, но по другому работать.
2.Хорошие ожидания приходят из вне, а чтоб протестировать то что вне рынка находится, нужно ИИ подключать.
3.Нужно иметь хорошую, а точнее реальную базу котировок, а не с финама качать)))
Проверка на истории — что это, для начала? Если идет об форвардной проверке, как может она быть не важна? Если идет об оптимизации стратегий — то там есть не мало проблем и нюансов. Про которые насколько понимаю, вы не знаете. Но они все решаемы и на все можно дать ответ.
LogikoMen,
1. Примеры и решения намеренно не стал приводить, потому что их у меня не так много, и все они в работе, то есть оглашаться не могут.
2. Что такое «форвардная проверка»? Скорее всего я знаю её под каким-то другим названием. Опишите, чтобы я мог по смыслу сопоставить это описание с известными мне процедурами.
3. Про оптимизацию на истории я знаю, что все, кто её применяет, часто сталкивается с тем, что в настоящих торгах созданные в тестере стратегии перестают работать.
Хотя, казалось бы, эти алготрейдеры тоже знают, что и как надо там делать и что учитывать. Но всегда есть какие-то тонкости, выявить которые очень сложно. А пока мы их даже не выявили — решение не подобрать.
Иногда система сбоит, разработчик думает, что причины у этого — А, Б, а на самом деле там причина В, о которой он и не догадывается.
Вы знаете. Что существуют стратегии. Которые хорошо подстраиваются под историю. Но не умеющие зарабатывать. Больше ничего вы не знаете. Все — это 95% людей. Которые не могут зарабатывать. Собственно, что они создают — стратегию самообман или для продажи лохам. Когда я написал статью про это — никто меня не понял. Кто то спросил как проводить оптимизацию. Не более. Никого не интересуют вопрос — умеет ли стратегия зарабатывать. Их интересуют деньги. Которые они видят в оптимизаторе. Вас, насколько я понял. И это даже не интересует. Для чего вопросы?
LogikoMen,
1. Что такое форвардный анализ, примерно понял. Насколько понимаю, ошибка организации тестирования и в него может закрасться.
Но дело даже не в этом, а том, что некоторые ТС работают и без проверки, в том числе и без форвардной.
2. Подписался на Вас, почитаю.
3. Меня интересует именно умеет ли ТС зарабатывать. Просто я все свои стратегии создавал без оптимизации на истории и форвардного анализа — именно за счёт заглядывания в суть той закономерности, на которой они работали.
Чтобы знать, что в ряду А … Я буква А — это не буква Б, не нужно проводить анализ, всё на поверхности. Вот за счёт этой простоты можно делать ТС, не нуждающиеся в проверке.
Правда, меня немного смутил вот этот комментарий:
smart-lab.ru/blog/619710.php#comment11158745
Потому что наблюдение мной всё же применялось. Хотя наблюдение не равно бэктест.
С того момента я все больше узнаю об рынке.
Вы оцениваете некую закономерность на короткой истории. А зарабатываете на этом я не знаю. Я знаю, что есть положительные отклонения. Которые непрерывно существуют. И могут существовать в теории бесконечно. Это обычно люди называют везением. На такой волне я видел не мало трейдеров. Там нет стратегий. Есть логика мышления и период времени. При котором ему просто прет. Бесконечно везучих пока не видел. Обычно 2 года максимум.
и это прекрасно!