テクニカルトレーダー向け IBKR vs Schwab Trader API 比較
Interactive Brokers(IBKR)とSchwabはどちらもブローカーAPIを公開していますが、想定するトレーダー像と対応する商品が異なります。この比較は、ブローカーAPI全般のガイドと同じ評価の枠組みを使います。対応商品、API設計、データアクセス、注文の扱い、ワークフローへの適合性です。計画の参考情報にとどまり、売買の助言ではありません。ブローカーやデータについての保証もありません。
- IBKRは株式、オプション、先物、FX、債券、米国外の取引所に対応します。Schwabは米国株、ETF、オプション、指数オプションに対応します。
- Schwab Trader APIは標準的な3-legged OAuth 2.0とサンドボックスを使います。IBKRにはAPIが2種類あり、ソケット型のTWS APIと、REST型のClient Portal APIです。
- どちらもWebSocketストリーミングと実際の注文発注に対応しています。Schwabの過去のバーは株式とETFのみですが、IBKRの過去データの範囲はより広いです。
結論:IBKRとSchwab、どちらのAPIを選ぶ?
複数のアセットクラスや海外市場を取引する、先物の注文ルーティングが必要、あるいはソケット型APIで機関投資家レベルの板情報がほしいなら、IBKRを選びます。
Schwabの口座で米国株、ETF、オプションを取引している、TD AmeritradeのAPIから移ってきた、あるいは本番前のテストにサンドボックスのある標準的なREST/OAuthを好むなら、Schwabを選びます。
AlpacaとTradierを含むブローカーAPI全般の比較は、/resources/articles/ibkr-vs-alpaca-vs-tradier-for-technical-traders-api-stack-fit-checklist をご覧ください。IBKRのデータ購読費とSchwabの込みのデータを比べるAPI費用の内訳は、/resources/articles/schwab-api-cost-vs-ibkr-alpaca-retail-traders にあります。
対応商品と取引できる資産はどう違う?
2つのAPIで最も大きな実務上の違いは、対応商品です。
| 商品 | IBKR | Schwab Trader API |
|---|---|---|
| 米国株 | 対応 | 対応 |
| ETF | 対応 | 対応 |
| オプション(単一レッグ) | 対応 | 対応 |
| オプション(複数レッグ) | 対応 | 対応。バーティカルスプレッド、ストラドル、バタフライ、指数オプション |
| 先物(取引) | 対応 | 非対応。HTTP 400エラー |
| 先物(気配値のみ) | 対応 | 限定的で非公開のストリーミング。過去のバーなし |
| FX | 対応 | 非対応 |
| 米国外の株式 | 対応。世界の取引所 | 非対応 |
| 債券/債券等の確定利付商品 | 対応 | 非対応 |
| 暗号資産 | 対応。一部の取引所 | 非対応 |
API設計と認証モデルはどう違う?
IBKRには、別々の2つのAPIがあります。TWS APIはソケット型で、ローカルで動作するTrader WorkstationまたはIB Gatewayのインスタンスに接続します。連携するプログラムと同じホスト上で、TWSまたはGatewayが起動している必要があります。Client Portal APIはREST型のインターフェースで、直接のOAuthフローではなく、ローカルのゲートウェイとセッションのモデルを通じて通信します。
Schwab Trader APIは、標準的な3-legged OAuth 2.0を使います。アプリをdeveloper.schwab.comに登録し、ユーザーをSchwabの認可ページへリダイレクトして、認可コードをトークンに交換します。アクセストークンの有効期間は約30分、リフレッシュトークンは約7日です。サンドボックスは、同じ認証情報で別のベースURLに対して使えます。
チームがREST APIに慣れているなら、Schwabのフローのほうがなじみやすいでしょう。すでにIBKRを使っていて、日々のワークフローにTWSがあるなら、TWS APIのほうがライブのポジションやデータとより密に連携できます。IBKRの連携方法については、/ibkr-automation-integration をご覧ください。
市場データへのアクセスはどう違う?
どちらのAPIも、リアルタイムの気配値ストリーミングと過去のバーデータに対応していますが、過去のバーについては範囲が大きく異なります。
Schwab Trader API:WebSocketストリーミングで、株式とETFのレベル1とレベル2(NYSE/NASDAQ)の気配値、オプションの気配値、約定履歴(time-of-sale)が得られます。過去のバーは株式とETFのみで、日足、1分、5分、10分、15分、30分の間隔です。1分足の履歴は、約30〜35日分です。オプションと先物には、過去のバーがありません。
IBKR:リアルタイムのストリーミングと過去のバーは、TWS API経由でより幅広い商品に対応しており、市場データの契約が条件です。Client Portal APIのデータ範囲は、TWSより狭くなっています。どちらのプラットフォームも、レート制限、時間外取引の対応範囲、取引履歴の保存期間については、開発前に最新のデベロッパードキュメントで確認してください。
注文管理の機能はどう違う?
Schwab Trader APIは、成行、指値、逆指値、逆指値付き指値、トレーリングストップ、OCO、OTO、複合(1つがOCOを発動させる)の注文タイプに対応しています。複数レッグのオプションや、オプションのOCO/OTOの組み合わせは使えますが、開発者コミュニティでは実験的とされています。本番で使う前に、実際のブローカー接続で検証してください。
IBKRのTWS APIは、全商品にわたる複雑な条件付き注文やアルゴリズム注文を含む、より幅広い注文タイプに対応しています。IBKRの注文タイプの詳細は、最新のTWS APIドキュメントでご確認ください。
プログラムから複雑なオプション戦略を送信するワークフローでは、本番のロジックを作る前に、サンドボックスまたはテスト口座で、その具体的な組み合わせを検証してください。
それぞれのAPIはどんな人に向いている?
取引の中心が米国株、ETF、オプションで、口座がSchwabにあり、サンドボックスつきの分かりやすいOAuth 2.0のRESTインターフェースがチームの連携パターンに合うなら、Schwab Trader APIを使います。
ワークフローが複数のアセットクラスにまたがる、世界の市場へのアクセスが必要、あるいは先物の注文ルーティングに依存するなら、IBKRのAPIを使います。TWS APIは最も幅広い機能を提供しますが、その代わりにローカルのTWS/Gatewayプロセスが必要です。Client Portal APIは、より単純な口座や注文のワークフローには取り組みやすいです。
Schwab APIの詳細と開発前のチェックリストは、/resources/articles/schwab-api-for-technical-traders-workflow-fit-checklist をご覧ください。Schwabのエコシステムに特化したチャートのワークフローについては、/resources/articles/schwab-chart-workflow-and-api-readiness をご覧ください。
IBKRかSchwabを、より大きな機関向けワークフローの基盤として検討している企業やデスクには、/consulting/institutional で、スコープを絞ったブローカーAPIの選定とデータパイプラインのコンサルティングを案内しています。
商用承認とAI機能:見落とされがちな違い
対応商品とAPI設計は分かりやすい比較ポイントですが、ほかのトレーダーが使うアプリケーションを作る場合、とくにAIや自動化を加えるなら、両ブローカーの承認に対する姿勢も、エンドポイントと同じくらい重要です。
SchwabのTrader APIは、個人の利用と商用の承認を分けています。自分の口座に対して開発するのは1つの話で、ほかのSchwab顧客にアプリを提供するには、別途の商用審査が必要です。この審査では、ユーザーが注文の発注を直接コントロールできるか、自動化、AI、助言の機能が実際に何をするのかが検討されます。ユーザーが主体的に判断する設計、つまり読み取り専用のデータと分析で、注文はすべてユーザー自身が出すという設計は、このモデルにすっきり収まります。詳しい内訳は /resources/articles/schwab-trader-api-commercial-approval-what-the-review-evaluates を、設計パターンは /resources/articles/read-only-schwab-api-apps-self-directed-model をご覧ください。
どのブローカーを対象にするにしても、AIやチャート機能のコンプライアンス上の立ち位置は、作る前に計画しておいてください。
TD Ameritradeから来た方へ:Developer APIは停止され、その後継がSchwab Trader APIです。移行で実際に何が必要になるかは、/resources/articles/td-ameritrade-api-shut-down-what-replaced-it で解説しています。
よくある質問
- IBKRのAPIはSchwabより使いにくいですか?
- TWS APIは学習のハードルが最も高く、ソケット型で、ローカルで動作するTWSまたはIB Gatewayのプロセスが必要です。Client Portal APIはREST型で取り組みやすい反面、データの範囲は狭くなります。Schwabの3-legged OAuth 2.0は標準的なRESTの動作で、ほとんどのチームがすぐに組み込めます。
- TD AmeritradeのAPIはどうなりましたか?
- TD AmeritradeのDeveloper APIは完全に廃止されました。Schwabによる買収後の後継は、Schwab Trader APIです。既存のTDA連携は移行が必要で、変更なしではSchwabのエンドポイントに対して動きません。
- 同じワークフローでIBKRとSchwabの両方のAPIを使えますか?
- 両方を動かすことに技術的な障壁はありません。ブローカー連携を増やすごとに保守の対象が増えるので、組み合わせる前に範囲を慎重に決めてください。計画の参考情報にとどまり、売買の助言ではありません。
- Schwab APIは先物取引に対応していますか?
- いいえ。先物の注文はHTTP 400を返します。先物銘柄には非公開のストリーミング気配値データが一部ありますが、先物の注文ルーティングも過去のバーもありません。先物取引が必須条件なら、IBKRが対応します。
- AIやチャートアプリを作る場合、IBKRとSchwabのどちらを選ぶかは変わりますか?
- 変わる可能性があります。商品とAPI設計に加えて、SchwabのTrader APIでは、ほかのSchwab顧客にアプリを提供する前に別途の商用審査が必要です。この審査では、注文発注のコントロールと、自動化やAIの機能が詳しく調べられます。読み取り専用で、注文はユーザーが出す設計は、この自己判断型のモデルに合います。/resources/articles/schwab-trader-api-commercial-approval-what-the-review-evaluates をご覧ください。