
Lumibotは、バックテスト、ペーパートレード、アルゴリズム取引戦略の実行に使用できるオープンソースのPythonフレームワークです。従来型のPythonルール、AI取引エージェント、ブローカー接続に対応しています。本ガイドでは、開発者やクオンツトレーダーが自動取引システムを評価できるよう、戦略メソッド、過去データ、ブローカー対応の執行、AI取引チームについて解説します。
Lumibotは12種類のブローカー統合を提供しており、Alpaca、Interactive Brokers(IBKR)、Tradierなどに対応しています。ただし、利用できる機能は市場によって異なります。
LumibotにはPython 3.10以降が必要で、株式、オプション、先物、外国為替、暗号資産、予測市場に対応しています。
同じ戦略クラスを使用して、コアとなる取引ロジックを書き換えることなく、過去データによるバックテスト、ペーパートレード、リアルタイム取引を実行できます。
Lumibotに組み込まれたAIエージェントランタイムは、リサーチエージェント、強気エージェント、弱気エージェント、リスクレビュアー、最終取引エージェントに対応しています。
過去データによるテスト、実際の注文執行、アウトオブサンプル検証は、戦略の評価に役立ちます。ただし、将来の収益性を保証するものではありません。
Lumibotは、Lumiwealthが開発した実運用向けのPython取引フレームワークです。イベント駆動型のアーキテクチャにより、市場データ、戦略ロジック、ブローカー口座、注文執行を接続します。
リサーチ、バックテスト、執行を相互に独立したシステムに分ける取引プロジェクトとは異なり、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が生成した判断を組み合わせることができます。
Lumibot AIエージェントのドキュメントによると、開発者は異なる役割を持つ複数のエージェントを設定できます。
| エージェント | 役割 |
|---|---|
| リサーチエージェント | テクニカル、ファンダメンタルズ、過去データに基づく根拠を収集します |
| 強気エージェント | 最も有力な強気の取引論拠を構築します |
| 弱気エージェント | 論拠を検証し、下落リスクを特定します |
| エージェントレビュアー | 根拠、仮定、リスク管理を評価します |
| トレーダーまたはポートフォリオマネージャー | ポジション、口座残高、注文候補を確認します |
| 最終エージェント | 取引の承認が明確に得られた場合に注文を発注します |
取引チームの例では、強気エージェントと弱気エージェントが取引機会について議論する前に、リサーチエージェントが根拠を収集します。取引エージェントは、買い、売り、保有のいずれを行うかを判断します。
各エージェントは同じ市場コンテキストを受け取り、そこに過去のリサーチやレビュアーの出力を追加します。
そのため、専門的なリサーチワークフローを、単一エージェント戦略や階層型の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取引を、再利用可能な1つのフレームワークに統合しています。主な利点は、過去データによるテスト、ペーパートレード、対応するリアルタイム環境で、一貫した戦略ロジックを維持できることです。
開発者は、従来型のアルゴリズム戦略を利用しながら、リサーチエージェント、ポートフォリオ管理、リスク管理をカスタマイズできます。ただし、信頼性の高い運用には、市場データの品質、執行テスト、セキュリティ、厳格なリスク管理が引き続き必要です。
Lumibotは、Alpaca、Interactive Brokers、Tradierなど、12種類のブローカー統合を提供しています。各ブローカーで、対応市場、注文タイプ、リアルタイム取引機能が異なります。
はい。LumibotはYahoo FinanceとPolygon.ioのデータ統合に対応しており、CCXTをベースとする暗号資産接続も含まれています。カスタムPandasデータセットを過去データによるシミュレーションに使用することもできます。
はい。同じ戦略クラスをバックテストとリアルタイム執行に繰り返し使用できます。各モードでは、起動設定、データプロバイダー、ブローカー接続、認証情報を選択する必要があります。
はい。Lumibotは、単一エージェント戦略とマルチエージェント取引チームに対応しています。権限を付与されたエージェントは、設定済みのブローカー接続を通じて注文を発注できますが、執行ルールと口座権限の制限を受けます。
はい。Lumibotは、適切なローカルPython環境または設定済みのクラウドインフラストラクチャで実行できます。デプロイ要件は、戦略、データプロバイダー、ブローカー接続、監視体制によって異なります。











