給交易者的 Schwab API:涵蓋範圍與限制
Schwab Trader API 是 TD Ameritrade Developer API 的後繼者。它透過 REST 介面搭配 OAuth 2.0 驗證,讓開發者以程式存取 Schwab 的帳戶資料、市場資料,以及美國市場的委託送出。本指南說明這個 API 支援什麼、適合誰,以及在開發之前該先解決哪些事。僅供規劃參考,不構成交易建議;也不保證任何券商或資料。
- Schwab Trader API 涵蓋美股、ETF、含多腿策略的選擇權,以及指數選擇權;期貨、外匯與非美國股票不在其涵蓋範圍內。
- 驗證採用三方 OAuth 2.0,存取權杖約 30 分鐘有效,更新權杖約 7 天有效。
- 有提供含模擬帳戶的沙盒環境,供上線前測試;沙盒無法當作模擬交易帳戶使用。
什麼是 Schwab Trader API?
Schwab Trader API 是 Schwab 的 REST API,供以程式存取市場資料、帳戶資料與委託路由。在 Schwab 收購 TD Ameritrade 之後,它取代了 TD Ameritrade Developer API,TDA API 現已完全退役。如果你是特地來找舊的 TDA API,時間表、關閉日期與遷移路徑,完整說明請見 /resources/articles/td-ameritrade-api-shut-down-what-replaced-it。
如果你原本是在 TDA API 上開發,Schwab Trader API 就是遷移的目標。底層的模式相似,都是 REST 端點、JSON 回應與 OAuth 2.0,但端點路徑與部分行為已經改變。最新的規格位於 developer.schwab.com。
若想看針對技術面交易工作流程的券商 API 更完整比較,請參閱 /resources/articles/ibkr-vs-alpaca-vs-tradier-for-technical-traders-api-stack-fit-checklist。至於 Schwab Trader API 相對於 IBKR 資料訂閱與 Alpaca 資料層的成本明細,請參閱 /resources/articles/schwab-api-cost-vs-ibkr-alpaca-retail-traders。
Schwab API 支援哪些商品與委託類型?
Schwab Trader API 支援交易美股、ETF、選擇權(包含多腿策略:垂直價差、跨式、蝴蝶式),以及指數選擇權。期貨、外匯、加密貨幣、債券與非美國股票無法透過 API 交易,期貨委託會回傳 HTTP 400。部分期貨商品有少量未公開的串流報價資料,但沒有期貨委託路由,也沒有期貨歷史 K 線資料。
支援的委託類型:市價單、限價單、停損單、停損限價單、追蹤停損單、OCO(一個成交、另一個取消)、OTO(一個成交、觸發另一個),以及複合(單一觸發 OCO)。含 OCO/OTO 的多腿選擇權組合在開發者社群中被標示為實驗性功能,在圍繞它們建立正式環境邏輯之前,請先用真實的券商連線驗證。
選擇權代號採用 OSI 21 個字元的格式,例如:AAPL 240419C00150000。在撰寫資料管線程式碼之前,請先確認你的代號格式處理方式。
| 商品 | 透過 API 交易 | 串流報價 | 歷史 K 線 |
|---|---|---|---|
| 美股 | 支援 | 支援(L1 加 L2) | 支援 |
| ETF | 支援 | 支援(L1 加 L2) | 支援 |
| 選擇權(含多腿) | 支援 | 支援 | 不支援 |
| 指數選擇權 | 支援 | 支援 | 不支援 |
| 期貨 | 不支援,HTTP 400 | 有限/未公開 | 不支援 |
| 外匯/加密貨幣 | 不支援 | 不支援 | 不支援 |
| 非美國股票 | 不支援 | 不支援 | 不支援 |
Schwab Trader API 的驗證如何運作?
驗證採用三方 OAuth 2.0 流程。你的應用程式把使用者導向 Schwab 的授權頁面,使用者授予存取權限,你的應用程式再用授權碼換取權杖。
存取權杖約 30 分鐘有效。更新權杖約 7 天有效。閒置未用的更新權杖會過期,並需要重新進行一次面向使用者的授權步驟。任何要在無人看管下跨週末執行的工作流程,都需要內建主動更新權杖的邏輯。
請在 developer.schwab.com 註冊你的應用程式,並取得 client ID、client secret 與重新導向 URI。請不要把憑證放進版本控制。
Schwab API 有沙盒嗎?
有。提供含模擬帳戶與資料的沙盒環境。它使用與正式環境相同的憑證,但連線到不同的基礎網址。
沙盒是以模擬資料進行測試的環境,無法當作模擬交易帳戶使用。Schwab Trader API 沒有模擬交易模式,API 只連接真實帳戶。請在連接真實帳戶之前,利用沙盒驗證驗證流程、權杖更新邏輯與資料格式。
WebSocket 串流涵蓋什麼?
API 支援以 WebSocket 串流即時資料。串流涵蓋股票與 ETF 的 Level 1 與 Level 2(NYSE/NASDAQ)報價、選擇權報價與成交明細。部分期貨報價串流未公開,且不屬於官方 API 的範圍。
關於速率限制與延長交易時段的報價涵蓋範圍,請查閱 developer.schwab.com 上最新的 Schwab 開發者文件。
誰適合 Schwab Trader API?
Schwab Trader API 適合在 Schwab 帳戶交易美股、ETF 與選擇權的技術面交易者與開發者。對 TD Ameritrade Developer API 的使用者而言,這是自然的遷移路徑。
| 適合 | 不適合 |
|---|---|
| 在 Schwab 交易美股、ETF、選擇權 | 需要期貨、外匯或非美國市場的多資產交易者 |
| TD Ameritrade API 的遷移者 | 需要模擬交易模式的工作流程 |
| 標準 REST/OAuth 搭配沙盒 | 需要期貨委託路由 |
| 零售帳戶,專注美國市場 | 機構或全球交易所的需求 |
個人存取不等於商業核准
在 developer.schwab.com 註冊並針對自己的帳戶測試,屬於個人存取。要提供連接其他 Schwab 客戶帳戶的應用程式,則是另一個步驟:它需要商業核准,這是一道審查,會評估你的使用情境、使用者是否保有對下單的直接控制權,以及任何自動化或 AI 驅動的功能,全都以 Schwab 自主操作的零售交易模式為標準。
如果你打算在 Trader API 上推出產品,請及早界定這道審查的範圍。關於審查評估哪些項目與如何準備,請參閱 /resources/articles/schwab-trader-api-commercial-approval-what-the-review-evaluates。關於符合自主操作模式的唯讀設計模式,請參閱 /resources/articles/read-only-schwab-api-apps-self-directed-model。
開發之前:檢查清單
在撰寫整合程式碼之前,先執行這份清單。
- 在 developer.schwab.com 註冊你的應用程式。取得 client ID、client secret 與重新導向 URI。
- 確認你的帳戶類型符合 API 資格,請查閱最新的 Schwab 開發者文件,了解符合資格的帳戶類型。
- 在沙盒中端對端測試驗證流程。在連接真實帳戶之前,確認權杖更新在 30 分鐘的邊界能正常運作。
- 把每個商品對應到 Schwab 的代號格式。選擇權使用 OSI 21 個字元的格式,請確認你的解析器能正確處理。
- 對照上述交易範圍,確認你需要哪些商品。期貨委託路由並不提供。
- 界定歷史 K 線的需求:僅限股票與 ETF,週期有日線、1 分鐘、5 分鐘、10 分鐘、15 分鐘與 30 分鐘。1 分鐘歷史約回溯 30 至 35 天。
- 關於交易歷史的回溯深度,以及拆股與配息調整的細節,請在建立相依邏輯之前,查閱最新的 Schwab 開發者文件。
- 若想了解 IBKR 替代方案,或更完整的 API 技術堆疊比較,請參閱 /resources/articles/ibkr-vs-alpaca-vs-tradier-for-technical-traders-api-stack-fit-checklist。
- 若需要顧問協助界定 Schwab 工作流程的開發範圍,請見 /consulting。
常見問題
- Schwab API 是免費的嗎?
- Schwab 並未公布 Trader API 的價格。你需要一個 Schwab 券商帳戶,以及一個經核准的開發者應用程式。在 MyLinedChart 中,你用自己的 Schwab 開發者應用程式登入,登入資訊留在你的裝置上。
- Schwab Trader API 與 TD Ameritrade Developer API 是同一個東西嗎?
- 不是。Schwab Trader API 是後繼者。TDA API 現已完全退役。驗證方式與端點路徑都不同;現有的 TDA 整合需要遷移。最新規格位於 developer.schwab.com。
- Schwab API 支援模擬交易嗎?
- 不支援。Schwab Trader API 只連接真實帳戶。沙盒是以模擬資料測試的環境,用來驗證驗證流程、權杖邏輯與資料格式,無法當作模擬交易帳戶使用。
- 我可以透過 Schwab Trader API 交易哪些商品?
- 美股、ETF、含多腿策略的選擇權,以及指數選擇權。期貨、外匯、加密貨幣、債券與非美國股票無法交易。期貨委託會回傳 HTTP 400。部分期貨有未公開的串流報價資料,但期貨沒有委託路由,也無法取得歷史 K 線。
- 在技術面交易上,Schwab API 與 IBKR 如何比較?
- Schwab 涵蓋美股、ETF 與選擇權,OAuth 2.0 設定較簡單,並有沙盒。IBKR 涵蓋範圍更廣的全球商品,包括期貨。想看詳細比較,請參閱 /resources/articles/ibkr-vs-schwab-api-technical-traders。
- 使用 Schwab Trader API 需要商業核准嗎?
- 針對自己的帳戶開發與測試,只需要個人存取。商業核准是另一道審查,在你能提供連接其他 Schwab 客戶帳戶的應用程式之前必須通過。請參閱 /resources/articles/schwab-trader-api-commercial-approval-what-the-review-evaluates。