Данный алгоритм появился из стороннего примера, найденного на Quantopian. Я его оптимизировал и сопроводил обильными комментариями на русском. Это не лучшее использование воронок (Pipeline). Но зато использует произвольные факторы (CustomFactor). Всё это появилось по просьбе автора MindSpace.ru, Оксаны Гафаити. Поехали! 💡 Идея Торгуем 2000-ми акций с наибольшей капитализацией. В основе три фундаментальных показателя: P/B - цена к балансовой стоимости. Чем меньше, тем лучше. Ценностные акции.P/E - цена к прибыли. Чем меньше, тем лучше. Недооценённые акции.ROA - рентабельность активов. Чем больше, тем лучше. Все акции упорядочиваем по значениям показателей в зависимости от наших потребностей и получаем три рейтинга. Для каждой акции рассчитываем конечный рейтинг по формуле: В портфель попадут ТОП 20 акций с положительным моментумом за последние 30 дней. 🛠 Произвольный фактор (CustomFactor) Создать свой фактор легко. В списке inputs перечисляем источники данных. А в методе compute() сохраняем рассчитанное значение в аргумент out. Ниже пример расчёта моментума: Код доступен на Quantrum.me. 📈 Алгоритм Ребалансируем в первый торговый день месяца на открытии рынка. Стараемся приблизить к реальности, так чтобы ордера выставлялись перед открытием торговой сессии. Код алгоритма: Код доступен на Quantrum.me. 🏁 Заключение Алгоритм показывает хорошие результаты по доходности и опережает рынок в период с 2002 до 2018 гг. Но присутствует очень высокая просадка в -63%. Она не позволяет использовать его для торговли. Идеи улучшения: Добавить анализ роста волатильности.Добавить фильтр SMA 50 и SMA 200.Добавить фильтр по росту просадок за последний месяц. 💬В комментариях задавайте вопросы и напишите, как можно уменьшить просадку. Александр РумянцевАвтор Quantrum.meTelegram-канал📣: @quantiki