Блог им. Danri

Смарт-портфель Collective2 или пассивно-активное инвестирование

Продолжаю серию публикаций о своем приключении в C2.
Все публикации на эту тему: https://smart-lab.ru/my/Danri/tree/#category_2090

В команду количественного анализа С2 я попал предложив разработать метод оценки торговых стратегий. Мэтью Кляйн дал мне сперва доступ к инструменту создания формул ранжирования, а когда я показал первый результат, то заключили соглашение.
Я подписал договор о неразглашении (NDA), поэтому прям подробно о разработанных методах ранжирования сказать не смогу.
Расскажу о самой идее смарт-портфелей, примененный мной метод разработки и тестирования, открытые данные статистического исследования, и что получилось.


Инвестор заказывает музыку.

Collective2 создан прежде всего для инвесторов из США, под их возможности и потребности.
Учитывая что С2 не является брокером, и весь доход генерируется от подписок, то закрыть потребность инвестора это самое важное. Не будет инвесторов -> не будет трейдеров -> не будет дохода.

В привлечении инвесторов помогает работа в законодательном поле США, малый порог входа (в сравнении с классическим хедж-фондом) и конечно же маркетинг.

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

И вот двигаясь в сторону удовлетворения потребности инвестора, 30 октября 2020г был представлен новый сервис SmartPortfolios. (Собственно с него и началось мое приключение в С2, об этом писал тут: smart-lab)

 

Что такое Смарт-портфель Collective2.

Если кратко, то это инструмент полной автоматизации инвестирования.

На мой взгляд идея очень крутая, выбираем:
1. Количество стратегий для портфеля.
2. Метод ранжирования.
3. Рынки.
4. Размер капитала каждой стратегии.
5. Срок ребалансировки портфеля.
6. Масштабирование (например открывать позицию в 2 раза больше чем стратегия).
7. Правила автоудаления стратегий из портфеля (управление риском).
8. Запускаем и забываем (в теории).

Смарт-портфель Collective2 или пассивно-активное инвестирование
Смарт-портфель Collective2 или пассивно-активное инвестирование

Чтобы это работало необходимо два фактора:
1. Прогностическая ценность метода ранжирования и собственно сами методы ранжирования.
2. Техническая реализация. 


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


Прогностическая ценность метода ранжирования.

Кто делал пошаговую оптимизацию (walk forward optimization) при разработке торговых стратегий, сразу понимает эту боль.

Для тех кто не в курсе что это такое.
Пошаговая оптимизация, это когда:
1. Берем набор исторических данных, скажем год, и перебираем комбинации параметров стратегий на этом участке.
Это называется оптимизационное окно.
2. Далее выбирается лучший результат по какому нибудь параметру: профит фактор, шарп ратио и т.п. (это метод ранжирования) и прогоняется бэктест на следующих неизвестных данных, скажем 3 месяца.
Это называется тестовым окном.
3. Затем сдвигаем оптимизационное окно на размер тестового окна и повторяем пункты 1 и 2.

На выходе получаем реалистичный бэктест с учетом оптимизаций: что было бы, если бы мы выбирали лучший результат (топ 1) оптимизации по такому-то параметру и торговали.

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

Так что же это: не состоятельность стратегии или метода выбора параметров (ранжирования) для тестового окна?

Стоп! А чего это я вообще пишу о трейдинге, если речь о ранжировании в Collective2?
Ответ прост, я рассматриваю ранжирование на С2, как оптимизацию стратегии, только в роли параметров используются стратегии трейдеров Collective2.
Даже оценка происходит по похожему набору статистик: Sharp Ratio, Sortino Ratio, Win Rate, Max Drawdown и т.д.

Следовательно мне надо было ответить на тот же вопрос, что и при разработке торговой стратегии: можно ли предсказать результат стратегии(параметров стратегии) на следующий период?


Мой подход.

К задаче разработки метода ранжирования для С2 я подошел как к разработке торговых стратегий: идея -> разработка -> оптимизация (чтобы вообще посмотреть жизнеспособность идеи) -> пошаговая оптимизация -> тестирование в реальном времени -> запуск на реальных деньгах.

Идея.

Определить статистические данные которые несут в себе прогностическую ценность.
Присвоить веса стат данным (баллы скоринга).
Суммировать все баллы.
Отсортировать по сумме баллов.
Провести пошаговый бэктест портфеля из топ 5 стратегий.

Далее стат данные стратегий буду называть атрибутами.

Разработка.

Сперва было необходимо определить граничные значения атрибутов, например
if *SharpRatio* >= 2, 10(scores)
В данном примере граничное значение это 2.
Это необходимо, чтобы установить для каждого атрибута строго определенное максимальное количество баллов и избежать перекоса в финальном подсчете.
Дело в том что чем меньше данных, тем больше разброс значений атрибутов. Для стратегий 4 месяцев от роду, можно увидеть шарп и выше 5, но для 2х летних уже нет.
Именно поэтому оценку по одному атрибуту сделать не возможно.

Как же определить граничные значения атрибутов?
На первых порах я опирался на свой опыт в трейдинге, поэтому эти значения были эмпирическими.
Вот некоторые:
— ShartRatio = 2
— SortinoRatio = 5
— AnnualReturn = 1
— MaxDrawdrown = 0.3
— MaxOpenLoss = 0.05

На данный момент доступно отличное исследование атрибутов от команды С2 на github: https://github.com/collective2/StrategyStats/blob/main/START_HERE.ipynb

 

Далее пишем формулу и делаем бектест.
Для написания формул ранжирования и их тестирования в С2 реализован “Верстак” (Strategy Scoring Workbench).
Он позволяет простым языком написать формулу с использованием атрибутов стратегий и затем провести бэктест на любом (в рамках доступных данных) участке данных.
Это аналог пошаговой оптимизации описанной выше, только с помощью скоринг формулы мы перебираем стратегии. А затем получаем их результат на следующем периоде данных (тестовое окно).

Выглядит это так:

Пишем формулу, указываем тестовое окно и запускаем

Смарт-портфель Collective2 или пассивно-активное инвестирование
Результат
Смарт-портфель Collective2 или пассивно-активное инвестирование

Пошаговый бэктест.

К сожалению в самом “Верстаке” пока не реализовано пошаговое тестирование.
Приходилось двигать окно вручную, сохраняя все данные.
В дальнейшем я написал свой инструмент для бэктестов, чтобы ускорить разработку, но сам “Верстак” это отличный инструмент написания своих формул и их тестирования, не требующих особых навыков.
Формулы написанные в “Верстаке” можно использовать как метод ранжирования в Смарт-Портфелях.

И так, присвоив граничные значения атрибутов, я принялся определять их прогностическую ценность.
Добавить атрибут -> Пошаговая оптимизация -> Сравнить с эталоном.
Если результат улучшается, то добавляем в формулу.

Следующим шагом после отбора атрибутов с прогностической ценностью — был подбор их весов в общей формуле. Процесс получился долгий и достаточно творческий, и все еще не совершенен.


Что получилось.

Пошаговый бэктест с 01-01-2018 по 31-05-2021.
Период ребалансировки портфеля (тестовое окно): 7 дней.
Размер портфеля: топ 5 стратегий с размером счета от 40,000 до 70,000.
Смарт-портфель Collective2 или пассивно-активное инвестирование
Смарт-портфель Collective2 или пассивно-активное инвестирование

Симуляция портфеля в реальном времени.

Период: с 13-07-2021 по 08-09-2021.
Период ребалансировки портфеля (тестовое окно): 7 дней.
Размер портфеля: топ 5 стратегий с размером счета от 40,000 до 70,000.
Смарт-портфель Collective2 или пассивно-активное инвестирование

Этот портфель можно назвать консервативным, в нем преобладают стратегии с историей 2+ лет.
Попадаются даже такие мастодонты вроде этого https://collective2.com/details/106187009
Смарт-портфель Collective2 или пассивно-активное инвестирование

Стратегии в портфеле на момент подготовки данного материала:
Смарт-портфель Collective2 или пассивно-активное инвестирование
Смарт-портфель Collective2 или пассивно-активное инвестирование
Смарт-портфель Collective2 или пассивно-активное инвестирование
Смарт-портфель Collective2 или пассивно-активное инвестирование
Смарт-портфель Collective2 или пассивно-активное инвестирование

Обратите внимание, что все 5 стратегий на акциях.
Настройки смарт-портфеля тут не при чем, уставлены все рынки.
Дело в том, что подавляющее большинство долгожителей приходится именно на стратегии на акциях.
Я связываю это прежде всего с плечом, на акциях макс плечо 2. При всем желании не нагрузить так счет, чтобы стратегия обнулилась за одну сделку (ну разве что все вложить в одну памп-акцию).
А это значит, что остается место для маневра и адаптации.
На фьючерсах это тоже достижимо, микро-фьючерсы на счете до $100,000, но многие от того и торгуют фьючерсы, что можно получить большее плечо и увеличить доходность.

Дальнейшие планы.

  • Прежде всего продолжать тестирование в реальном времени текущей скоринг формулы.

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

  • Совершенствовать в целом модель оценки, улучшить методологию подбора весов.



Заключение.

Эта статья завершает серию “Мои приключения в С2”. Думаю что продолжить ее можно будет не раньше чем через пол года, когда накопиться больше данных.
У меня есть мысли по материалу вне этой истории, на стыке опыта полученного в трейдинге и в С2.
Так что публикации еще будут, не спешите отписываться :)

Еще хотел бы сказать почему я вообще решил рассказать о своем приключении. 

Дело в том, что мне очень нравится идеология Collective2, а именно:
— ориентация на доход инвесторов;
— не брокер, нет конфликта интересов (например зарабатывать на комиссии и стимулировать большее количество сделок);
— открытые базы данных;
— обширная статистика по стратегиям;
— регистрация в США, SEC, NFA;
— программа C2Star для трейдеров;
— акции, фьючерсы, форекс, опционы.

В общем для меня, как трейдера, это был глоток свежего воздуха из болота “проп” контор, всяких etoro, zulu и других проектов с регистрацией в оффшоре. 

Стал бы я инвестором в С2?
Пожалуй да, технология копи-трейдинга работает хорошо, все сделки по стратегиям можно скачать и проанализировать, нет конфликта интересов, полный контроль над своим счетом.
Если обладаешь достаточным опытом в оценке торговых стратегий, то сможешь найти хорошие варианты.
А вот если не обладаешь, то именно для этого задуман смарт-портфель и ведётся работа над методами ранжирования. Пассивно-активное инвестирование — настроил и забыл.

Я очень рад, что узнал о Collective2 в 2019 году, и хотел рассказать вам об этом со всех доступных мне сторон.


С уважением к сообществу,
Даниил.

 









  

 

   


★1
6 комментариев
отличный пост!
avatar
знаю С2 по-сути с первого дня, ерунда редкостная
avatar
Даже если вы получали великолепные результаты оптимизации на всей выборке, то при пошаговой оптимизации зачастую это тоска и печаль.

Можете немного пояснить смысл этого теста? Это имеется в виду если хочется постоянно менять параметры стратегии в будущем?
avatar
cybertruck, В общем да.
Если в стратегии есть параметры, которые можно перебирать, то такие тесты обязательны.
Альтернатива это стратегия без параметров, с внутренней адаптацией к рынку, например по волатильности. В таком случае достаточно простого бектеста.
avatar
Даниил Рябицкий, ну вот например, выбрал параметры по бэктесту за 10 лет, все 10 лет профитны с этим набором параметров, мы эти параметры фиксируем и их менять не предполагается никогда. в этом случае WFO будет бесполезен?
avatar
cybertruck, Да, если параметры менять не планируется, то WFO тут негде применять.
Но в вашем примере я бы после оптимизации за 10 лет, сделал бы потом бектест полученных параметров за последующих года два.
И если результаты остаются в рамках полученных при оптимизации, то тогда да, можно просто их использовать и все.
Это получится простой look-forward backtest.

Круто если у вас такое имеется :)
avatar

теги блога Даниил Рябицкий

....все тэги



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