Всем по привету.Торгую на Фортс.Арбитраж.Время удержания позиции от часа до 3 дней.Буду очень признателен, если поделитесь мыслями по грамотному тестированию мех.стратегий.
Один из знакомых предлагает Бэк-тест проводить следующим образом:
Второй знакомый предлагает оптимизировать стратегию один раз в квартал.
Третий знакомый предлагает оптимизировать стратегию каждый день.
Кто прав? Научите.
Мое мнение, такое что если есть данные за несколько лет, то для начала можно пробэктестить сами подходы бэктестинга. Что то типа мета-бэктэстинг. Поэтому предлагаю попробовать исследовать все предложенные варианты. каждый вариант подхода к бэктестингу тестировать на контрольной выборке.
Есть момент. Допустим обучили модель на 2016-2017 г. На 2018 годе ее пробэктетситровали. Вопрос надо ли торговать модель именно с этими параметрами или включить в обучение 2018 г. Эти варианты подходов тоже можно протестировать. Но на мой взгляд итоги могут зависеть от стадий рынка (трэнд, флэт, падение волы и т.п.). Я все ж думаю все зависит от стратегии.
У меня трендовые стратегии. Я просто беру данные с 2008 г по текущее время. Пробовал искать параметры стратегий отдельно по каждому году, а потом выбирать «чемпионов», но результат был немного хуже чем искать параметры сразу на всей истории. Плюс надо смотреть как стратегия торгует последние года или месяцы.
У меня есть стратегия по золоту. Параметры подбирал на выборке 2008-2018 гг. Стратегия получилась не плохая, но проблема в том что с 2014 года нет прибыли практически совсем. Как я себе объясняю, потому что с 2014 года в золоте флэт. Вот думаю, торговать такую стратегию или нет.
или хотя бы укажите что понимаете под арбитражем?
Сдается мне, что называется это не арбитраж, а парный трейдинг.
Если так и есть, то дело это перспективное, но гиблое :)
ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%B8%D0%BD%D1%82%D0%B5%D0%B3%D1%80%D0%B0%D1%86%D0%B8%D1%8F
1) Прогоняю последний год. Смотрю на эквити не очень удачные участки. Беру их в оборот
2) Вычисляю, что такого поменялось в рынке, что страта встала.
3) Выявляю тем самым такие показатели, под которые можно подстроиться.
4) Делаю самоодаптацию для таких вариантов.
5) Прогоняю два года на первой версии. И прогоняю два года на второй версии. Выявляю, начинает ли работать самоодаптация на новом году.
и тд.
1) Если средняя волатильности упала, то стоп подтягиваем ближе..
2) Если средняя объема торгов падает, то понижаем лотность..
3) Если спред стакана вырастает, то...
4) Если корреляция ушла в другие величины, то..
5) Если зависимости движений понизились, то..
то есть алго сам принимает решение. Адаптируется к текущим показателям рынка.
это все на бектесте вычисляется на раз.
По мне так чем больше данных тем лучше, если конечно уметь с ними работать. С точки зрения описываемой задачи больше данных — больше период времени. Дальше смотреть чё кого. Описанные схемы — это упрощенные модели, позволяющие справиться с объемом и сложностью данных, насколько они хороши — затрудняюсь ответить, поскольку из описания не полностью понял их логику, да и влом)).
Советую отбектестить так как тебе самому кажется на данный момент: «а пойдет и так!...» А потом запустить его в работу и уже тогда «походупьесы» придет то самое понимание)
Это как торговать на демо-счете, и надеяться что в реале будет так же. Пока своё бабло не спустишь — розовые очки не снимешь — каждый алго будет граалем)
Самое главное это идея, если она со смыслом, то как правило, система будет робастной. С наборами индикаторов лучше не оптимизировать совсем, кроме может быть скользяшек, скорее всего попадете в переподгонку, система будет не стабильной. Оптимизировать лучше на максимальном количестве данных, при огромном количестве сделок( порядка 5000) на большом интервале данных ( 10-ть лет) при сохранении должной линейности эквити переподгонка не возможна. Тут конечно стоит покрутить параметры системы на 20% и посмотреть как меняется выхлоп, чтобы убедиться в устойчивости системы.
По поводу частой переоптимизации вопрос спорный, например А.Муханчиков как-то в интервью сказал, что подкручивать нет смысла, он в этом ничего не нашел. А.Горчаков тоже в интервью говорил, что больше доверяет параметрам дающий некий средний результат проверенный на большом интервале с разными состояниями рынка, чем постоянное подкручивание, хотя потом в другом интервью сказал, что лучше как можно чаще переоптимизировать.
Я на своем опыте тоже пришел к выводу, что лучше раз в год оптимизировать на всем интервале данных(чтобы убедиться, что все в пределах нормы), чем частая подкрутка. На самом деле рынки не меняются за неделю, даже годы бывают не стандартные, после чего всё возвращается в нормальное русло. Поэтому переоптимизировать каждую неделю, думаю, смысла нет. Как пример этот год, я делал «хитрую» переоптимизацию каждую неделю, в результате попал в жуткую убыточную серию (25% слил) начиная с середины августа, а потом сравнил с результатом параметров оптимизированных на всем интервале и офигел, был бы в очень не плохом плюсе, а я циклонулся на каких то временных состояниях рынка, которые бывают раз в несколько лет.
В общем конечно тут нужен компромисс, а где он никто не знает, каждый решает сам.Удачи!
Но даже для неё ваши еженедельные старания ИМХО перебор )
Хотя, не удивлюсь, если кому-то понадобится и еженедельно.
100%! Надо искать СВОЮ жарптицу, под свою ТС.
Машковский Евгений, большое спасибо за развернутое мнение! Прислушаюсь.
п.с. Индикаторов в моих ТС нет и кол-во сделок переваливает 5000)
Потому что использование «одного окна», оптимизированного на истории, является методической ошибкой.
Лично сам я этот метод не использую, а просто в моих системах окно расчета — это функция от прошлых цен.
www.youtube.com/watch?v=hZW43NpNM24
www.mql5.com/ru/market/product/7611