Начинал я с бота, который присылал прогнозы по акциям: вырастет или упадёт, с уверенностью и горизонтом. Потом сделал то, чего сервисы сигналов обычно не делают: посчитал, зарабатывают ли эти прогнозы, если по ним торговать. Не зарабатывали. Торговля по ним проигрывала простому удержанию рынка.
Идею я выкинул и начал с другого вопроса: что вообще переживает честный бэктест?
Условия проверки:
— 10 лет дневных данных по акциям США, включая бумаги, которые потом сняли с торгов. Без них почти любая стратегия выглядит прекрасно.
— Комиссии и спред вычитаются явно.
— Значимость считается по независимым периодам, а не по отдельным сделкам.
За базу взял классический моментум 12-1: ранжируем бумаги по доходности за 12 месяцев без последнего, держим верхние равными долями, пересматриваем раз в месяц. Дальше пытался его улучшить:
— Ранжирование машинным обучением (градиентный бустинг на ценовых признаках) в итоге не лучше равновзвешенной корзины всего универса.
— Стоп-лоссы: минус во всех 108 вариантах параметров.
— Фильтры по индикаторам (RSI, скользящие средние и прочее): минус во всех 44 вариантах.
— «Умные» выходы и буферы (держать бумагу, пока не упадёт ниже по рангу, ждать отскока перед продажей) ни разу не обыграли простое «продать, как только вылетела из топа».
— Другие формулы ранга (12-7, расстояние до 52-недельного максимума, доходность с поправкой на волатильность) все хуже обычного 12-1.
Сдвинула результат только скучная работа с исполнением:
— Спред. На площадке, где я торгую, в первые минуты после открытия спред был около 61 б.п., к полудню по Нью-Йорку около 15 б.п. Теперь ордера уходят после 12:00 ET.
— Минимальная комиссия. Когда у ордера есть минимальная комиссия, маленький счёт с 20 бумагами платит непропорционально много. На небольших суммах 10 бумаг оказались лучше 20.
Вывод для себя сделал такой: правило 12-1 лучше не трогать, а работать над тем, как его исполнять.
Из этого получился сервис Femidko Stock Analyzer & Trader: лонг-онли ядро 12-1 плюс отдельный портфель по тезисам на 1–3 года. Торгует на вашем собственном счёте Binance через API-ключ без права вывода, без плеча и шортов. Сначала всё работает на бумаге, бесплатно, так что можно посмотреть, как он торгует, не рискуя деньгами: femidko.com/stock-analyzer/
Интересно, находил ли кто-нибудь то, что стабильно улучшает обычный 12-1 после издержек. Или вывод действительно в том, чтобы оставить правило в покое и заниматься исполнением?
Только раз в месяц слишком редко… надо хотяб раз неделю или день… вообще раз в день всего 1 параметр оптимизации…
Какие акции брал? И сколько верхних торговал?
Ты можешь все существенно упростить делая модель и настройки на етф секторов… так например 25 етф охватывают сразу 1500 акций…
Про частоту я тоже думал, что раз в неделю лучше, и проверил. На недельном ребалансе оборот вырастает в разы, а круг покупка-продажа с комиссией и спредом у меня стоит около 1%. Выигрыш от более свежего ранга эти издержки не отбивает, так что месяц оказался лучше. На дневном тем более.
Юниверс — акции США, верхние 500 по обороту, список пересчитывается динамически (пробовал 200 и 1000, оба хуже). Держу топ-20 равными долями, а на маленьком счёте 10 — из-за минимальной комиссии на ордер 10 бумаг выходят выгоднее.
А у вас на каком периоде и с какими издержками получалось? Если без исчезнувших с биржи бумаг, результат обычно заметно лучше реального.