Перестройка торгового алгоритма: от процента прибыльных сделок к расчетной вероятности исполнения и интеллектуальной предфильтрации

Улучшения алгоритма: от ошибочного к функциональному
Разработчик недавно поделился крупной переработкой своего сканера алгоритма торговли акциями, устранив фундаментальные недостатки в первоначальной реализации. Система сканирует 500 акций и генерирует торговые карточки с предлагаемыми позициями, но первоначальная версия имела значительные проблемы с точностью и эффективностью.
Что изменилось в перестройке
Разработчик отправил семь пулл-реквестов за одну ночь, в общей сложности примерно на 2500 строк кода. Улучшения сосредоточены на трех ключевых областях:
1. Умный конвейер с предварительной фильтрацией
Раньше: Система загружала полные опционные цепочки для всех кандидатов-акций до их оценки, что было дорого и медленно.
Сейчас: Пакетный API-вызов оценивает все тикеры-кандидаты по IV Rank (насколько дороги опционы по сравнению с их собственной историей) и рейтингу ликвидности (насколько легко фактически получить исполнение). Только лучшие кандидаты проходят для глубокого анализа.
Результат: Отсканировано 542 акции → 17 прошли предварительный фильтр → 8 отобраны для глубокого анализа. Это означает сокращение количества API-вызовов на 85%, делая сканирование быстрее и дешевле при сохранении качества.
2. Точные расчеты вероятности
Раньше: Сканер использовал дельту опциона (N(d1) в терминах Блэка-Шоулза) как приближение «Процента побед», что технически вводит в заблуждение, поскольку дельта — это коэффициент хеджирования, а не истинная вероятность прибыли.
Сейчас: Каждое упоминание «Процента побед» было переименовано в «Оценочную вероятность прибыли» (Est. PoP). Расчет теперь использует N(d2), вычисленную по фактическим ценам безубыточности стратегии.
Разница: Дельта рассчитывает вероятность экспирации за пределами страйк-цены. Новый метод рассчитывает вероятность экспирации за пределами цены безубыточности, что учитывает собранную премию. Например, для железного кондора, собирающего кредит в $1.50 на коротком стрэнгле 170/190, цены безубыточности находятся на уровнях 168.50 и 191.50, а не 170 и 190.
Каждое число PoP теперь включает всплывающую подсказку с указанием используемого метода расчета: «N(d2) по ценам безубыточности» или «приближение по дельте».
3. Реальная модель ожидаемой стоимости
Раньше: Ожидаемая стоимость была жестко закодирована как $0 (evPerRisk: 0 в исходном коде). Поле существовало, но математика никогда не была реализована.
Сейчас: Каждая стратегия получает реальную ожидаемую стоимость с использованием модели с тремя исходами:
- Зона полной прибыли — цена остается безопасно вдали от ваших страйков
- Зона частичной прибыли/убытка — цена оказывается между вашими коротким и длинным страйками
- Зона полного убытка — цена пробивает вашу защиту
Старая бинарная модель (выигрыш × максимальная прибыль − проигрыш × максимальный убыток) ошибочно предполагала только два исхода, игнорируя сценарии частичной прибыли/убытка, которые распространены в спрэдовой торговле.
Архитектура системы
Базовая архитектура сканера остается прежней: сканируются 500 акций, оцениваются по четырем категориям (Волатильность-Преимущество, Качество, Режим, Информация-Преимущество), с порогом конвергенции, требующим 3 из 4 категорий выше 50. Торговые карточки включают реальные страйки и реальные цены.
Разработчик отметил, что исходной системе не хватало осведомленности о социальных сигналах — хотя в ней были новостные заголовки от Finnhub, она совершенно не учитывала, что реальные трейдеры говорят в X/Twitter в реальном времени.
📖 Прочитать полный источник: r/ClaudeAI
👀 Смотрите также

Запуск нескольких Telegram-ботов на одном AI-агенте для параллельных задач
Разработчик решил проблему ожидания завершения ИИ-агентом одной задачи перед началом другой, настроив три Telegram-бота, которые все привязаны к одному базовому агенту. Каждый бот работает независимо со своей собственной перепиской и историей диалогов, при этом они используют общее рабочее пространство, память и накопленные знания.

Использование меньшей модели в качестве гигиенического слоя во время выполнения повышает надежность агента OpenClaw.
Разработчик обнаружил, что добавление второй, меньшей модели в качестве слоя гигиены времени выполнения для агента Qwen 3.5 27B в OpenClaw значительно повысило надежность, перейдя от необходимости сброса сессии каждые 20-30 минут к устойчивой работе в рамках одной сессии.

Перестройка веб-сайта с использованием Claude Code, Strapi и GCP Cloud Run
Разработчик перестроил свой сайт Lovable с использованием Claude Code, Strapi в качестве headless CMS и GCP Cloud Run для развертывания. Проект использовал пользовательские навыки для дизайна, автоматизации и контент-пайплайнов, что позволило уйти от ограничений кредитной системы Lovable.

Автоматизация ежедневного подкаста об искусственном интеллекте с помощью Claude Code и трёх AI-агентов
Разработчик создал полностью автоматизированный конвейер для подкастов с использованием Claude Code для координации трех специализированных ИИ-агентов, которые отбирают новости об ИИ, пишут сценарии для озвучки, проверяют факты и генерируют аудио с клонированием голоса. Система публикует ежедневные выпуски с минимальным ручным вмешательством.