Клиентская задача: алготрейдинговый бот для скальпинга по акциям на официальном API одного из крупных российских брокеров, с консервативным риск-менеджментом (у заказчика нет опыта в трейдинге, поэтому важна была защита от крупных просадок, а не максимизация доходности любой ценой). Задача включала не просто написать торговую логику, а сначала честно проверить несколько торговых гипотез на реальных исторических данных, а не выдавать желаемое за действительное.
Собрал полную архитектуру на Python: скринер волатильных ликвидных акций (пересчитывается каждый день, не хардкод-список), модуль риск-менеджмента (размер позиции от % депозита, стоп/тейк, дневной лимит убытка), трекер позиций и логгер сделок. Отдельно собрал бэктестер на реальных исторических свечах российской биржи и прогнал через него 4 торговые гипотезы (пробой локального экстремума, возврат к VWAP, гэп-филлинг, парный трейдинг) с учётом реальной комиссии брокера, прежде чем подключать что-либо к live-счёту. Для живого режима добавил автопереподключение к stream-апи при обрыве соединения, ограничение по торговым часам биржи и автозапуск через Планировщик задач Windows, чтобы бот переживал перезагрузки и закрытие сессии.
Честный отбор гипотез: пробой экстремума оказался без эджа на любом из ~30 протестированных вариантов, возврат к VWAP давал валовой эдж, но он всегда был меньше комиссии — обе идеи честно отбракованы, а не доведены до live вопреки отрицательному результату — это и была цель проверки. Гэп-филлинг и парный трейдинг показали устойчивый плюс (парный трейдинг — 44 из 45 протестированных конфигураций в плюсе, самый устойчивый результат за всю работу).
Живой бот запущен и работает автономно через Планировщик задач в биржевые торговые часы, переживает обрывы сети и перезагрузки без вмешательства. На данный момент торгует в песочнице брокера (без реальных денег) — это осознанный этап перед переходом на реальный счёт, не недоделанная часть — вся торговая и инфраструктурная логика идентична боевому счёту.