Создание системы отбора стратегий и формирование портфеля

 

Добрый день коллеги! Столкнулся с проблемой отбора прибыльных стратегий и формирования портфеля. 
На входе:
1)Имеем например 1000 вариантов графика цены со схожими свойствами.
2)Очень много вариантов простых систем (сотни тысяч). Как они получаются в контексте задачи не важно, но для понимая приведу пример. Имеем простые сигналы: пересечение 2х машек, превышение RSI определенного порога, повышение волатильности выше порога. Для простоты параметры индикаторов будут браться стандартными. Из этих  сигналов и получаем пары вход-выход. 

Как из полученных пар правильно отбирать системы успешно отработавшие по какому то критерию например на 98% вариантов путей цены?
Как быть с результатами которые в большинстве графиков дали хороший исход но сделок на каждом графике было мало. Например на 90% путей мы получили прибыль, но в каждом отдельном варианте графика сделок было меньше 100 или вообще не более 5?
Как из отобранных систем формировать портфель?

Пока план вижу так:

Этап 1 Отсев плохих вариантов

Разделяем стратегии на 2 класса

Класс А - для стратегий с количеством сделок >= 100
Класс Б - для стратегий с количеством сделок <  100

Для каждого класса предусмотреть свой набор критериев отбора, например для класса А расчет PSR, макс просадку и тп (эти метрики необходим подбирать)

Этап 2. Отбор в портфель

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

Хотелось бы послушать мнение сообщества по этому поводу, может кто подскажет по каким критериям отбирать стратегии, или как то по другому формировать портфель?

Главная цель - полная автоматизация отбора и формирования портфеля.

 
Интересно. Перечислите пожалуйста признаки, по которым Вы оцениваете эффективность торговой системы.
 
Vitaly Murlenko #:
Интересно. Перечислите пожалуйста признаки, по которым Вы оцениваете эффективность торговой системы.
Я пока ни какими метриками не оцениваю. Планирую применять обычные, вроде Profit Factor, Max Drawdown, Sortino Ratio и прочее, конкретные метрики скорее всего придется подбирать брутфорсом. План немного пересмотрел для класса А план такой: 
1) Выбираем некоторый набор метрик 
2) Выбираем только те стратегии у которых хотя бы 1 метрика на всех вариантах путей цены не хуже заданной (Например, для профит фактора не менее 1.6 для каждого графика). 
3) Формируем веса портфеля таким образом, чтобы уже все метрики используемые выше были не хуже заданных на всех вариантах путей.

Для класса Б поправка в пункте 2 - все метрики должны быть не хуже. и в 3 делаем одинаковые веса.

Великий думатель предлагает другие варианты вроде TOPSIS, Probabilistic Sharpe Ratio и др для отсева стратегий и кучу невнятных вариантов по портфелю. По поводу корреляций стратегий не уверен что стоит с этим связываться, сложность и так не слабая получается.

Сейчас разрабатываю архитектуру тестера чтобы можно было легко вносить правки.
 
портфель из "стратегий" хотишь формировать? или пары ещё туда вставлять? типа 3 пары дали тебе 157 миллионов вариантов "графика эквити" и ты их разложил десятком стратегий? 
 
Alexander Generalov:

Столкнулся с проблемой отбора прибыльных стратегий и формирования портфеля. 
На входе:
1)Имеем например 1000 вариантов графика цены со схожими свойствами.
2)Очень много вариантов простых систем (сотни тысяч). Как они получаются в контексте задачи не важно, но для понимая приведу пример. Имеем простые сигналы: пересечение 2х машек, превышение RSI определенного порога, повышение волатильности выше порога. Для простоты параметры индикаторов будут браться стандартными. Из этих  сигналов и получаем пары вход-выход. 
...

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

Технические решения по подбору портфелей стратегий/символов/настроек описывались и в статьях, и в кодобазе, насколько я помню (вот только один пример, чтобы далеко не ходить).

TesterPortfolio - портфель ТС
TesterPortfolio - портфель ТС
  • 2020.01.16
  • www.mql5.com
В приложении советник/робот, который объединяет несколько независимых одиночных проходов MT5-Тестера в один. Сценарии использования. Чужой советник с закрытым исходным кодом не запускается в
 
КМК, ТЗ звучит так:
- имеем 100500 мусорных стратегий, как из них отобрать пару прибыльных?
 
Sergey Gridnev #:
КМК, ТЗ звучит так:
- имеем 100500 мусорных стратегий, как из них отобрать пару прибыльных?
Вряд ли эта задача имеет решение. По крайней мере "Лига" ее не решила насколько я понимаю.
 
Aleksander #:
портфель из "стратегий" хотишь формировать? или пары ещё туда вставлять? типа 3 пары дали тебе 157 миллионов вариантов "графика эквити" и ты их разложил десятком стратегий? 
Из множества стратегий которые прогнали на графиках с определенными характеристиками.
 
Stanislav Korotky #:

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

Технические решения по подбору портфелей стратегий/символов/настроек описывались и в статьях, и в кодобазе, насколько я помню (вот только один пример, чтобы далеко не ходить).

Стратегии очень простые, я думаю там много прибыльных может получиться (под прибылью я имею ввиду положительную доходность) вот из них уже нужно сеять те что реально достойны внимания.
 
Sergey Gridnev #:
КМК, ТЗ звучит так:
- имеем 100500 мусорных стратегий, как из них отобрать пару прибыльных?
Примерно так и есть.
 
Grigori.S.B #:
Вряд ли эта задача имеет решение. По крайней мере "Лига" ее не решила насколько я понимаю.
Лига ее решала не правильно. Я читал что делал ТС. Там просто отбор лучших на одном графике. В моем варианте выбираются только те стратегии, которые пережили тысячи графиков с похожими характеристиками. 

К сожалению тут нельзя выкладывать ссылки на сторонние ресурсы, посмотрите блог пользователя bascomo на смартлабе. Он берет множество простых стратегий и отбирает только те которые пережили кучу вариантов графиков цены( разные инструменты). У меня идея схожая но цены я беру не реальные а генерирую их синтетически (монтекарло), и вот на этих синтетических данных я хочу проводить отбор. (Да я знаю и понимаю про возможные артефакты генерации, сложности создания синтетика и тп)