Простая стратегия с фундаменталом для Quantopian

Данный алгоритм появился из стороннего примера, найденного на Quantopian. Я его оптимизировал и сопроводил обильными комментариями на русском. Это не лучшее использование воронок (Pipeline). Но зато использует произвольные факторы (CustomFactor).

Всё это появилось по просьбе автора MindSpace.ru, Оксаны Гафаити. Поехали!

💡 Идея

Торгуем 2000-ми акций с наибольшей капитализацией. В основе три фундаментальных показателя:

  • P/B — цена к балансовой стоимости. Чем меньше, тем лучше. Ценностные акции.
  • P/E — цена к прибыли. Чем меньше, тем лучше. Недооценённые акции.
  • ROA — рентабельность активов. Чем больше, тем лучше.

Все акции упорядочиваем по значениям показателей в зависимости от наших потребностей и получаем три рейтинга. Для каждой акции рассчитываем конечный рейтинг по формуле:

    \[Rank=\frac{RankPB +RankPE +RankROA}{3}\]

В портфель попадут ТОП 20 акций с положительным моментумом за последние 30 дней.

🛠 Произвольный фактор (CustomFactor)

Создать свой фактор легко. В списке inputs перечисляем источники данных. А в методе compute() сохраняем рассчитанное значение в аргумент out. Ниже пример расчёта моментума:

📈 Алгоритм

Ребалансируем в первый торговый день месяца на открытии рынка. Стараемся приблизить к реальности, так чтобы ордера выставлялись перед открытием торговой сессии.

Код алгоритма:

🏁 Заключение

Алгоритм показывает хорошие результаты по доходности и опережает рынок в период с 2002 до 2018 гг. Но присутствует очень высокая просадка в -63%. Она не позволяет использовать его для торговли. Идеи улучшения:

  • Добавить анализ роста волатильности.
  • Добавить фильтр SMA 50 и SMA 200.
  • Добавить фильтр по росту просадок за последний месяц.

🛠 Вы можете заказать улучшение данной стратегии и подключение её к Interactive Brokers, написав мне на почту.

💬В комментариях задавайте вопросы и напишите, как можно уменьшить просадку.

☝Хотите инвестировать в акции 🇺🇸США? А может, в IPO? Начните от $100 в United Traders👍.
Александр Румянцев
Автор Quantrum.me
Telegram-канал📣: @quantiki

Подбор и тестирование портфелей. Подключение стратегий к IB.