Schwab API cho nhà giao dịch: phạm vi hỗ trợ và giới hạn
Schwab Trader API là bản kế nhiệm của TD Ameritrade Developer API. Nó cho nhà phát triển quyền truy cập bằng lập trình vào dữ liệu tài khoản Schwab, dữ liệu thị trường và việc gửi lệnh cho thị trường Mỹ qua giao diện REST với xác thực OAuth 2.0. Hướng dẫn này nói về những gì API hỗ trợ, nó phù hợp với ai và những gì cần giải quyết trước khi xây. Chỉ để hỗ trợ lập kế hoạch, không phải tư vấn giao dịch; không đảm bảo về nhà môi giới hay dữ liệu.
- Schwab Trader API bao phủ cổ phiếu Mỹ, ETF, quyền chọn gồm các chiến lược nhiều chân và quyền chọn chỉ số; hợp đồng tương lai, ngoại hối và cổ phiếu ngoài Mỹ nằm ngoài phạm vi.
- Xác thực dùng OAuth 2.0 ba bước với access token khoảng 30 phút và refresh token 7 ngày.
- Có môi trường sandbox với tài khoản giả lập để kiểm thử trước khi vận hành; sandbox không hoạt động như một tài khoản giao dịch giấy.
Schwab Trader API là gì?
Schwab Trader API là API REST của Schwab để truy cập bằng lập trình dữ liệu thị trường, dữ liệu tài khoản và định tuyến lệnh. Nó thay thế TD Ameritrade Developer API sau khi Schwab mua lại TD Ameritrade, API TDA nay đã ngừng hoàn toàn. Nếu bạn đến đây để tìm riêng API TDA cũ, mốc thời gian, ngày ngừng hoạt động và lộ trình chuyển đổi được trình bày đầy đủ tại /resources/articles/td-ameritrade-api-shut-down-what-replaced-it.
Nếu bạn đã xây trên API TDA, Schwab Trader API là đích chuyển đổi. Các mẫu nền tảng tương tự, điểm cuối REST, phản hồi JSON, OAuth 2.0, nhưng đường dẫn điểm cuối và một số hành vi đã thay đổi. Đặc tả hiện hành nằm tại developer.schwab.com.
Để so sánh rộng hơn các API nhà môi giới cho quy trình giao dịch kỹ thuật, xem /resources/articles/ibkr-vs-alpaca-vs-tradier-for-technical-traders-api-stack-fit-checklist. Để xem phân tích chi tiết Schwab Trader API tốn bao nhiêu so với gói dữ liệu IBKR và các gói dữ liệu của Alpaca, xem /resources/articles/schwab-api-cost-vs-ibkr-alpaca-retail-traders.
Schwab API hỗ trợ những công cụ và loại lệnh nào?
Schwab Trader API hỗ trợ giao dịch cổ phiếu Mỹ, ETF, quyền chọn (gồm các chiến lược nhiều chân: vertical spread, straddle, butterfly) và quyền chọn chỉ số. Hợp đồng tương lai, ngoại hối, tiền mã hóa, trái phiếu và cổ phiếu ngoài Mỹ không giao dịch được qua API, lệnh hợp đồng tương lai trả về HTTP 400. Có một số dữ liệu báo giá truyền trực tuyến hạn chế, chưa có tài liệu cho một vài công cụ hợp đồng tương lai, nhưng không có định tuyến lệnh hợp đồng tương lai và không có dữ liệu thanh nến lịch sử cho hợp đồng tương lai.
Các loại lệnh được hỗ trợ: thị trường, giới hạn, dừng, dừng-giới hạn, dừng bám đuôi, OCO (một hủy một), OTO (một kích hoạt một) và lệnh kết hợp (một lệnh kích hoạt OCO). Các tổ hợp quyền chọn nhiều chân với OCO/OTO được cộng đồng nhà phát triển đánh dấu là thử nghiệm, hãy xác thực với kết nối nhà môi giới thật trước khi xây logic vận hành quanh chúng.
Mã quyền chọn dùng định dạng OSI 21 ký tự, ví dụ: AAPL 240419C00150000. Hãy xác nhận cách xử lý định dạng mã trước khi viết mã cho đường ống dữ liệu.
| Công cụ | Giao dịch qua API | Báo giá truyền trực tuyến | Thanh nến lịch sử |
|---|---|---|---|
| Cổ phiếu Mỹ | Có | Có (L1 + L2) | Có |
| ETF | Có | Có (L1 + L2) | Có |
| Quyền chọn (gồm nhiều chân) | Có | Có | Không |
| Quyền chọn chỉ số | Có | Có | Không |
| Hợp đồng tương lai | Không, HTTP 400 | Hạn chế/chưa có tài liệu | Không |
| Ngoại hối / Tiền mã hóa | Không | Không | Không |
| Cổ phiếu ngoài Mỹ | Không | Không | Không |
Xác thực của Schwab Trader API hoạt động ra sao?
Xác thực dùng luồng OAuth 2.0 ba bước. Ứng dụng của bạn chuyển hướng người dùng tới trang cấp quyền của Schwab, người dùng cấp quyền truy cập, và ứng dụng của bạn đổi mã cấp quyền lấy token.
Access token có hiệu lực khoảng 30 phút. Refresh token có hiệu lực khoảng 7 ngày. Một refresh token không dùng sẽ hết hạn và cần một bước cấp quyền mới do người dùng thực hiện. Mọi quy trình chạy không giám sát qua cuối tuần đều cần logic làm mới token chủ động được tích hợp sẵn.
Đăng ký ứng dụng và lấy client ID, client secret và redirect URI tại developer.schwab.com. Giữ thông tin xác thực ngoài hệ thống quản lý phiên bản.
Schwab API có sandbox không?
Có. Có sẵn môi trường sandbox với tài khoản và dữ liệu giả lập. Nó dùng cùng thông tin xác thực với môi trường thật nhưng kết nối với một URL gốc khác.
Sandbox là môi trường kiểm thử bằng dữ liệu giả lập và không hoạt động như một tài khoản giao dịch giấy. Schwab Trader API không có chế độ giao dịch giấy, API chỉ kết nối với tài khoản thật. Hãy dùng sandbox để xác thực việc xác thực, logic làm mới token và hình dạng dữ liệu trước khi kết nối với tài khoản thật.
Truyền dữ liệu WebSocket bao phủ những gì?
API hỗ trợ truyền dữ liệu thời gian thực qua WebSocket. Truyền dữ liệu bao phủ báo giá Level 1 và Level 2 (NYSE/NASDAQ) cho cổ phiếu và ETF, báo giá quyền chọn và dữ liệu khớp lệnh. Có một số dữ liệu báo giá hợp đồng tương lai truyền trực tuyến chưa có tài liệu nhưng không thuộc bề mặt API chính thức.
Về giới hạn tốc độ và phạm vi báo giá giờ giao dịch mở rộng, hãy xem tài liệu nhà phát triển hiện hành của Schwab tại developer.schwab.com.
Ai phù hợp với Schwab Trader API?
Schwab Trader API phù hợp với trader kỹ thuật và nhà phát triển giao dịch cổ phiếu Mỹ, ETF và quyền chọn trên tài khoản Schwab. Đây là con đường chuyển đổi tự nhiên từ TD Ameritrade Developer API.
| Phù hợp | Không phù hợp |
|---|---|
| Cổ phiếu Mỹ, ETF, quyền chọn trên Schwab | Trader đa tài sản cần hợp đồng tương lai, ngoại hối hoặc thị trường ngoài Mỹ |
| Người chuyển từ API TD Ameritrade | Quy trình cần chế độ giao dịch giấy |
| REST/OAuth tiêu chuẩn kèm sandbox | Cần định tuyến lệnh hợp đồng tương lai |
| Tài khoản cá nhân, tập trung thị trường Mỹ | Yêu cầu cấp tổ chức hoặc sàn toàn cầu |
Truy cập cá nhân không phải phê duyệt thương mại
Đăng ký tại developer.schwab.com và kiểm thử trên tài khoản của chính bạn là truy cập cá nhân. Cung cấp một ứng dụng kết nối tài khoản của các khách hàng Schwab khác là một bước riêng: nó cần phê duyệt thương mại, một đợt xem xét đánh giá trường hợp sử dụng của bạn, việc người dùng có giữ quyền kiểm soát trực tiếp việc đặt lệnh không và mọi chức năng tự động hay do AI điều khiển, tất cả theo mô hình giao dịch cá nhân tự quyết định của Schwab.
Nếu bạn định phát hành một sản phẩm trên Trader API, hãy xác định phạm vi đợt xem xét đó sớm. Để biết nó đánh giá gì và cách chuẩn bị, xem /resources/articles/schwab-trader-api-commercial-approval-what-the-review-evaluates. Về mẫu thiết kế chỉ đọc phù hợp mô hình tự quyết định, xem /resources/articles/read-only-schwab-api-apps-self-directed-model.
Trước khi xây: checklist
Chạy qua danh sách này trước khi viết mã tích hợp.
- Đăng ký ứng dụng của bạn tại developer.schwab.com. Lấy client ID, client secret và redirect URI.
- Xác nhận loại tài khoản của bạn đủ điều kiện dùng API, kiểm tra tài liệu nhà phát triển hiện hành của Schwab về các loại tài khoản đủ điều kiện.
- Kiểm thử xác thực từ đầu đến cuối trong sandbox. Xác nhận việc làm mới token hoạt động ở mốc 30 phút trước khi kết nối với tài khoản thật.
- Ánh xạ mọi công cụ sang định dạng mã của Schwab. Quyền chọn dùng định dạng OSI 21 ký tự, xác nhận trình phân tích của bạn xử lý đúng.
- Xác minh những công cụ bạn cần so với phạm vi giao dịch ở trên. Định tuyến lệnh hợp đồng tương lai không có sẵn.
- Xác định nhu cầu thanh nến lịch sử: chỉ cổ phiếu và ETF, ở các khoảng ngày, 1 phút, 5 phút, 10 phút, 15 phút và 30 phút. Lịch sử 1 phút sâu khoảng 30 đến 35 ngày.
- Về độ sâu lịch sử giao dịch và chi tiết điều chỉnh chia tách/cổ tức, hãy xem tài liệu nhà phát triển hiện hành của Schwab trước khi xây logic phụ thuộc.
- Về các lựa chọn thay thế IBKR hoặc so sánh bộ API rộng hơn, xem /resources/articles/ibkr-vs-alpaca-vs-tradier-for-technical-traders-api-stack-fit-checklist.
- Về dịch vụ tư vấn hỗ trợ xác định phạm vi xây dựng quy trình Schwab, xem /consulting.
Câu hỏi thường gặp
- Schwab API có miễn phí không?
- Schwab không công bố giá cho Trader API của họ. Bạn cần một tài khoản môi giới Schwab và một ứng dụng nhà phát triển đã được duyệt. Trong MyLinedChart, bạn đăng nhập bằng ứng dụng nhà phát triển Schwab của chính bạn, và phiên đăng nhập ở lại trên thiết bị của bạn.
- Schwab Trader API có giống TD Ameritrade Developer API không?
- Không. Schwab Trader API là bản kế nhiệm. API TDA nay đã ngừng hoàn toàn. Xác thực và đường dẫn điểm cuối khác nhau; các tích hợp TDA hiện có cần được chuyển đổi. Đặc tả hiện hành nằm tại developer.schwab.com.
- Schwab API có hỗ trợ giao dịch giấy không?
- Không. Schwab Trader API chỉ kết nối với tài khoản thật. Sandbox là môi trường kiểm thử bằng dữ liệu giả lập để xác thực việc xác thực, logic token và hình dạng dữ liệu, và nó không hoạt động như một tài khoản giao dịch giấy.
- Tôi giao dịch được những công cụ nào qua Schwab Trader API?
- Cổ phiếu Mỹ, ETF, quyền chọn gồm các chiến lược nhiều chân và quyền chọn chỉ số. Hợp đồng tương lai, ngoại hối, tiền mã hóa, trái phiếu và cổ phiếu ngoài Mỹ không giao dịch được. Lệnh hợp đồng tương lai trả về HTTP 400. Có một số dữ liệu báo giá hợp đồng tương lai truyền trực tuyến chưa có tài liệu nhưng không có định tuyến lệnh hay truy cập thanh nến lịch sử cho hợp đồng tương lai.
- Schwab API so với IBKR cho giao dịch kỹ thuật thế nào?
- Schwab bao phủ cổ phiếu Mỹ, ETF và quyền chọn với thiết lập OAuth 2.0 đơn giản hơn và có sandbox. IBKR bao phủ bộ công cụ rộng hơn trên toàn cầu gồm cả hợp đồng tương lai. Để so sánh chi tiết, xem /resources/articles/ibkr-vs-schwab-api-technical-traders.
- Tôi có cần phê duyệt thương mại để dùng Schwab Trader API không?
- Xây dựng và kiểm thử trên tài khoản của chính bạn chỉ cần truy cập cá nhân. Phê duyệt thương mại là một đợt xem xét riêng, bắt buộc trước khi bạn cung cấp ứng dụng kết nối tài khoản của các khách hàng Schwab khác. Xem /resources/articles/schwab-trader-api-commercial-approval-what-the-review-evaluates.
Dùng thử MyLinedChart
MyLinedChart lưu nét vẽ, ghi chú và giá trị chỉ báo của bạn thành dữ liệu để bạn xuất, xem lại và dùng lại.
Khám phá MyLinedChart