
Lumibot — это открытая Python-библиотека для бэктестирования, бумажной торговли и реализации алгоритмических торговых стратегий. Она поддерживает традиционные правила Python, AI-торговых агентов и подключения к брокерам. В этом руководстве рассматриваются ее стратегические подходы, исторические данные, брокерская чувствительность к исполнению и AI-торговая команда, что помогает разработчикам и количественным трейдерам оценить автоматизированные торговые системы.
Lumibot предлагает интеграцию с 12 брокерами, включая Alpaca, Interactive Brokers (IBKR) и Tradier, с различными функциями для разных рынков.
Lumibot требует Python версии 3.10 или выше и поддерживает акции, опционы, фьючерсы, валюту, криптовалюту и прогнозные рынки.
Один и тот же класс стратегии может выполнять историческое бэктестирование, бумажную торговлю и реальную торговлю без переписывания основной торговой логики.
Встроенные AI-агенты Lumibot поддерживают исследовательских агентов, бычьих и медвежьих агентов, риск-менеджеров и агентов по окончательной торговле.
Историческое тестирование, исполнение реальных заказов и валидация вне выборки помогают оценить стратегии, но не гарантируют будущую прибыльность.
Lumibot — это реальная Python-торговая библиотека, разработанная Lumiwealth. Его событийно-ориентированная архитектура соединяет рыночные данные, стратегическую логику, брокерские счета и исполнение заказов.
В отличие от торговых проектов, которые разделяют исследование, бэктестирование и исполнение на независимые системы, Lumibot акцентирует внимание на согласованности между исследованием и реальной торговлей через переиспользуемые классы стратегий.
Официальный репозиторий Lumibot документирует его интеграции с брокерами, инструменты для исторического тестирования и AI-торговые проекты.
Его основные компоненты на Python включают:
| Компоненты | Функции |
|---|---|
| Стратегия | Определяет торговую логику и методы жизненного цикла |
| Актив | Представляет акции, криптовалюту, опционы или другие инструменты |
| Данные | Сохраняет историческую рыночную информацию |
| Трейдер | Координирует исполнение стратегии |
| Alpaca | Соединяет торговую стратегию с брокерским счетом Alpaca |
| YahooDataBacktesting | Использует цены Yahoo Finance для исторического моделирования |
lumibot.strategies, lumibot.entities, lumibot.traders и lumibot.brokers.
Стратегические методы включают initialize() и on_trading_iteration(), которые определяют настройки и торговое поведение. Этот код стратегии, чувствительный к брокерам, позволяет одной и той же стратегии Lumibot работать в поддерживаемых средах.
Lumibot поддерживает бэктестирование на основе исторических рыночных данных как для внутридневной, так и для междневной торговли. Его бэктестер на базе Pandas может использовать совместимые пользовательские наборы данных, в то время как Yahoo Finance, Polygon.io и другие поддерживаемые провайдеры предоставляют рыночную информацию.
Фреймворк также включает криптовалютные подключения на базе CCXT, хотя необходимо проверить поддержку отдельных бирж и инструментов.
| Функции | Поддерживаемые методы |
|---|---|
| Историческое тестирование | Yahoo Finance, Polygon.io, Pandas/CSV, профессиональные провайдеры |
| Пользовательские наборы данных | Данные временных рядов под контролем пользователя |
| Реальные брокеры | Alpaca, IBKR, Tradier и поддерживаемые интеграции |
| Криптовалютные подключения | API поддерживаемых бирж и интеграция CCXT |
| Библиотека Python | Pandas, NumPy и библиотеки технических индикаторов |
| Развертывание | Локальная среда или настроенная облачная инфраструктура |
| Режимы исполнения | Бэктестирование, бумажная торговля, реальная торговля |
Мощные криптовалютные биржи предоставляют API для рыночных данных и размещения заказов. Lumibot может автоматизировать торговлю с помощью совместимых интеграций, но подключение не означает поддержку каждой биржи.
Alpaca и подобные брокеры могут предлагать безкомиссионную торговую среду для квалифицированных продуктов. Другие сборы, спреды и регуляторные ограничения все еще применяются.
При тестировании внутридневных и лимитных стратегий реальное исполнение особенно важно. Историческое моделирование должно учитывать проскальзывание, задержки, сборы и ликвидность.
В качестве сравнения, Backtesting.py — это легковесная событийно-ориентированная библиотека Python, подходящая для небольших проектов бэктестирования, в то время как Lumibot сочетает бэктестирование с более широкими возможностями брокерского исполнения и AI-агентов.
Lumibot включает встроенный AI-торговый агент, который позволяет профессиональным агентам проверять рыночные условия, проводить исследования, вызывать внешние инструменты и оценивать торговые возможности.
Полная AI-торговая команда работает в обычных подклассах стратегий. Их агентские процессы могут сочетать детерминированные правила Python с решениями, сгенерированными AI.
Согласно документации AI-агентов Lumibot, разработчики могут настраивать несколько агентов с различными обязанностями.
Трейдер или менеджер портфеляПроверяет позиции, остатки на счетах и потенциальные заказыФинальный агентРазмещает заказы только при явном получении разрешения на торговлю| Агент | Обязанности |
|---|---|
| Исследовательский агент | Собирает технические, фундаментальные и исторические доказательства |
| Бычий агент | Строит самые сильные аргументы для покупки |
| Медвежий агент | Оспаривает аргументы и выявляет риски снижения |
| Агент-рецензент | Оценивает доказательства, гипотезы и контроль рисков |
В примере торговой команды исследователь собирает доказательства перед дебатами бычьего и медвежьего агентов. Торговый агент решает, покупать, продавать или удерживать.
Каждый агент получает одинаковый рыночный контекст и дополняет предыдущие исследования или выводы рецензента.
Таким образом, профессиональный исследовательский процесс может поддерживать как стратегии с одним агентом, так и многоуровенные AI-торговые команды Lumibot.
Некоторые демонстрационные подсказки указывают агентам искать самые прибыльные сделки или развернуть почти все наличные средства. Эти агрессивные примеры иллюстрируют полномочия агентов и исполнение, а не рекомендуемое управление рисками.
Только финальный агент, уполномоченный на торговлю, должен иметь право на размещение заказов, когда стратегия проектируется с разделением.
Lumibot требует Python версии 3.10 или выше. Разработчики могут установить библиотеку и запустить демонстрацию перед подключением реальных средств.
<details class="md-editor-code" open="">
<summary class="md-editor-code-head">
<div class="md-editor-code-flag"><span></span><span></span><span></span></div>
<div class="md-editor-code-action">
<span class="md-editor-code-lang">Обычный</span>
<span class="md-editor-copy-button" data-tips="Copy">Копировать</span>
<span class="md-editor-collapse-tips"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-circle-chevron-left md-editor-icon"><circle cx="12" cy="12" r="10"/><path d="m14 16-4-4 4-4"/></svg></span>
</div>
</summary>
<pre><code class="language-Plain" language=Plain><span class="md-editor-code-block">pip install lumibot
lumibot demo
</details>
<p>Первоначальная демонстрация использует исторические данные и не требует брокерских учетных данных. </p>
Разработчики могут инициализировать и тестировать AI-торговые проекты:
<details class="md-editor-code" open="">
<summary class="md-editor-code-head">
<div class="md-editor-code-flag"><span></span><span></span><span></span></div>
<div class="md-editor-code-action">
<span class="md-editor-code-lang">Обычный</span>
<span class="md-editor-copy-button" data-tips="Copy">Копировать</span>
<span class="md-editor-collapse-tips"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-circle-chevron-left md-editor-icon"><circle cx="12" cy="12" r="10"/><path d="m14 16-4-4 4-4"/></svg></span>
</div>
</summary>
<pre><code class="language-Plain" language=Plain><span class="md-editor-code-block">lumibot init my-bot <span class="hljs-attr">--template</span> ai
lumibot backtest my-bot --days 90 lumibot run my-bot --paper
</details>
<p>Настроенные AI-стратегии требуют соответствующих AI-ключей, а бумажная торговля с подключением брокера может потребовать AI и Alpaca учетных данных. </p>
Например, импорт Python может включать:
<details class="md-editor-code" open="">
<summary class="md-editor-code-head">
<div class="md-editor-code-flag"><span></span><span></span><span></span></div>
<div class="md-editor-code-action">
<span class="md-editor-code-lang">Обычный</span>
<span class="md-editor-copy-button" data-tips="Copy">Копировать</span>
<span class="md-editor-collapse-tips"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-circle-chevron-left md-editor-icon"><circle cx="12" cy="12" r="10"/><path d="m14 16-4-4 4-4"/></svg></span>
</div>
</summary>
<pre><code class="language-Plain" language=Plain><span class="md-editor-code-block"><span class="hljs-keyword">from</span> lumibot.<span class="hljs-property">strategies</span> <span class="hljs-keyword">import</span> <span class="hljs-title class_">Strategy</span>
from lumibot.entities import Asset from lumibot.traders import Trader from lumibot.brokers import Alpaca
</details>
<p>AI-стратегии также могут создавать агентов с помощью <code>self.agents.create()</code> и вызывать их в <code>on_trading_iteration()</code>. </p>
Отсутствие учетных данных модели должно вызывать явную ошибку ключа поставщика, а не молчаливо разрешать другому поставщику.
Разработчики должны протестировать поведение агентов, права на исполнение и ограничения рисков перед включением реальных заказов.
Бэктестирование имеет решающее значение для алгоритмической торговли, но прибыльные исторические результаты не гарантируют ожидаемую будущую производительность.
Стратегии должны пройти валидацию вне выборки, тестирование реального исполнения и бумажную торговлю перед развертыванием.
Решения AI-агентов также требуют аудита истории, поскольку реакции новых моделей могут изменяться между запусками.
Lumibot поддерживает совместные исследования и обменяемые торговые проекты, хотя социальная копирующая торговля не является его основной целью.
Маржинальная торговля и кредитное плечо увеличивают риски за счет заимствования средств, увеличивая потенциальную прибыль и убытки. AI-агенты не должны самостоятельно превышать предопределенные ограничения по позициям.
Токенизированные акции могут представлять собой блокчейн-обязательства, связанные с традиционными ценными бумагами, но права собственности, долевое раскрытие и регуляторная обработка зависят от эмитента и структуры продукта.
Трейдеры, оценивающие автоматизированные криптовалютные стратегии, могут проверять рыночные цены, ликвидность и состояние ордеров через Gate Spot.
Платформа торговых роботов Gate также предлагает настраиваемые автоматизированные стратегии и инструменты для бэктестирования, поддерживающие рынок.
Эти инструменты предоставляют практическое сравнение для оценки стратегий, но не следует предполагать наличие родной интеграции с Lumibot. Права API, совместимость с рынком и риски исполнения требуют независимой проверки.
Lumibot объединяет Python-бэктестирование, брокерскую чувствительность к исполнению стратегий и многоагентную AI-торговлю в одном переиспользуемом фреймворке. Его основное преимущество заключается в поддержании согласованной логики стратегий в историческом тестировании, бумажной торговле и поддерживаемых реальных условиях.
Разработчики могут настраивать исследовательских агентов, управление портфелем и контроль рисков, сохраняя доступ к традиционным алгоритмическим стратегиям. Тем не менее, надежное развертывание по-прежнему зависит от качества рыночных данных, тестирования исполнения, безопасности и строгого управления рисками.
Lumibot предлагает интеграцию с 12 брокерами, включая Alpaca, Interactive Brokers и Tradier. Каждый брокер имеет различные возможности на поддерживаемых рынках, типах заказов и возможностях реальной торговли.
Да. Lumibot поддерживает интеграцию данных Yahoo Finance и Polygon.io и включает криптовалютные подключения на базе CCXT. Пользовательские наборы данных Pandas также могут использоваться для исторического моделирования.
Да. Один и тот же класс стратегии может повторно использоваться для бэктестирования и реального исполнения. Каждому режиму необходимо выбрать конфигурацию запуска, поставщика данных, брокерское подключение и учетные данные.
Да. Lumibot поддерживает стратегии с одним агентом и многоагентные торговые команды. Уполномоченные агенты могут размещать заказы через настроенные брокерские подключения, подчиняясь правилам исполнения и правам доступа к счету.
Да. Lumibot может работать в подходящей локальной среде Python или в настроенной облачной инфраструктуре. Требования к развертыванию зависят от стратегии, поставщика данных, брокерского подключения и мониторинга.











