Торговый AI-агент в Codex и Alpaca: кратко о главном
🎯 О чём этот конспект: Практическое руководство по созданию полностью автономного биржевого AI-агента на базе моделей рассуждения (GPT-5 / Astra) в клиенте Codex с прямым подключением к брокеру Alpaca. Автор разбирает архитектуру непрерывности контекста (continuity handoff), настройку 6 регламентных проверок торгового дня, изоляцию ключей доступа и организацию алертов в ClickUp с удаленным контролем со смартфона.
👤 Кому будет полезно: Вайбкодерам, разработчикам AI-агентов, алготрейдерам и энтузиастам автоматизации, желающим делегировать анализ рынка, риск-менеджмент и исполнение ордеров языковым моделям без риска потери контекста между запусками.
✨ Что получите: Готовую архитектуру развертывания автономного торгового агента: структуру файлов проекта, шаблон журнала состояний (progress log), конфигурацию локальных расписаний в Codex и схему безопасного подключения к счету Alpaca (как для Paper Trading, так и для реального депозита $10,000).
1. Регламент торгового дня: Архитектура из 6 дискретных фаз анализа и исполнения
Контекст: Оставление AI-модели в режиме непрерывной бесконтрольной генерации ордеров приводит к перерасходу токенов, галлюцинациям и высокому риску ликвидации депозита. Вместо хаотичного опроса рынка торговый процесс декомпозируется на фиксированные временные слоты (wakeups) с четкими задачами под расписание биржевой сессии (NYSE/NASDAQ). Для стратегии интрадей-трейдинга на 7 дней с балансом $10,000 агент запускается ровно 6 раз за сутки в строго определенные часы. Это исключает переторговлю (overtrading) и устраняет риск переноса позиций через ночь (overnight risk), так как все активы принудительно распродаются ближе к закрытию колокола.
Тайминг:
Выгода: Устранение неконтролируемых просадок, ликвидация комиссии за перенос позиций через ночь (swap/overnight risk), экономия бюджета на API-вызовы и полное повторение рабочего дня профессионального трейдера.
Как применить:
- Шаг 1: Формирование таймлайна проверок — Codex / Заметки — Настройте внутреннее расписание агента по часовому поясу биржи (Central Time / US Eastern). Распределите сессии: премаркет-анализ, открытие сессии, сопровождение сделок, фиксация и постмаркет.
- Шаг 2: Закрепление функционала за каждым временным слотом — Markdown — Зафиксируйте в системном промпте правила действий для каждого вызова:
### РАСПИСАНИЕ ТОРГОВЫХ СЕССИЙ (CENTRAL TIME)
1. [07:45 AM] Премаркет: Чтение новостных сводок, проверка баланса счета, отбор 3-5 тикеров в Watchlist.
2. [09:30 AM] Открытие рынка: Поиск первой валидной точки входа по критериям стратегии и выставление лимитных/маркет ордеров.
3. [11:00 AM] Добор позиций: Аудит открытых сделок, оценка волатильности, принятие решения по последней новой сделке дня.
4. [01:00 PM] Сопровождение (Midday): Управление стоп-лоссами/тейк-профитами, подтягивание трейлинга.
5. [02:15 PM] Принудительная фиксация: Закрытие абсолютно всех открытых позиций (Intraday exit). Выход в 100% Cash.
6. [02:45 PM] Постмаркет аудит: Фиксация закрытия всех ордеров, расчет дневного PnL, запись итогов в дневник.- Шаг 3: Верификация сценария бездействия (No-Trade Run) — Codex — Добавьте жесткое правило: если рынок не дает сигнала, агент обязан завершить запуск без открытия позиции, зафиксировав статус в журнале.
Результат: Четко структурированный суточный алгоритм из 6 автоматических проверок, закрывающий позиции до окончания основной торговой сессии.
2. Решение проблемы «Stateless AI»: Протокол Continuity и журналы состояний
Контекст: Большинство сбоев автономных AI-агентов вызваны их природой: каждый новый запуск модели по расписанию изолирован и не сохраняет контекст предыдущего вызова («stateless»). Попытка полагаться исключительно на память длинного чата приводит к «гниению контекста» (context rot) и повторному открытию дублирующих ордеров в случае сбоя сети. Непрерывность (continuity) должна строиться на постоянных дисковых файлах (shared records), а не на памяти диалога нейросети. Каждый шаг агента обязан завершаться записью handoff-инструкции для следующего запуска.
Тайминг:
Выгода: Защита от случайных повторных покупок одних и тех же акций при падении скрипта, мгновенное восстановление работы после перезагрузки системы и передача эстафеты между разными сессиями агентов.
Как применить:
- Шаг 1: Создание файловой структуры памяти — VS Code / Терминал — Создайте локальную структуру каталогов для изоляции контекста торгового бота:
mkdir -p astra-trading-challenge/{docs,scripts,routines,logs}
cd astra-trading-challenge
touch docs/strategy.md docs/progress_log.md docs/journal.md docs/evidence.md .env- Шаг 2: Внедрение обязательного протокола Handoff — Codex — Пропишите в инструкцию агента правило: ни одна сессия не считается завершенной без обновления файла
progress_log.mdпо строгому шаблону:
---
## ПРОТОКОЛ ПЕРЕДАЧИ КОНТЕКСТА (HANDOFF PROTOCOL)
В конце каждого сеанса обнови `docs/progress_log.md` по форме:
- Время выполнения и ID сессии: [Сессия № / Время]
- Фактические изменения баланса и портфеля: [Equity, Cash, Open Orders]
- Исполненные сделки: [Тикер, объем, цена входа/выхода, PnL]
- Текущие открытые риски: [Оставшиеся лимиты, нереализованный убыток]
- Нерешенные инциденты / ошибки API: [Если есть]
- Конкретная директива для СЛЕДУЮЩЕГО запуска: [Что именно сделать следующей сессии в назначенное время]- Шаг 3: Обработка сбоев и пограничных ситуаций (Failure Modes) — Markdown — Внесите в
strategy.mdправила поведения при аварийных сценариях: отсутствие лога предыдущей сессии, сбой связи сразу после отправки ордера брокеру, наложение двух сессий по времени.
Результат: Отказоустойчивая система памяти: даже если процесс завершится аварийно, следующий запуск сначала считает физический лог с диска, запросит брокера о текущих позициях и продолжит работу без дублирования транзакций.
3. Безопасная интеграция брокера Alpaca и рыночных данных
Контекст: Связка языковой модели с брокерским счетом несет критические риски безопасности: передача приватных ключей в открытый интерфейс чата грозит компрометацией API. Кроме того, бесплатные методы веб-поиска для дейтрейдинга неприменимы из-за задержек котировок (15+ минут). Для эффективной торговли внутри дня требуются прямые REST/WebSocket эндпоинты брокера Alpaca с выделенным пакетом рыночных данных (Market Data), при этом сами ключи авторизации должны быть строго изолированы в локальном .env файле.
Тайминг:
Выгода: Безопасное хранение финансовых доступов, возможность бесшовного переключения с Paper Trading (демо) на Live ($10,000 реальных денег) и получение тиковых котировок без задержек.
Как применить:
- Шаг 1: Получение API ключей в Alpaca — alpaca.markets — Зарегистрируйтесь, перейдите в дашборд. Для первичных тестов выберите Paper Trading, нажмите «Generate New Keys». Для реальной торговли перейдите в Live-аккаунт. Скопируйте
API KeyиAPI Secret. - Шаг 2: Изоляция учетных данных —
.env— Создайте файл.envв корне проекта. Категорически запрещено отправлять эти ключи в окно чата Codex:
ALPACA_API_KEY=PKXXXXXXXXXXXXXXXXXX
ALPACA_SECRET_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ALPACA_BASE_URL=https://paper-api.alpaca.markets # Для Live смените на https://api.alpaca.markets
MARKET_DATA_FEED=sip # или iex- Шаг 3: Подключение потока рыночных данных — Alpaca / Codex Plugins — Для внутридневной стратегии подключите тарифный план Alpaca Market Data ($99/мес) для снятия лимитов на API-запросы и доступа к данным в реальном времени. В Codex активируйте плагины финансовой аналитики при необходимости (Stock & ETF Research, Trading Cursor).
- Шаг 4: Тест подключения через Codex — Codex — Попросите агента проверить связь с брокером:
Я добавил ключи Alpaca в локальный файл .env. Пожалуйста, выполни безопасный проверочный вызов к API: подтверди текущий статус аккаунта, доступный кэш (Buying Power), эквити и проверь отсутствие зависших ордеров. Не выводи сам секретный ключ в чат.Результат: Подтвержденный коннект агента к депозиту с выводом баланса ($10,000 cash, 0 позиций) без утечки учетных данных.
4. Настройка локальных Scheduled Tasks в клиенте Codex
Контекст: Codex поддерживает как облачные (Cloud), так и локальные (This Device) запланированные задачи (Scheduled Tasks). Однако облачные задачи на текущий момент имеют ограничения: они не дают возможности выбрать модель максимального рассуждения (GPT-5 Astra с флагом Reasoning: High). Чтобы агент принимал глубоко взвешенные торговые решения, все 6 запусков настраиваются строго локально. Чтобы не раздувать контекст десятком параллельных диалогов, все 6 регламентных задач принудительно направляются в единый тред (challenge thread), использующий автосжатие истории (auto-compaction).
Тайминг:
Выгода: Использование максимальной мощности reasoning-моделей для оценки рыночных рисков, автоматическая очистка устаревших токенов через compaction и полная прозрачность аудита в одном диалоговом окне.
Как применить:
- Шаг 1: Инициализация выделенного треда — Codex UI — Создайте проект
trading challenge, привязав его к вашей папке на диске. Создайте новый тред, назовите егоchallenge threadи отправьте вводное сообщение:
Инициализация торгового треда. В этой ветке будут выполняться все регламентные задачи торгового вызова на 7 дней.- Шаг 2: Создание расписаний через естественный язык — Codex — Вместо ручной настройки каждого таймера дайте управляющему агенту команду создать 6 локальных регламентов:
Codex, нам необходимо развернуть 6 регламентных задач (Scheduled Tasks) на этом устройстве (Local / This Device).
Параметры задач:
1. Модель: GPT-5 Astra, Reasoning: High.
2. Проект: trading challenge.
3. Целевой тред: выполняй ВСЕ 6 задач строго внутри треда с именем "challenge thread".
4. Расписание (Central Time): 07:45, 09:30, 11:00, 13:00, 14:15, 14:45.
5. Инструкция для каждой задачи: следовать общему протоколу запуска, читать strategy.md, читать progress_log.md, обращаться к Alpaca API, обновлять дневник и оставлять handoff-инструкции следующему запуску.- Шаг 3: Валидация привязки треда — Codex UI — Перейдите в раздел
Scheduled Tasks, откройте созданные задачи (Slot 1–6) и убедитесь, что в графе «Chat / Target Thread» указанchallenge thread.
Результат: 6 автоматических триггеров, запускающихся в фоновом режиме на локальной машине с наивысшим уровнем рассуждений в рамках одного непрерывного треда.
5. Мультиканальный мониторинг через ClickUp и мобильный Codex Remote
Контекст: Полная автономность не означает отсутствие человеческого контроля (Human-in-the-loop). Вайбкодер не должен непрерывно сидеть перед монитором терминала. Для оперативного оповещения о критических событиях, балансе и сбоях настраиваются две промежуточные точки отправки отчетов во внешнюю систему управления задачами (ClickUp). Для управления из любой точки мира задействуется Codex Remote, позволяющий перехватывать управление агентом прямо с экрана смартфона.
Тайминг:
Выгода: Мгновенное получение финансового PnL дважды в день в рабочий чат без открытия терминала и возможность экстренно остановить торговлю со смартфона.
Как применить:
- Шаг 1: Добавление задач нотификации — Codex — Настройте два дополнительных автоматических триггера (в 13:00 и 15:15 CT) для формирования отчетов в ClickUp:
Создай 2 дополнительные scheduled задачи для отправки отчетов в ClickUp:
- Время: 13:00 Central (дневной статус) и 15:15 Central (постмаркет итоги дня).
- Место отправки: DM в канал "internal automations" в ClickUp.
- Содержимое отчета: текущий PnL, статус открытых/закрытых сделок, изменения эквити, любые ошибки API.
- Требование: отчет отправляется ОБЯЗАТЕЛЬНО, даже если за день не было совершено ни одной сделки.- Шаг 2: Тестирование вебхука / интеграции — ClickUp — Выполните тестовый пуш сообщения через команду
steerв Codex, чтобы подтвердить появление карточки или сообщения в рабочем пространстве ClickUp. - Шаг 3: Активация Codex Remote на смартфоне — iOS / Android Codex App — Откройте мобильное приложение Codex, перейдите во вкладку
Remoteи выберите активную сессию вашего десктопа. Откройтеchallenge thread. Теперь вы можете отправлять корректирующие промпты (steer) и мониторить сделки на ходу в режиме реального времени.
Результат: Двухуровневая система наблюдения: автоматические структурированные пуш-отчеты в ClickUp дважды в день и сквозной доступ к терминалу с мобильного устройства через Codex Remote.
Торговый AI-агент в Codex и Alpaca: ответы на частые вопросы
В: С какой суммы безопаснее всего начинать тестирование такого агента? О: Начинайте исключительно с режима Paper Trading (симуляция на виртуальных деньгах с реальными рыночными котировками) в Alpaca. Переходите на реальный депозит (например, $10,000, как у автора) только после того, как агент стабильно отработает несколько недель без технической деградации и логических ошибок.
В: Почему задачи развернуты локально на устройстве, а не в облаке? О: В облачном режиме Codex Cloud на данный момент заблокирован выбор флагманских моделей глубокого рассуждения (Astra / High Reasoning) и тонкая привязка к локальным папкам с файлами конфигурации. Локальный запуск на компьютере дает полный контроль над мощностью модели и безопасным файлом .env.
В: Что произойдет, если во время торгового дня отключится интернет или ПК? О: За счет встроенного протокола Handoff и записи состояния в локальные файлы progress_log.md агент при перезапуске первым делом запросит актуальный статус портфеля через Alpaca API. Он сопоставит реальные позиции на бирже с последней дисковой записью, что исключит дублирование покупки активов.
В: Обязательно ли оплачивать подписку на рыночные данные Alpaca за $99/месяц? О: Нет, это необязательно. Для среднесрочных свинг-стратегий достаточно бесплатного веб-поиска и базовых данных. Однако для жесткого 7-дневного интрадей-челленджа с торговлей внутри дня минутные задержки бесплатных фидов критичны, поэтому прямой SIP-поток за $99 окупается качеством исполнения.
В: Как предотвратить «раздувание» контекста при 6 запусках ежедневно в одном треде? О: Codex использует алгоритмы автоматического сжатия истории диалога (auto-compaction). Кроме того, строгий регламент заставляет модель опираться на внешние файлы docs/strategy.md и docs/progress_log.md, поэтому агенту не требуется держать в активной памяти сырой текст сотен предыдущих сообщений.
В: Почему агент закрывает все позиции в 14:15 CT, а не держит их дальше? О: Стратегия автора спроектирована как строгий дейтрейдинг. Перенос открытых позиций через ночь сопряжен с рисками гэпов на утренних новостях премаркета, которые модель не сможет контролировать во время сна. Полный выход в кэш гарантирует отсутствие неконтролируемых убытков.
В: Можно ли подключить Telegram вместо ClickUp для получения алертов? О: Да, вы можете написать простой Python-скрипт отправки сообщений в Telegram-бот через вебхук и положить его в папку scripts/send_alert.py. Затем проинструктируйте Codex вызывать этот скрипт по завершении 4-й и 6-й регламентных сессий.
Торговый AI-агент в Codex и Alpaca: инструменты и ссылки из видео
- Alpaca Markets — Брокерская платформа с развитым API для алгоритмической торговли акциями и криптовалютой (с поддержкой Paper Trading) —
https://alpaca.markets - Codex Desktop — Среда выполнения AI-агентов с поддержкой локальных расписаний (Scheduled Tasks), тредов и Reasoning-моделей — упомянут в видео.
- ClickUp — Платформа управления проектами, использованная автором для получения промежуточных торговых алертов через DM —
https://clickup.com - Alpaca Market Data Plan — Подписка на поток биржевых котировок в реальном времени с повышенными лимитами API ($99/мес) — упомянут в видео.
- Codex Remote — Функция удаленного подключения со смартфона к локальной десктопной сессии агента — упомянут в видео.
Конспект создан на основе видео «How to Build a 24/7 AI Trading Bot with Codex and Alpaca» канала Matthew Berman. Все права на оригинальный материал принадлежат авторам. Источник: https://www.youtube.com/watch?v=TLQLfa7yH4I