Блог им. MrFly

ЛЧИ близко. АлгоТрейдинг - устойчивость робота и подбор параметров


  ЛЧИ близко. АлгоТрейдинг - устойчивость робота и подбор параметров

Для того, чтобы лучше понять материал, можно ознакомиться в этими статьями:
https://smart-lab.ru/blog/180975.php
https://smart-lab.ru/blog/259824.php 
Там же видео как я оптимизировал 2,5 года назад(2015 год)

+++ Спасибо за твой плюс или коммент, они важны для меня!+++
*Картинки из статьи можно смотреть тут
ЛЧИ близко. АлгоТрейдинг - устойчивость робота и подбор параметров
ЛЧИ близко. АлгоТрейдинг - устойчивость робота и подбор параметров
Первое — я провожу большую оптимизацию и получаю несколько отчетов.
ЛЧИ близко. АлгоТрейдинг - устойчивость робота и подбор параметров

(Рис.  Отчет лучших 10 результатов по разным инструментам и TimeFrame)
ЛЧИ близко. АлгоТрейдинг - устойчивость робота и подбор параметров

Важно сравнить результаты на разных Тикерах и ТаймФреймах. Можно сначала провести оптимизацию без «реИнвеста», но все равно в дальнейшем придется оптимизировать и в тех мани-менеджмента, которые я собираюсь торговать, а возможностей в PortfolioSimulation(«реинвест модуль») больше.

По умолчанию в PortfolioSimulation(модуль оптимизации с «реИнвестом») велс сбивает все тикеры в портфель. Протестировать с разными мани-менеджментами по отдельности в одной оптимизации их не получится так просто.(PS — к слову в TsLab вообще нельзя оптимизировать несколько тикеров, а мани-менеджменты нужно  прописывать самому с нуля естественно в API). Но сделать это можно, тем более, если Вы планируете торговать >=10 контрактами, сравнивать все равно придется. Результаты с разными мани-менеджментами будут отличаться иногда довольно сильно.

(Рис. Недельные изменения в %-ах, недельная Equity и недельные просадки)
ЛЧИ близко. АлгоТрейдинг - устойчивость робота и подбор параметров
Интересующий меня результат можно посмотреть в WLD, загрузив в него результаты оптимизации, либо в Excel или R, результаты у меня сохраняются автоматически в csv.(из рисунка видно что, сохраняется Equity, просадка и дневные изменения).

(Рис. Результаты. Мани-менеджмент Риск на сделку 1%)
ЛЧИ близко. АлгоТрейдинг - устойчивость робота и подбор параметров
*Картинки из статьи можно смотреть тут
Также иногда пользуюсь R — анализ выходит еще быстрее и информативнее. (если будут плюсы напишу подробнее)
ЛЧИ близко. АлгоТрейдинг - устойчивость робота и подбор параметров

ЛЧИ близко. АлгоТрейдинг - устойчивость робота и подбор параметров

Многие алгоритмисты смотрят на лучшие результаты, которые могут быть разбросаны по полотну всех результатов, и представлять различные экстремумы и аномалии(ситуации которые не повторятся в будущем), однако если анализировать множество лучших результатов в совокупности, средние результаты будут ближе к реальности. 
(Рис. Аномалии)
ЛЧИ близко. АлгоТрейдинг - устойчивость робота и подбор параметров
(Рис. Пучок лучших результатов)
ЛЧИ близко. АлгоТрейдинг - устойчивость робота и подбор параметров
Я обычно смотрю не лучшие результаты, а область в которой сконцентрировано большинство хороших результатов и если рынок не поменяется кардинально, с большей вероятностью эта область останется прибыльной. Среди результатов лучшей области могут попадаться и очень плохие результаты, в отличие от первого варианта, также они могут быть более скоррелированные, из-за того, что находятся в непосредственной близости друг к другу. *Про работу с корреляциями будет подробно чуть ниже.

(Рис. Таблица полотна результатов с условным форматированием по разным Тикерам и TF)ЛЧИ близко. АлгоТрейдинг - устойчивость робота и подбор параметров
   *Картинки из статьи можно смотреть тут

ЛЧИ близко. АлгоТрейдинг - устойчивость робота и подбор параметров
Можно узнать как двигались лучшие параметры от года к году, чтобы найти общие устойчивые области.
(Рис. Отчет оптимизации генетикой отдельно по каждому году. Год 2008-2009)
ЛЧИ близко. АлгоТрейдинг - устойчивость робота и подбор параметров

Чтобы посмотреть по остальным годам кликните на следующую картинку
ЛЧИ близко. АлгоТрейдинг - устойчивость робота и подбор параметров
В примере стратегия «так себе», главное что хотел показать — такой анализ может быть очень полезным.
ЛЧИ близко. АлгоТрейдинг - устойчивость робота и подбор параметров

Форвардный тест в классическом виде не работает, в первую очередь потому что мы не знаем какой «лучший» параметр брать для проверки. Так как лучший параметр, как правило является подгонкой, то и форвардный тест -будет показывать, что ваша стратегия сливает на форварде. Поэтому либо нужно брать достаточно большой пучок Equity( например 40-50) и тестировать/торговать на большом наборе параметров. Либо нужно брать значения из стабильной области параметров, однако уверен, что следует также брать несколько наборов параметров.

В итоге получаем пучок форвардных Equity(склеенных из Equity периодов OutOfSample лучших N результатов на InSample)
*ставьте плюс, если хотите подробнее про это
ЛЧИ близко. АлгоТрейдинг - устойчивость робота и подбор параметров
Данная стратегия устойчивая и с маленьким количеством параметров, поэтому разброс пучка не очень сильный, но есть стратегии, в которых результаты OutOfSample отличаются кардинально.

(Рис. Средний рез. из пучка форвардных Equity (склеенных из OutOfSample 40 результатов), Si — 7 лет, InSample — 1год, OutOfSample — 1год)ЛЧИ близко. АлгоТрейдинг - устойчивость робота и подбор параметров
ЛЧИ близко. АлгоТрейдинг - устойчивость робота и подбор параметров
ЛЧИ близко. АлгоТрейдинг - устойчивость робота и подбор параметров
Одним из трудоемких процессов был — отсев результатов с высокой корреляцией. Теперь он решен путем кластеризации Euity. Под кластеризацией я понимаю группировку похожих Equty в кластер, из которых для оптимизации портфеля будет взята только одна из множества данных Equty. В конечном итоге мы получим набор Equity, которые не коррелируют сильно ни с одной другой в будущем портфеле.

Я предпочитаю отбирать параметры по скоррелированности просадок(не по Equity), многие советуют работать с дневными изменениями(returns).

(Рис. Автоматически сгенерированные нескорелированные Equity лучшей области полотна результатов(20% от всего полотна) в виде котировок, для оптимизации портфеля в WLD)
ЛЧИ близко. АлгоТрейдинг - устойчивость робота и подбор параметров
*Картинки из статьи можно смотреть тут

Чтобы лучше понять суть метода работы с «Equity-котировками», можно ознакомиться с постами smart-lab.ru/blog/180975.php и smart-lab.ru/blog/285828.php

(Рис. Одна из загруженных в WLD Equity)
ЛЧИ близко. АлгоТрейдинг - устойчивость робота и подбор параметров
(Рис. Неоптимизированный портфель 90 нескоррелированных Equity)
ЛЧИ близко. АлгоТрейдинг - устойчивость робота и подбор параметров

(Рис. После оптимизации осталось 46 Equity с разными весами в портфеле, но не >10%)
ЛЧИ близко. АлгоТрейдинг - устойчивость робота и подбор параметров

Все отчеты генерируются автоматически самим оптимизатором.
Вот так он выглядит сейчас (для тех, кто читал предыдущие статьи).
ЛЧИ близко. АлгоТрейдинг - устойчивость робота и подбор параметров

Надеюсь Вам было интересно/ полезно.
+++ Спасибо за твой плюс или коммент, они важны для меня!+++
*Картинки из статьи можно смотреть тут

__примеры тем:
Ваши вопросы по Wealth/ TsLab API 1.2
Как сделать так, чтобы Welath не стоил так дорого(800$),
Как перевести стратегию с Wealth на TsLab или обратно,
Как можно тестировать стратегию на устойчивость в Wealth
Датамайнинг
Какой язык учить и в чем проторговывать стратегии бесплатно
Как находить пары для парного трейдинга/арбитража, тестировать их
Как создавать свои мани-менеджменты Wealth/TsLab и тестировать их

__запись лимитирована: 

instagram.com/_nikfly
vk.com/hi_you
facebook.com/nikolay.flerov
Telegr - @NikolayFly;
Skype — horoshij_den 
2.5К | ★34
37 комментариев
«Красота-то какая! Лепота!»
Как это всё живёт в реальных торгах?
avatar
Sergey Pavlov, нормально 2-5% в месяц, а вот июль был нулевой
avatar
Николай Флёров, Это с какой суммы? Как думаете, реально делать 20% в месяц на рынке деривативов?
avatar
Stoic, кто-то сказал — «Это не я много плачу своим работникам, а зарабатываю я потому что у меня такие работники». Если у вас квалифицированная команда, которая замотивирована на прибыль + крутая инфраструктура, то %-ов 40-50 с приемлемым риском в год, в среднем можно иметь(какой-то год 20, какой-то 60-65). Думаю, что это не рентабельно на суммах до 50 миллионов, так как кадры дороги и инфраструктура, вычислительные мощности, frontTesting)
Это если Вы конечно не RokyBeat, он наверное может 20% в месяц, насколько я помню с 400 тыс руб)
avatar
1. спасибо.
2. Ник на лчи.
3. Куда пропадал.
avatar
Artemunak, спасибо)) ник смартлаба, наверное
avatar
с екселем и визуализацией зачетная идея
avatar
+++ поставил как смог
все резко упрощается если параметров оптимизации… или параметра оптимизации нет совсем…
avatar
ves2010, согласен)) но что же сделать, если то какой мани-менеджмент использовать — уже параметр и внутри него тоже минимум 1, например —  риск на сделку ;)
avatar
ves2010, оптимизация это как стероиды, главное не переборщить
avatar
один
avatar
Кластеры, это главное, творческий подход.
avatar
1. Интересно.
2. Я каждую эквити свожу к дневкам, как и портфели. В общем, похоже.
3. У меня оптимизация по году совершенно неустойчива. В общем, желательно оптимизировать по максимально доступному материалу. Например, есть 10 лет. Делаем 10 оптимизаций с выброшенным одним годом. Для каждой оптимизации этот год — аутофсемпл.
4. По какому критерию включать и отключать системы — трудный вопрос. Пока я не нашел ответа, стараюсь брать их так, чтобы вклад в риск (в рублях) был примерно одинаковый. 
5. Можно монтекарлить. И это, реально, весьма быстро. Мне кажется, зря Вы с вэлсом связались, жутко тормозная вещь.
6. А можно попробовать жадный алгоритм кластеризации. Сночала строим несколько хороших пар(портфель из 2 эквити). Потом, перебором, по одиночным эквити, строим из них лучшие тройки. Выбрасываем совпавшие. Перебором строим четверки. На каждом этапе видим, что улучшается в портфелях. 

avatar
SergeyJu, спасибо за коммент. Реально очень полезно и интересно. По поводу велса — в нем я автоматизировал всю ручную работу, ставлю на тест и забываю — приходит смс — тест закончен. Самое ценное — это мое время, а не машинное время — вычислительных мощностей хватает. А также в WLD можно сделать распаралеленные вычисления — это не просто, но можно. А при наличии генетики и роя частиц — на масмаркете круче нет)
PS также есть возможность оптимизация например от 10 лет до года шагом 1 год, только без моего участия и с отчетом) Либо форвард InSample 5-10лет OutOfSample 1 год, например
avatar
Хорошая статья, плюсовать не могу, нет рейтинга.

Как сделать так, чтобы WealthLab не стоил так дорого?
avatar
А что AmiBroker совсем тру программеры не уважают? Он вроде быстрее считает.
avatar
home30, тру программеры — пишут свои тестеры)) Для тестирования на свечка — wealth мне дает крутейшие возможности)
avatar
home30, Сижу на ами. Да, быстрый. Но на нем нет таких плюшек, как в велсе, но мне и ами хватает… я не тру программер))
avatar
SenSoR, это вы в Ами тестировали свои стратегии, которые крутятся у вас на стриме?
avatar
home30, Я кажется нашел человека, который смотрит стримы SenSor, они действительно существуют))
avatar
Replikant_mih, Ура! Кажись, у меня есть своя секта)) Точнее была, т.к. со стримами покончено)
avatar
SenSoR, Везёт тебе! Тоже бы хотел, быть может и у меня когда-нибудь будет. Пометил себе, что стримы в этом помогают.
avatar
home30, Да. Крутились)
avatar
В реале то как? Прибыль есть?
avatar
SECRET, спасибо, что заглянул — ответ был уже) smart-lab.ru/blog/414410.php#comment7492359
avatar
SECRET,  аву когда поменяешь?) убери этого лузера)
avatar
Кузя,  и это тоже)
avatar
Николай, Вы написали, что будете рады любому фидбеку, так что не обессудьте, приведу копипасту из книги весьма известного автора, имя которого легко нагуглить по выводам:

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

1. От любой системы, повторяю, от любой системы с помощью оп­тимизации можно добиться того, чтобы она была очень прибыль­ной на исторических данных. Если вы когда-нибудь обнаружи­те систему, которая не может быть оптимизирована так, чтобы показывать относительно хорошую прибыль в прошлом, примите мои поздравления: вы только что открыли машину по производству денег (поступайте противоположно ее сигналам, если толь­ко транзакционные затраты не чрезмерны). Таким образом, при­ятно смотреть на удивительную результативность оптимизиро­ванной системы в прошлом, однако она имеет мало практичес­кой ценности.
2. Оптимизация будет всегда, повторяю, всегда преувеличивать по­тенциальную будущую результативность системы — обычно весьма сильно. Таким образом, результаты оптимизации никог­да не должны, повторяю, никогда не должны использоваться для оценки достоинств системы.
3. Для многих, если не для большинства систем, оптимизация не будет улучшать будущую результативность или улучшит ее незна­чительно.
4. Если оптимизация и имеет какое-то значение, оно обычно со­стоит в определении широких границ диапазона, из которых следует выбирать значения наборов параметров для системы.
5. Тонкая подстройка оптимизации — это в лучшем случае потеря времени, а в худшем — самообман.
6. В свете всех предшествующих пунктов искушенные и слож­ные процедуры оптимизации — пустая трата времени. Наипростейшие оптимизационные процедуры будут предоставлять не меньшее количество значимой информации (предполагая, что, вообще, может быть извлечена некоторая значимая ин­формация).

В итоге, в противоположность широко распространенным верованиям, существует некий резонный вопрос: приведет ли оптимизация к суще­ственно лучшим результатам при длительном периоде торговли, чем случайным образом выбранный набор параметров? Чтобы не было ни­каких недоразумений, позвольте мне уточнить: это утверждение не при­звано подразумевать, что у оптимизации вообще нет никакой ценнос­ти. Во-первых, как указано ранее, оптимизация может быть полезна при определении явно неподходящего диапазона параметров, который сле­дует исключить при выборе значений параметра (например, N # 20 в нашем примере системы пробоя). Кроме этого, возможно, что для не­которых систем оптимизация может провести некоторые границы в выборе наборов параметров даже после исключения крайних неопти­мальных диапазонов. Однако я подразумеваю, что степень улучшения, предлагаемая оптимизацией, намного меньше, чем обычно представля­ется, и что трейдеры, вероятно, сберегли бы кучу денег, доказывая в начале любое предположение, которое они делают по поводу оптими­зации, а не принимая эти предположения слепо на веру.

avatar

Maxim Sheyko, прокомментирую)

Первые пункты действительно справедливы для некоторых подходов к процессу оптимизации — да, так оно и происходит. Но, оптимизация — это класс сущностей, не следует их под одну гребенку. Кения и США — обе страны, но какие разные)).

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

avatar
Maxim Sheyko, я почти во всем согласен с Вашим постом. Но давайте поставлю такой вопрос, существует ли такой минимальный набор параметров (степеней свободы параметров) при котором оптимизация еще работает. 
В конце концов, определение рабочего диапазона  параметра в известном смысле не сильно отличается от определения его оптимума. 
Кроме того, у нас есть параметры непрерывные, а есть дискретные, например, признак свечи белая/черная бинарный. Перебор дискретного параметра в известном смысле имеет меньше пространство состояний и, следовательно, меньший риск переподгонки.
avatar
Как много есть на свете вещей, без которых я обхожусь в трейдинге. 
Будьте проще и к вам потянутся деньги!
avatar
7% prosadka za 2% v mesyac eto je bred
avatar
HunterSrike, Не вижу бреда). А если бы Николай озвучил не среднемесячную доходность, а средненедельную или среднедневную)), то кратность чисел была бы ещё больше)). Годовая доходность в разы превышает максимальный дродаун — это гуд.
avatar

Отлично). Понравилась идея с цветовой температурой как 3-м измерением — не знаю почему я сам до этого не дошел, по-моему очень элегантное решение — получаем все плюсы наглядности 2-х измерений, при этом находясь в 3-х!

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

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

 

avatar
Replikant_mih, да)) чтобы понять последнюю часть наверное лучше ознакомиться вот с этими постами smart-lab.ru/blog/180975.php и smart-lab.ru/blog/285828.php
avatar

Читайте на SMART-LAB:
Фото
DXY у ключевой поддержки: шорт-сквиз или новый этап распродажи?
Индекс доллара DXY плавно дрейфует в область месячного минимума в районе 98,50. Однако ослабление доллара на FX неравномерно: EURUSD стоит около...
Фото
Коммерческий директор «Озон Фармацевтика» о доверии к отечественным производителям
🔍 В интервью для Российской ассоциации аптечных сетей коммерческий директор «Озон Фармацевтика» Ольга Ларина поделилась мыслями о...
ЛДВ против пятилетки: какая налоговая льгота выгоднее для инвестора
Для инвестора выбор между льготой долгосрочного владения (ЛДВ) и пятилетней льготой — это выбор стратегии и расчет налоговой эффективности. Оба...

теги блога Николай Флёров

....все тэги



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