Трейдерский Клуб

Общение о рынках, рисках и жизни. Без пиара и без рекламы. Здесь рады только своим.

Робастность

Робастность

Сообщение Avals » Вс сен 25, 2011 9:24 am

Думаю что это основной вопрос системостроительства. Если по простому, то ТС должна работать в будущем а нетолько на бэктестах.
Отделить зёрна от плевел, или подгонку от однорукова бандита(c)(Neo) который будет работать на вас. Работать не вечно, но достаточно чтобы поживиться.
Для этих целей есть по большому счёту 2 пути:

1. Понимание сути неэффективности, которая лежит в основе системного заработка. Для спекуляций основу этого можно выразить в афоризме Баффета:
"Если вы не знаете кто проигрывает на бирже, значит проигрываете вы". Можно уточнить, что всегда это знать не нужно, а только в момент ваших трейдов.
Чтобы системно зарабатывать на чём-то другие трейдеры должны так же системно на этом проигрывать. И "кто" желательно расширить "почему". имха

2. Оценка статистической значимости полученных результатов. Т.е. с помощью различных тестов оценить случайность полученных результатов.
Вот на втором хотелось бы остановится поподробнее и обсудить эти методы.
Источником подгонки м.б. как совокупность абсолютно случайных совпадений, либо какой-то продолжительный фактор который действовал на значительной части тестового периода, но не факт что это продолжится в будущем. Яркие примеры - это продолжительные бычьи тренды и преимущество систем торгующих лонг. "Не путайте бычий тренд с собственной гениальностью" (с).
Но могут быть и иные примеры - типа продолжительный флет или трендовость и т.д. Конечно, тут можно возразить, что любая система использует затянувшуюся для нее благоприятную фазу и нет никаких гарантий что это продолжится. И вполне можно быть только быком на бычьем рынке если знаешь когда остановится. Если выделение благоприятных фаз для системы формализовано и реализовно в виде фильтров системы, то это хорошо. Но всё формализовать и заранее знать нельзя. Для этого есть критерии отказа от системы.
В общем, желательно чтобы статистические методы оценки робастности всё это учитывали.

Главное, конечно, это кол-во сделок. Чем их больше, тем меньше вероятность подгонки и стат.оценки более точные. Хотя тут тоже есть подводный камень, что это справедливо в условиях стационарности у нас же в лучшем случае квазистационарность. Проще говоря, вечных систем нет и тестить, например, внутридневные системы на 30 летней истории смысла нет т.к. состав участников, их методы да и техническая сторона торгов были совсем иными.
Думаю, что справедливо считать начало работы системы (и соответственно начало тестов) как один из параметров системы, который в идеале тоже должен быть обоснованным как и любой другой.
Далее важно оцениваем ли мы робастность системы в целом, или отдельных ее компонент в составе системы.
Для оценки в целом логично использовать методы группировки данных. Делим все данные на части и сравниваем показатели на разных участках. Если они совпадают (или несильно меняются) то это гуд. Тут ещё важно какие показатели мы сравниваем. Показатель должен оценивать "хорошесть" результатов системы. имха можно придумывать различные комплексные показатели или взять стандартные типа шарпа или сортино. Все имеют определенные преимущества и изъяны. Поэтому лучше взять простой типа профит-фактор.
Группировка данных м.б. разнообразной. Самое простое поделить возвраты системы на N равных последовательных участков. Можно группировать случайным выбором.
Отдельно идут тесты с аут офф самплес, хотя логика всё таже - группировка и сравнение критерия. Отличие в том, что оптимизация не проводилась на аут офф самплес.
Но мне кажется более перспективным отдельная проверка каждого элемента системы. Смысл тоже в сравнении подвыборок, но критерий их формирования и есть предмет оценки.
Т.е. к примеру рассамтриваем конкертный фильтр системы. Пусть это будет волатильность. Предполагается что с ростом волатильности система работает лучше. Формируем фильтр системы, например АТР>X и смотрим как изменяется целевой показатель (профит-фактор) при увеличении X.
Если с каждым шагом увеличения X ПФ увеличивается, то велика вероятность что данный фильтр является рабочим (робастным). Само-собой, при увеличении X будет уменьшаться кол-во сделок и общий профит будет снижаться, а выбор конкретного X компромис между частотой сделок (профитом) и риском.
Если же при увеличении X ПФ то растет, то снижается это значит что наше предположение либо не верное, либо нужно иначе сформировать фильтр волатильности.
Аналогичная логика и например, при выборе уровня входа. К примеру, есть рассчетный уровень от которого входим. Искусственно вводим параметр - смещение от этого уровня в пунктах. Например, целевой уровень L, а мы делаем L+X и начинаем смотреть как изменяется ПФ при изменении X например от -20 до +20.
Если способ выбора уровня L оптимальный, то ПФ будет максимальным именно на нем (X=0) при удалении от него будет последовательно уменьшаться до отсутствия перимущества.
Т.е. идея разобрать систему на винтики и проверить роабстность каждого в составе системы. Лишнее отбросить, сомнительное изменить.
Хотелось бы обсудить, кто какие приемы использует для построения робастных систем. *WRITE*
Avals
Зубр
 
Сообщения: 337
Зарегистрирован: Чт янв 27, 2011 7:55 am

Re: Робастность

Сообщение druidkgm » Вс сен 25, 2011 10:07 am

В продолжение.

http://tradersclub.biz/viewtopic.php?f=6&t=215
---------------------------------------------------------------------------------------------------------
Счас иссследую момент связанный с триггером переключения размерности стопов/профитов.
Появилась первая алго которая считает выход конкретно в поинтах. И начал исследовать.
Оказалось что если дать ей 2-3 состояния рынка то тогда эффективность %тов на 20 подымается....
то есть.
Ввести критерий 1-2-3
1 - если цена актива на момент открытия находится в верхней квантили.
2). -##### в средней.
3). -##### в нижней.
То исходя из этого применяем 1 "комплект" стопов, 2рой и третий.
На конкретном примере Нефти вышло так.
и счас исследую более детально....
Может кому будет полезно.
С точки зрения логики оправданно.
Особенно на сырьевых, что искать одинаковые параметры робастности на цене 220 за бушель и 1450 в рамках 2 лет немного не логично....
---------------------------------------------------------------------------------------------------------
Разделил и ввел простой фильтр.
до 350
от 350 до 700
от 650 и до выше

В итоге резалт вышел на несколько порядков лучше...
Продолжаю исследовать.
на сырье где изменение цены в 2-3 раза в рамках 5 лет норма оказывается введение такого дает существенный "улучшитель" доходности....

На индексах такого нет.
Что прикольно на нефти тоже :)
начал выяснять почему оказалось что волатильность в 2-3 доллара как при цене 37 так и при цене 137 является средней по больнице...
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
druidkgm
Dr. Druid
 
Сообщения: 975
Зарегистрирован: Чт мар 03, 2011 5:14 am

Re: Робастность

Сообщение Avals » Вс сен 25, 2011 10:16 am

druidkgm писал(а):Разделил и ввел простой фильтр.
до 350
от 350 до 700
от 650 и до выше

В итоге резалт вышел на несколько порядков лучше...
Продолжаю исследовать.
на сырье где изменение цены в 2-3 раза в рамках 5 лет норма оказывается введение такого дает существенный "улучшитель" доходности....

Вот я бы исследовал изменение качества системы (например ПФ) при сдвижении границы, как описывал в первом посте. Например не до 350, а переменный параметр от 200 до 500 (с шагом 50 к примеру). Аналогично и для других квантилей. А так же проверил аналогично стопы и профиты.
Просто многое получается либо отсеить либо вычленить ядро, которое более робастно. А точ часто система или даже ее отдельный фильтр это логическая "каша из топора"))) в которой много лишнего, а суть либо несколько искажена, либо завуалирована
Avals
Зубр
 
Сообщения: 337
Зарегистрирован: Чт янв 27, 2011 7:55 am

Re: Робастность

Сообщение druidkgm » Вс сен 25, 2011 10:25 am

Я же тоже не по наитию делал. *WRITE*
Понятно что не занимался выяснением закона распределения.
Но все же натянул да глянул где "примерно" правильно ставить ранжи....
Но подход ваш мне очень интересен..... Есть о чем задуматься, тк с временем торгов я нашел несколько интересных изысков по вашей наводки и если доисследую то обязательно выложу резалт.

Данные для зерна с 86 года (не канзасское а простое)
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
druidkgm
Dr. Druid
 
Сообщения: 975
Зарегистрирован: Чт мар 03, 2011 5:14 am

Re: Робастность

Сообщение ubertrader » Вс сен 25, 2011 11:04 am

Спасибо за отличный пост, сразу видно профи. Я хотел обсудить один момент, пожалуй - основной момент робастности. А именно:

Понимание сути неэффективности, которая лежит в основе системного заработка. Для спекуляций основу этого можно выразить в афоризме Баффета:
"Если вы не знаете кто проигрывает на бирже, значит проигрываете вы". Можно уточнить, что всегда это знать не нужно, а только в момент ваших трейдов.
Чтобы системно зарабатывать на чём-то другие трейдеры должны так же системно на этом проигрывать. И "кто" желательно расширить "почему".

У меня всегда вызывало искреннее недоумении способность некоторых аналитиков и рыночных комментаторов, раскладывать ВСЕ рыночные движения на участников, с завидной простотой. "Вот здесь был кукл", "Тут развели на стопы", "Нерезиденты выходят в массовом порядке" и другие фразы, мы может прочитать на различных форумах и блогах. Порой это все доходит до абсурдного бинарного упрощения ситуации.
На мой взгляд рынок, он не такой, чтобы его можно было просто читать, и разложить по полочкам (здесь покупал Вася, а здесь продавал Джон). Это как плавильный котел, где варятся все участники, и инициатива от одной группы переходит к другой, иногда противоборствующие группы действуют за одно. И поделить его на группы не такая уж тривиальная задача.

Еще сложнее разбить те или иные группы по их методам. Вот мы видим бурный рост, кто за ним стоит? Это может быть крупный фонд, набирающий позицию, или pair trader который одновременно параллельно шортит другую ногу, а может это и не лонг вовсе, а кто-то кроет свои шорты. И на самом деле это может быть и то, и другое, и третье в один и тот же момент времени. Движение и конфигурация цены, объема и времени, может привлекать одновременно множество групп (вполне сопоставимых по силе), если один фонд задирает акцию, другой ее шортит и хеджируется индексом. Не говоря уже о массовом появлении ХФТ, и алго-трейдинга для интеллектуального исполнения, что вносит дополнительный шум и эффективность в рынок.

Можно просто прикинуть на пальцах. На Daily фрейме пусть будет примерно 10 разных групп участников, которые торгуют по 10 примерно разных методов (по факту их на порядок больше), итого 100 уникальных торговых стратегий. Чтобы понять как та или иная группа действует нужно реверс-инжинерить ее подход. За 250 торговых дней, при условии что один метод сделает по трейду в год, наберется 100 уникальных дней для каждой группы. Какой шанс угадать, что сегодня вошла одна стратегия, а не другая(при условии что они не пересекаются): 100% / 250 / 100 = 0.004%! Но в реальности точки многих групп очень часто пересекаются, и часто встают против друг друга.

Так почему же, если трейдер считает, что тут кого-то поимели на деньги, он не одурачен случайностью? И там имели на деньги совсем других, и совсем не те? По-моему с таким подходом очень просто скатиться к натягиванию своего мнения на рынок.

Вот такой вот холиворчик вырисовывается :-D
Harder Better Faster Stronger
ubertrader
 
Сообщения: 313
Зарегистрирован: Вт фев 15, 2011 8:10 am

Re: Робастность

Сообщение Clawfinger » Вс сен 25, 2011 12:12 pm

Отличная тема, вставлю и я свои 5 копеек.

1. Понимание сути неэффективности, которая лежит в основе системного заработка. Для спекуляций основу этого можно выразить в афоризме Баффета:
"Если вы не знаете кто проигрывает на бирже, значит проигрываете вы". Можно уточнить, что всегда это знать не нужно, а только в момент ваших трейдов.
Чтобы системно зарабатывать на чём-то другие трейдеры должны так же системно на этом проигрывать. И "кто" желательно расширить "почему". имха


Тут соглашусь с определением ubertrader про плавильный котел. Очень трудно определить в этом котле, с какой группой участников рынка, мы имеем дело.

Ну и очень благодарен за подсказку с идеей про тесты с волатильностью.
Clawfinger
Вечно бродячий ученик
 
Сообщения: 223
Зарегистрирован: Ср янв 12, 2011 10:33 pm
Откуда: С берегов Днепра.

Re: Робастность

Сообщение Avals » Вс сен 25, 2011 1:54 pm

ubertrader писал(а):Спасибо за отличный пост, сразу видно профи. Я хотел обсудить один момент, пожалуй - основной момент робастности. А именно:

Понимание сути неэффективности, которая лежит в основе системного заработка. Для спекуляций основу этого можно выразить в афоризме Баффета:
"Если вы не знаете кто проигрывает на бирже, значит проигрываете вы". Можно уточнить, что всегда это знать не нужно, а только в момент ваших трейдов.
Чтобы системно зарабатывать на чём-то другие трейдеры должны так же системно на этом проигрывать. И "кто" желательно расширить "почему".

У меня всегда вызывало искреннее недоумении способность некоторых аналитиков и рыночных комментаторов, раскладывать ВСЕ рыночные движения на участников, с завидной простотой. "Вот здесь был кукл", "Тут развели на стопы", "Нерезиденты выходят в массовом порядке" и другие фразы, мы может прочитать на различных форумах и блогах. Порой это все доходит до абсурдного бинарного упрощения ситуации.
На мой взгляд рынок, он не такой, чтобы его можно было просто читать, и разложить по полочкам (здесь покупал Вася, а здесь продавал Джон). Это как плавильный котел, где варятся все участники, и инициатива от одной группы переходит к другой, иногда противоборствующие группы действуют за одно. И поделить его на группы не такая уж тривиальная задача.

Еще сложнее разбить те или иные группы по их методам. Вот мы видим бурный рост, кто за ним стоит? Это может быть крупный фонд, набирающий позицию, или pair trader который одновременно параллельно шортит другую ногу, а может это и не лонг вовсе, а кто-то кроет свои шорты. И на самом деле это может быть и то, и другое, и третье в один и тот же момент времени. Движение и конфигурация цены, объема и времени, может привлекать одновременно множество групп (вполне сопоставимых по силе), если один фонд задирает акцию, другой ее шортит и хеджируется индексом. Не говоря уже о массовом появлении ХФТ, и алго-трейдинга для интеллектуального исполнения, что вносит дополнительный шум и эффективность в рынок.

Можно просто прикинуть на пальцах. На Daily фрейме пусть будет примерно 10 разных групп участников, которые торгуют по 10 примерно разных методов (по факту их на порядок больше), итого 100 уникальных торговых стратегий. Чтобы понять как та или иная группа действует нужно реверс-инжинерить ее подход. За 250 торговых дней, при условии что один метод сделает по трейду в год, наберется 100 уникальных дней для каждой группы. Какой шанс угадать, что сегодня вошла одна стратегия, а не другая(при условии что они не пересекаются): 100% / 250 / 100 = 0.004%! Но в реальности точки многих групп очень часто пересекаются, и часто встают против друг друга.

Так почему же, если трейдер считает, что тут кого-то поимели на деньги, он не одурачен случайностью? И там имели на деньги совсем других, и совсем не те? По-моему с таким подходом очень просто скатиться к натягиванию своего мнения на рынок.

Вот такой вот холиворчик вырисовывается :-D

безусловно согласен со всем и с котлом особенно (удачное сравнение). Поэтому лично я воспринимаю группу обобщенно, как некое множество трейдеров придерживающихся общего стереотипа. Т.е. группа это весьма условно и можно делить как угодно лишь бы был смысл - $ :). Можно объединить всех интрадейщиков торгующих пробои экстремумов в группу и т.д. Т.е. основа общий стереотип в правилах входа или выхода - привязка к какому-то уровню или времени или какому-то событию ТА. Почему этот стереотип возникает? Часто можно выделить суть явления и она сводится к рулзам конкретного рынка или ограничениям его отдельных участников (что в принципе тоже рулзы). И если это удается сделать, то это может помочь лучше понять где копать чтобы улучшить систему и сделать ее более робастным в том числе. Т.е. это дает основание для сбора и анализа статистики, а статистика в свою очередь дает почву для размышления. Тут главное не увлечься в фантазиях, а для этого как раз стат. тесты и их правильная интерпритация нужна, что и является темой ветки :)
Avals
Зубр
 
Сообщения: 337
Зарегистрирован: Чт янв 27, 2011 7:55 am

Re: Робастность

Сообщение Avals » Вс сен 25, 2011 1:55 pm

Clawfinger писал(а):Отличная тема, вставлю и я свои 5 копеек.

1. Понимание сути неэффективности, которая лежит в основе системного заработка. Для спекуляций основу этого можно выразить в афоризме Баффета:
"Если вы не знаете кто проигрывает на бирже, значит проигрываете вы". Можно уточнить, что всегда это знать не нужно, а только в момент ваших трейдов.
Чтобы системно зарабатывать на чём-то другие трейдеры должны так же системно на этом проигрывать. И "кто" желательно расширить "почему". имха


Тут соглашусь с определением ubertrader про плавильный котел. Очень трудно определить в этом котле, с какой группой участников рынка, мы имеем дело.

Ну и очень благодарен за подсказку с идеей про тесты с волатильностью.
Пожулуйста :) Вола это только пример. Практически вся система м.б. проверена и пересмотрена по такому принципу.
Avals
Зубр
 
Сообщения: 337
Зарегистрирован: Чт янв 27, 2011 7:55 am

Re: Робастность

Сообщение Avals » Вс сен 25, 2011 2:25 pm

P.S. По поводу "плавильного котла".
Согласен, что цены есть взаимодействие совершенно различных трейдеров - по горизонтам, способам заработка и т.д. И соотвественно ориентируются они на абсолютно разные факторы как экзогенные факторы типа новостей или приток бабла на рынок, так и эндогенные - прошлые цены. И мы даже теоретически не можем учесть всех факторов и всех интересов. Но это и не надо. Достаточно выделить часть и момент когда влияние этих факторов (или трейдов) настолько значительно, что создает локальный драйв на определенном временном интервале. Влиянием остальных факторов мы вынуждены принебречь (это фактически шум в нашей модели). Вот те, кто создает этот локальный драйв и есть наша целевая группа. Точнее то что их объединяет, заставляет "ходить дружными рядами" (с)
Avals
Зубр
 
Сообщения: 337
Зарегистрирован: Чт янв 27, 2011 7:55 am

Re: Робастность

Сообщение ubertrader » Вс сен 25, 2011 2:37 pm

Можно объединить всех интрадейщиков торгующих пробои экстремумов в группу и т.д. Т.е. основа общий стереотип в правилах входа или выхода - привязка к какому-то уровню или времени или какому-то событию ТА.

Мы тут с коллегами в чате часто спорим о том, что первично: сетап (пробой экстремума) или группа (интрадейщики). Если верить Баффету и Pupkinus'у, то получается, что первична группа. Нашел группу, проанализировал ее поведение, сделал сетап.
Мой подход от обратного, нашел сетап, проанализировал какие группы за ним стоят. Также важно понять, долю случайности в появлении сетапа. Дальше уже можно определиться кто теряет деньги. Но нужно сделать оговорку, сетапы нужны не просто с потолка, а нужно искать такие ситуации на рынке, которые провоцируют участников на действия.
Harder Better Faster Stronger
ubertrader
 
Сообщения: 313
Зарегистрирован: Вт фев 15, 2011 8:10 am

След.

Вернуться в PUB: Вопросы и Ответы

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron