

В трейдинге есть два типа людей: те, кто оптимизирует каждую микросекунду исполнения ордеров, и те, кто до сих пор вручную пылесосит квартиру. Я долго был во второй категории, пока не осознал, что ручная уборка — это неэффективный аллокатор времени. Осенью 2024 года, углубившись в бонистику (коллекционирование банкнот), я понял: пыль — это не просто эстетическая проблема, а реальный риск для банкнот.
Анализ «актива»:
Долго изучал модели, читал обзоры, сравнивал ROI (Return on Investment, если кто забыл).

Я подошел к выбору робота-пылесоса как к тестированию новой торговой стратегии:
Сбор данных — обзоры, сравнения, отзывы (как анализ исторических данных).
Критерии отбора — автономность (как устойчивость алгоритма в разных условиях), цена (максимальный sharpe ratio за рубль), логистика (спред на доставку).
Ложные сигналы — модели с красивыми графиками, но слабой «начинкой» (как переоптимизированные советники).

Все сделки робота — это сделки по паттернам разворота или восстановления дневного тренда или трендов старших уровней иерархии.
На днях наткнулся на интересную дискуссию в англоязычном сообществе алгоритмических трейдеров на Reddit в r/algotrading. Участник поделился своим опытом создания скальпинг-бота для торговли 0DTE опционами (опционы с экспирацией в день торговли) и задался вопросом: «Есть ли здесь кто-то, кто реально обыгрывает рынок с помощью публичных API?».

Он использовал простую логику:
Скользящие средние (EMA) для тренда
RSI + Bollinger Bands для фильтрации входов
Вход только «после открытия» и выход «до закрытия»
Всё настраивается через параметры
Бэктестинг через Python библиотеку backtesting.py
Несмотря на оптимизацию его робот в долгосроке всё равно не обыгрывает индекс S&P500.
Другой участник раскритиковал подход автора поста:
«Вы используете EMA, RSI, полосы Боллинджера — те же стандартные индикаторы технического анализа, которые предоставляет каждый брокер. Большинство дневных трейдеров терпят неудачу, верно? Так почему вы думаете, что можно получить прибыль, глядя на те же индикаторы, что и все остальные?»
Привет, коллеги!
Хочу поделиться мыслями по теме, о которой редко говорят (хз почему) – эффект наблюдателя в алгоритмической торговле. Если совсем просто: сам факт того, что ты «следишь» за роботом и/или лезешь в его работу, может эту работу сломать или исказить результаты.
Что за зверь:
Эффект наблюдателя в квантовой физике означает, что процесс наблюдения или измерения квантовой системы влияет на ее состояние. В отличие от классической физики, где наблюдатель не влияет на объект наблюдения, в квантовой механике взаимодействие с измерительным прибором (наблюдателем) может изменить свойства квантовой системы, например, заставить ее перейти из состояния суперпозиции в определенное состояние.
Суперпозиция:
В квантовой механике частицы могут существовать в нескольких состояниях одновременно (суперпозиции) до момента измерения. Например, электрон может находиться в двух местах одновременно или обладать разными значениями спина.
Взаимодействие с наблюдателем:
При измерении квантовой системы происходит взаимодействие между ней и измерительным прибором (наблюдателем). Это взаимодействие, в свою очередь, заставляет систему «выбрать» одно определенное состояние из множества возможных, тем самым изменяя ее.
Ну что… Подходит к концу наша серия про «Алго-Лифт». За сим, чтобы нам было не скучно. Открываем чат для закрытого общения и сборки различных технологий. Кроме того, в этом чате будут храниться экстравагантные данные для тестов.
Это серия постов «Алго-лифт»: https://smart-lab.ru/company/os_engine/blog/1179129.php
Попасть в этот чат можно без готовой модели быстрого алго. Всё сильно проще, но правила должны быть.
Базовые вещи
Резюме. Документ
Некоторые разделы, которые стоит включить в резюме:
На выходных в OsEngine добавлено обновление, упрощающее написание торговой логики роботов и индикаторов.
Для роботов добавлены операторы неявного преобразования для упрощения работы c классами StrategyParameterLabel, StrategyParameterInt, StrategyParameterDecimal, StrategyParameterBool, StrategyParameterString, StrategyParameterTimeOfDay, StrategyParameterCheckBox, StrategyParameterDecimalCheckBox.
Для индикаторов добавлены операторы неявного преобразования для упрощения работы c классами IndicatorParameterInt, IndicatorParameterDecimal, IndicatorParameterBool, IndicatorParameterString.
Например, можно использовать экземпляр StrategyParameterInt в контексте, где ожидается int, без явного обращения к свойству ValueInt.
Раньше: