Schwab API dla traderów: zakres i limity
Schwab Trader API jest następcą TD Ameritrade Developer API. Daje deweloperom programowy dostęp do danych konta Schwab, danych rynkowych i składania zleceń na rynkach amerykańskich przez interfejs REST z uwierzytelnianiem OAuth 2.0. Ten przewodnik opisuje, co API wspiera, do kogo pasuje i co rozstrzygnąć przed budową. Wyłącznie wsparcie w planowaniu, bez porad inwestycyjnych; bez gwarancji dotyczących brokera ani danych.
- Schwab Trader API obejmuje akcje amerykańskie, ETF-y, opcje, w tym strategie wielonogowe, i opcje na indeksy; kontrakty terminowe, forex i akcje spoza USA nie są objęte.
- Uwierzytelnianie używa trójetapowego OAuth 2.0 z tokenami dostępu ważnymi około 30 minut i tokenami odświeżania ważnymi 7 dni.
- Istnieje środowisko piaskownicy z syntetycznymi kontami do testów przed produkcją; piaskownica nie działa jako konto do handlu papierowego.
Czym jest Schwab Trader API?
Schwab Trader API to API REST Schwab do programowego dostępu do danych rynkowych, danych konta i routingu zleceń. Zastąpiło TD Ameritrade Developer API po przejęciu TD Ameritrade przez Schwab, API TDA zostało już całkowicie wycofane. Jeśli trafiłeś tu, szukając konkretnie starego API TDA, oś czasu, datę wyłączenia i ścieżkę migracji opisuje w całości /resources/articles/td-ameritrade-api-shut-down-what-replaced-it.
Jeśli budowałeś na API TDA, Schwab Trader API jest celem migracji. Podstawowe wzorce są podobne, punkty końcowe REST, odpowiedzi JSON, OAuth 2.0, ale ścieżki punktów końcowych i niektóre zachowania się zmieniły. Aktualna specyfikacja jest na developer.schwab.com.
Szersze porównanie API brokerów dla przepływów handlu technicznego znajdziesz w /resources/articles/ibkr-vs-alpaca-vs-tradier-for-technical-traders-api-stack-fit-checklist. Szczegółowe zestawienie kosztów Schwab Trader API względem subskrypcji danych IBKR i poziomów danych Alpaca jest w /resources/articles/schwab-api-cost-vs-ibkr-alpaca-retail-traders.
Jakie instrumenty i typy zleceń wspiera API Schwab?
Schwab Trader API wspiera handel akcjami amerykańskimi, ETF-ami, opcjami (w tym strategiami wielonogowymi: spready pionowe, straddle, motyle) i opcjami na indeksy. Kontraktami terminowymi, forexem, kryptowalutami, obligacjami i akcjami spoza USA nie da się handlować przez API, zlecenie na kontrakty terminowe zwraca HTTP 400. Istnieją ograniczone, nieudokumentowane dane strumieniowane notowań dla niektórych instrumentów terminowych, ale nie ma routingu zleceń na kontrakty terminowe ani historycznych świec dla nich.
Obsługiwane typy zleceń: rynkowe, limitowane, stop, stop-limit, trailing stop, OCO (jedno anuluje drugie), OTO (jedno uruchamia drugie) i złożone (jedno uruchamia OCO). Wielonogowe kombinacje opcji z OCO/OTO są w społeczności deweloperów oznaczane jako eksperymentalne, zweryfikuj przy żywym połączeniu z brokerem, zanim zbudujesz wokół nich logikę produkcyjną.
Symbole opcji używają 21-znakowego formatu OSI, na przykład: AAPL 240419C00150000. Potwierdź obsługę formatu symboli, zanim napiszesz kod potoku danych.
| Instrument | Handel przez API | Strumieniowane notowania | Historyczne świece |
|---|---|---|---|
| Akcje amerykańskie | Tak | Tak (L1 + L2) | Tak |
| ETF-y | Tak | Tak (L1 + L2) | Tak |
| Opcje (w tym wielonogowe) | Tak | Tak | Nie |
| Opcje na indeksy | Tak | Tak | Nie |
| Kontrakty terminowe | Nie, HTTP 400 | Ograniczone/nieudokumentowane | Nie |
| Forex / kryptowaluty | Nie | Nie | Nie |
| Akcje spoza USA | Nie | Nie | Nie |
Jak działa uwierzytelnianie w Schwab Trader API?
Uwierzytelnianie używa trójetapowego przepływu OAuth 2.0. Twoja aplikacja przekierowuje użytkownika na stronę autoryzacji Schwab, użytkownik przyznaje dostęp, a aplikacja wymienia kod autoryzacji na tokeny.
Tokeny dostępu są ważne około 30 minut. Tokeny odświeżania są ważne około 7 dni. Nieużywany token odświeżania wygaśnie i będzie wymagał nowego kroku autoryzacji z udziałem użytkownika. Każdy przepływ działający bez nadzoru przez weekend potrzebuje wbudowanej aktywnej logiki odświeżania tokenów.
Zarejestruj aplikację i pobierz identyfikator klienta, sekret klienta i redirect URI na developer.schwab.com. Trzymaj dane uwierzytelniające poza kontrolą wersji.
Czy API Schwab ma piaskownicę?
Tak. Dostępne jest środowisko piaskownicy z syntetycznymi kontami i danymi. Używa tych samych danych uwierzytelniających co produkcja, ale łączy się z innym bazowym adresem URL.
Piaskownica to środowisko testowe z danymi syntetycznymi i nie działa jako konto do handlu papierowego. W Schwab Trader API nie ma trybu handlu papierowego, API łączy się wyłącznie z kontami na żywo. Użyj piaskownicy, aby zweryfikować uwierzytelnianie, logikę odświeżania tokenów i kształt danych, zanim połączysz się z kontem na żywo.
Co obejmuje strumieniowanie WebSocket?
API wspiera strumieniowanie WebSocket dla danych w czasie rzeczywistym. Strumieniowanie obejmuje notowania Level 1 i Level 2 (NYSE/NASDAQ) dla akcji i ETF-ów, notowania opcji i time-of-sale. Istnieje pewne nieudokumentowane strumieniowanie notowań kontraktów terminowych, ale nie jest ono częścią oficjalnej powierzchni API.
W sprawie limitów zapytań i pokrycia notowań w sesjach rozszerzonych sprawdź aktualną dokumentację dla deweloperów Schwab na developer.schwab.com.
Kto pasuje do Schwab Trader API?
Schwab Trader API pasuje do traderów technicznych i deweloperów, którzy handlują akcjami amerykańskimi, ETF-ami i opcjami na kontach Schwab. To naturalna ścieżka migracji z TD Ameritrade Developer API.
| Dobre dopasowanie | Nie pasuje |
|---|---|
| Akcje amerykańskie, ETF-y, opcje w Schwab | Traderzy wielu klas aktywów potrzebujący kontraktów terminowych, forexu lub rynków spoza USA |
| Migrujący z API TD Ameritrade | Przepływy wymagające trybu handlu papierowego |
| Standardowy REST/OAuth z piaskownicą | Wymagany routing zleceń na kontrakty terminowe |
| Konto detaliczne, skupienie na rynku USA | Wymagania instytucjonalne lub dotyczące giełd globalnych |
Dostęp indywidualny to nie zatwierdzenie komercyjne
Rejestracja na developer.schwab.com i testowanie na własnym koncie to dostęp indywidualny. Oferowanie aplikacji, która łączy konta innych klientów Schwab, to osobny krok: wymaga zatwierdzenia komercyjnego, czyli przeglądu oceniającego Twój przypadek użycia, to czy użytkownicy zachowują bezpośrednią kontrolę nad składaniem zleceń oraz każdą funkcjonalność zautomatyzowaną lub opartą na AI, wszystko względem modelu samodzielnego handlu detalicznego Schwab.
Jeśli planujesz wypuścić produkt na bazie Trader API, określ zakres tego przeglądu wcześnie. Co ocenia i jak się przygotować, opisuje /resources/articles/schwab-trader-api-commercial-approval-what-the-review-evaluates. Wzorzec projektowy tylko do odczytu, który pasuje do modelu samodzielnego inwestowania, jest w /resources/articles/read-only-schwab-api-apps-self-directed-model.
Przed budową: lista kontrolna
Przejdź to, zanim napiszesz kod integracji.
- Zarejestruj aplikację na developer.schwab.com. Zbierz identyfikator klienta, sekret klienta i redirect URI.
- Potwierdź, że typ Twojego konta kwalifikuje się do API, sprawdź w aktualnej dokumentacji dla deweloperów Schwab kwalifikujące się typy kont.
- Przetestuj uwierzytelnianie od początku do końca w piaskownicy. Potwierdź, że odświeżanie tokenu działa na granicy 30 minut, zanim połączysz się z kontem na żywo.
- Zmapuj każdy instrument na format symboli Schwab. Opcje używają 21-znakowego formatu OSI, potwierdź, że Twój parser poprawnie go obsługuje.
- Zweryfikuj, których instrumentów potrzebujesz, względem zakresu handlu powyżej. Routing zleceń na kontrakty terminowe nie jest dostępny.
- Określ potrzeby w zakresie historycznych świec: tylko akcje i ETF-y, w interwałach dziennym, 1-minutowym, 5-minutowym, 10-minutowym, 15-minutowym i 30-minutowym. Historia jednominutowa sięga około 30 do 35 dni wstecz.
- W sprawie głębokości historii transakcji oraz szczegółów korekt splitów i dywidend sprawdź aktualną dokumentację dla deweloperów Schwab, zanim zbudujesz zależną logikę.
- Alternatywy dla IBKR lub szersze porównanie stosów API znajdziesz w /resources/articles/ibkr-vs-alpaca-vs-tradier-for-technical-traders-api-stack-fit-checklist.
- Wsparcie konsultingowe przy określaniu zakresu budowy przepływu Schwab znajdziesz w /consulting.
Najczęstsze pytania
- Czy API Schwab jest bezpłatne?
- Schwab nie publikuje ceny swojego Trader API. Potrzebujesz konta maklerskiego Schwab i zatwierdzonej aplikacji deweloperskiej. W MyLinedChart logujesz się własną aplikacją deweloperską Schwab, a logowanie pozostaje na Twoim urządzeniu.
- Czy Schwab Trader API to to samo co TD Ameritrade Developer API?
- Nie. Schwab Trader API jest jego następcą. API TDA zostało już całkowicie wycofane. Uwierzytelnianie i ścieżki punktów końcowych się różnią; istniejące integracje TDA wymagają migracji. Aktualna specyfikacja jest na developer.schwab.com.
- Czy API Schwab wspiera handel papierowy?
- Nie. Schwab Trader API łączy się wyłącznie z kontami na żywo. Piaskownica to środowisko testowe z danymi syntetycznymi do weryfikacji uwierzytelniania, logiki tokenów i kształtu danych i nie działa jako konto do handlu papierowego.
- Jakimi instrumentami mogę handlować przez Schwab Trader API?
- Akcjami amerykańskimi, ETF-ami, opcjami, w tym strategiami wielonogowymi, i opcjami na indeksy. Kontraktami terminowymi, forexem, kryptowalutami, obligacjami i akcjami spoza USA nie da się handlować. Zlecenie na kontrakty terminowe zwraca HTTP 400. Istnieją nieudokumentowane strumieniowane dane notowań kontraktów terminowych, ale nie ma routingu zleceń ani dostępu do historycznych świec dla nich.
- Jak API Schwab wypada na tle IBKR w handlu technicznym?
- Schwab obejmuje akcje amerykańskie, ETF-y i opcje, z prostszą konfiguracją OAuth 2.0 i piaskownicą. IBKR obejmuje szersze uniwersum instrumentów globalnie, w tym kontrakty terminowe. Szczegółowe porównanie znajdziesz w /resources/articles/ibkr-vs-schwab-api-technical-traders.
- Czy potrzebuję zatwierdzenia komercyjnego, by używać Schwab Trader API?
- Budowanie i testowanie na własnym koncie wymaga tylko dostępu indywidualnego. Zatwierdzenie komercyjne to osobny przegląd wymagany, zanim zaoferujesz aplikację łączącą konta innych klientów Schwab. Zobacz /resources/articles/schwab-trader-api-commercial-approval-what-the-review-evaluates.
Wypróbuj MyLinedChart
MyLinedChart przechowuje Twoje rysunki, notatki i wartości wskaźników jako dane, które możesz eksportować, przeglądać i wykorzystywać ponownie.
Poznaj MyLinedChart