Yahoo Finance API – kompletny przewodnik

17.02.2021

Ostatnia aktualizacja 17 sierpnia 2020 r

Spis treści
  • Co to jest interfejs API Yahoo Finance?
  • Dlaczego powinienem używać interfejsu API Yahoo Finance?Dlaczego nie powinienem używać interfejsu API Yahoo Finance?Czy interfejs API Yahoo Finance jest bezpłatny?Czy interfejs API Yahoo Finance może współpracować z Pythonem?Jakie są sposoby uzyskania dostępu do interfejsu API Yahoo Finance?
    • RapidAPI
    • yfinanceYahoo_fin Jak rozpocząć korzystanie z biblioteki Yahoo_fin?

      • Instalacja
      • Układ biblioteki Jak pobrać dane historyczne za pomocą interfejsu API Yahoo Finance?

        • Demo z jednym tickerem
        • Demo z wieloma tickami Jak pobrać podstawowe dane?

          • Stosunek ceny do zysku
          • DywidendyDane podstawowe z wieloma pasami jednocześnie
            • Porównanie według określonego atrybutu
            • Jak mogę pobrać dane handlowe?

              • Kapitalizacja rynkowa
              • TomWzloty i upadki Jak pobrać dane z rachunku zysków i strat?Jak mogę pobrać dane z bilansu?Jak pobrać dane z rachunku przepływów pieniężnych?Jak pobrać dane opcji?

                • Jak uzyskać daty ważności?
                • Jak uzyskać dane dotyczące połączeń?Jak uzyskać dane Puts? Jakie są alternatywy dla interfejsu API Yahoo Finance?

                  • Alpha Vantage
                  • WielokątIEX Dlaczego Yahoo Finance wycofało swój oficjalny interfejs API w 2017 roku?Końcowe przemyśleniaLink do pobrania używanego koduCo to jest interfejs API Yahoo Finance?

                    Interfejs API Yahoo Finance to szereg bibliotek / interfejsów API / metod uzyskiwania danych historycznych i danych w czasie rzeczywistym dla różnych rynków finansowych i produktów, jak pokazano na stronie Yahoo Finance – https://finance.yahoo.com/.

                    Niektóre oferty obejmują dane rynkowe dotyczące kryptowalut, zwykłych walut, akcji i obligacji, dane fundamentalne i opcje oraz analizy rynkowe i aktualności.

                    Yahoo miało swoje własne oficjalne API, ale zostało ono zamknięte w 2017 roku – na końcu tego artykułu omówimy kilka możliwych powodów.

                    Omówimy zalety i wady kilku nieoficjalnych interfejsów API / bibliotek, które obecnie istnieją, aby uzyskać dostęp do tych danych, a następnie szczegółowo omówimy, jak korzystać z jednego z nich.

                    Dlaczego powinienem używać interfejsu API Yahoo Finance?
                    • Wolny
                    • Imponujący zakres danychSzybka i łatwa konfiguracjaProstyJednym z dobrych powodów jest to, że może być całkowicie darmowy . Istnieją jednak również interfejsy API innych firm z większym wsparciem, które pobierają opłaty za swoje wyższe plany użytkowania, ale nawet one mają zwykle bezpłatne opcje poziomów.

                      Imponujący zakres danych . Oprócz podstawowych danych standardowych, interfejs API Yahoo Finance oferuje dodatki, takie jak opcje i dane podstawowe, a także wiadomości rynkowe i analizy, których alternatywy, takie jak IEX i Alpha Vantage, nie zawsze mają.

                      Konfiguracja jest również łatwa . W zależności od wybranej ścieżki konfiguracja obejmuje kilka wierszy kodu do zainstalowania bibliotek, utworzenie konta w celu uzyskania dostępu do osobistych kluczy API, a następnie wywołanie interfejsu API z określonym adresem URL (w zależności od żądanych danych) i tych kluczy .

                      To może być proste . Niektóre biblioteki mają dokumentację, która mieści się na jednej stronie, zachowując jednocześnie skoncentrowaną funkcjonalność, ale wystarczającą dla większości normalnych przypadków użycia. Chociaż jest kompaktowy, nadal może ci pomóc, dostarczając funkcje w modułach, które wykonują żmudną pracę za Ciebie – takie jak automatyczne pobieranie danych do ramek danych pandy, gdy jest to konieczne.

                      To sprawia, że ​​interfejs API Yahoo Finance jest idealny, jeśli jesteś stosunkowo początkującym i chcesz po prostu zanurzyć się i zmoczyć stopy, zamiast spędzać godziny na zastanawianiu się nad złożoną dokumentacją.

                      Dlaczego nie powinienem używać interfejsu API Yahoo Finance?
                      • (Ograniczająco) proste
                      • Rozwiązania zbudowane na górze są delikatneNieoficjalnie w przypadku wniosków o daneMożesz dostać się do limitu / czarnej listy To proste. Chociaż możemy uzyskać dostęp do imponującego zakresu danych, API Yahoo Finance czasami brakuje dzwonków i gwizdów bardziej wyspecjalizowanych interfejsów API.

                        Na przykład Alpha Vantage oferuje fantastyczne, gotowe moduły, które obliczają dla Ciebie wspólne wskaźniki analizy technicznej – co może zaoszczędzić ogromną ilość wysiłku, jeśli chcesz zbudować model handlowy, który zawiera którykolwiek z nich!

                        Jest trochę kruchy. Yahoo Finance API nie jest już w pełni oficjalnym interfejsem API, co oznacza, że ​​czasami nie dostarcza wszystkich wymaganych informacji. W związku z tym rozwiązania próbujące zebrać dane z Yahoo Finance wykorzystują połączenie bezpośrednich wywołań API, skrobania danych HTML i skrobania tabel pand w zależności od funkcji i biblioteki / API.

                        Metody, które pobiera HTML, zbierają dane poprzez nieoficjalne pobieranie danych z witryny Yahoo Finance, więc ich funkcjonalność zależy od tego, czy Yahoo nie zmieni układu / projektu żadnej ze swoich stron.

                        Na marginesie, skrobanie danych polega po prostu na pobraniu kodu HTML strony internetowej i przeszukaniu wszystkich znaczników HTML w celu znalezienia określonych elementów strony, którą chcesz.

                        Na przykład poniżej znajduje się strona rachunku zysków i strat Yahoo Finance Amazon („AMZN):

                        Jeśli więc metoda, którą usuwają dane, ma zwracać elementy rachunku zysków i strat, będzie przeszukiwać strukturę strony za pomocą wielu tagów div, class span itp. W poszukiwaniu różnych identyfikatorów, aby znaleźć dokładne wartości, które powinny być zwracane dla każdego wskaźnika ze stron internetowych Yahoo.

                        Na przykład tutaj zysk brutto 74 754 na dzień 31.12.2019 ma wartość „114. Gdyby firma Yahoo Finance miała kiedykolwiek zmienić znacznik struktury / atrybutu wskazujący na tę wartość, a metoda zaprojektowana do pobierania tej konkretnej części danych wykorzystuje skrobanie danych, może zwrócić coś całkowicie niepoprawnego, a może wcale.

                        Zauważ, że nie wszystkie metody dla różnych API / bibliotek HTML scrape. W rzeczywistości większość z nich tego nie robi, z większością metod wykorzystujących skrobanie tabel pand (znacznie mniej wrażliwych) lub bezpośrednie wywołania API, ale pamiętaj, że istnieją metody z tymi lukami, a niektóre biblioteki / interfejsy API są już znane mają problemy z niektórymi funkcjami.

                        Nie jest do użytku oficjalnego . Jako rozszerzenie poprzedniego punktu, ponieważ niektóre metody uzyskiwania dostępu do tych danych nieoficjalnie usuwają dane, nie ma gwarancji, że ich kod będzie działał w przyszłości, jeśli Yahoo Finance zmieni część swojego układu.

                        W szczególności bezpłatne biblioteki open source mają średnie ryzyko, że niektóre komponenty nie będą działać w pewnym momencie w przyszłości, nawet jeśli historycznie problemy zostały ostatecznie naprawione.

                        Dzięki płatnym nieoficjalnym interfejsom API można mieć nadzieję, że mają zespoły programistów, które jak najszybciej naprawią te problemy, ale nadal nie ma gwarancji, że żadne strategie, które utworzysz na podstawie ich danych, nie zwariują tymczasowo na podstawie podejrzanych (lub nieistniejących) danych – oczywiście ekstremalne ryzyko do podjęcia, jeśli masz pieniądze w grze! To powiedziawszy, wiemy, że RapidAPI całkowicie korzysta z własnego wewnętrznego interfejsu API, więc być może jest to dobry wybór, jeśli chcesz bezpieczniej korzystać z danych Yahoo Finance!

                        Możesz dostać się do limitu / czarnej listy. Ponownie, ponieważ biblioteki i nieoficjalne interfejsy API czasami zbierają dane, w dowolnym momencie mogą zostać ograniczone lub umieszczone na czarnej liście przez Yahoo Finance (za zbyt wiele prób).

                        W szczególności w przypadku całkowicie darmowych i nieograniczonych bibliotek użytkowania nie masz pojęcia, gdzie może się znajdować ta linia i przypadkowo ją przekroczysz.

                        WniosekW związku z tym uważamy, że interfejs API Yahoo Finance jest doskonały, jeśli jesteś stosunkowo początkującym i po prostu chcesz szybko zmoczyć swoje stopy / przetestować kilka pomysłów z niektórymi danymi lub potrzebujesz dostępu do czegoś takiego jak dane opcji.

                        Jeśli jednak planujesz zbudować bardziej złożony i długoterminowy system, który może wysyłać setki do tysięcy żądań danych dziennie lub planujesz wykorzystać w modelowaniu bardziej szczegółowe informacje, takie jak wskaźniki analizy technicznej, zalecamy skorzystanie z innego opcja zapewniająca wbudowane niektóre z tych dodatkowych funkcji. Alternatywnie, możesz zapłacić trochę więcej za jedną z oficjalnych alternatyw dla API danych finansowych, takich jak Quandl, Alpha Vantage lub IEX, gdzie możesz mieć pewność, że Twoje dane nie zostaną losowo wycięte jeden dzień.

                        Czy interfejs API Yahoo Finance jest bezpłatny?

                        Tak, jak już wspomnieliśmy, istnieje wiele sposobów dostępu do danych Yahoo Finance, które są całkowicie bezpłatne.

                        Jeśli chcesz mieć trochę więcej spokoju, że korzystasz z rozwiązania, które jest obsługiwane i aktualizowane, są dostępne opcje, za które możesz zapłacić.

                        Czy interfejs API Yahoo Finance współpracuje z Pythonem?

                        Tak, prawie każda biblioteka / nieoficjalny interfejs API umożliwiający dostęp do danych Yahoo Finance obsługuje język Python.

                        Niektóre opcje obsługują również szereg innych języków, na wypadek gdyby Python nie był twoją rzeczą.

                        Jakie są sposoby uzyskania dostępu do interfejsu API Yahoo Finance?

                        RapidAPI

                        RapidAPI to rynek API, który obsługuje Python, ale także pozwala wybrać spośród 15 różnych języków programowania, jeśli chcesz czegoś innego.

                        Oferuje wielopoziomowy plan cenowy w zależności od Twoich potrzeb. Istnieje bezpłatna opcja, ale w przypadku poważnych operacji 500 żądań miesięcznie może być nieco ograniczające:

                        Będziesz musiał założyć konto i zajmować się kluczami API podczas wysyłania żądań, więc RapidAPI nie jest tak łatwe do rozpoczęcia i wykorzystania jak niektóre inne opcje.

                        Ponadto wyniki są prawie zawsze zwracane jako (czasami dość długie) pliki JSON, więc często będziesz musiał wykonać sporo wstępnego przetwarzania, aby uzyskać żądane dane w żądanej formie – Yahoo_fin często automatycznie umieszcza dane w ramkach danych pandy dla ty.

                        To powiedziawszy, zakres dostępnych danych jest najobszerniejszy z opcji, jakie znaleźliśmy – dzięki RapidAPI można uzyskać informacje o podstawach i opcjach, a także wiadomości rynkowe i analizy – te dwie ostatnie nie są dostępne z innymi naszymi opcjami.

                        Ponadto, jeśli przejdziesz do strony głównej, zobaczysz, że RapidAPI oferuje szeroką gamę interfejsów API do różnych celów, więc zapoznanie się z obsługą witryny może przynieść korzyści z wykorzystania innego interfejsu API do innego projektu w przyszłości.

                        Ogólnie rzecz biorąc, RapidAPI jest nieco bardziej skomplikowany w użyciu i na początku, ale jeśli chcesz złożyć wiele żądań lub mieć dostęp do bardziej szczegółowych danych i nie masz nic przeciwko odrobinie dodatkowej pracy, może to być dobry zakład.

                        yfinanceyfinance to popularna biblioteka open source opracowana przez Ran Aroussi.

                        Jest całkowicie darmowy i bardzo łatwy w konfiguracji – jedna linia do zainstalowania biblioteki:

                        I do użycia, gdzie po prostu tworzysz obiekt ticker z symbolem tickera, a następnie proste wywołania metody zwracają absolutnie wszystko, co chcesz wiedzieć.

                        Oferuje mniej zakresu danych niż RapidAPI (brak wiadomości rynkowych / analiz), ale jest znacznie łatwiejszy w użyciu.

                        Nie będziemy się tutaj więcej rozwodzić, ponieważ napisaliśmy osobny artykuł na temat yfinance. Więcej informacji: Biblioteka yfinance – kompletny przewodnik

                        Yahoo_finYahoo_fin to kolejna całkowicie darmowa biblioteka open source podobna do yfinance, opracowana przez autora https://theautomatic.net/.

                        Jest również bardzo łatwy w konfiguracji i obsłudze, ale znowu, podobnie jak w yfinance, brakuje analiz rynkowych / wiadomości – chociaż oferuje dobry zakres, szeroki zakres danych dotyczących podstaw i opcji.

                        Od teraz skupimy się na tym w tym artykule!

                        Jak rozpocząć korzystanie z biblioteki Yahoo_fin?

                        Jeśli jesteś zupełnie nowy w Pythonie, najpierw obejrzyj ten film, aby dowiedzieć się, jak skonfigurować Python i swoje IDE (inaczej platformę kodowania): Przygotowanie środowiska kodowania Python

                        InstalacjaJest to również bardzo łatwe. Aby zainstalować bibliotekę Yahoo_fin, po prostu uruchom polecenie:

                        Jeśli kiedykolwiek będziesz potrzebować aktualizacji w przyszłości, po prostu uruchom:

                        Yahoo_fin ma również kilka zależności:

                        • ftplib
                        • iopandyupraszanierequest_htmlOprócz request_html, wszystkie one powinny być preinstalowane z Anacondą.

                          Aby zainstalować request_html, jest to tak proste, jak:

                          Uwaga request_html wymaga do działania języka Python 3.6+. Nie potrzebujesz go do korzystania z większości funkcji Yahoo_fin, ale jest kilka funkcji, z których nie będziesz mógł korzystać bez niego. Za sekundę wskażemy, które funkcje od niego zależą.

                          Poza tym to wszystko! Możesz zaczynać!

                          Układ biblioteki Zanim przejdziemy do konkretnych, przydatnych przykładów, przejrzyjmy szybko układ biblioteki Yahoo_fin.

                          Yahoo_fin ma dwa moduły – stock_info i opcje.

                          stock_info ma następujące metody:

                          A opcje mają:

                          Istnieją metody, których nie możesz użyć bez request_html:

                          Racja, zacznijmy trochę bawić się biblioteką!

                          Jak pobrać dane historyczne za pomocą interfejsu API Yahoo Finance?

                          Historyczne dane cenowe to jedyna rzecz, której prawdopodobnie prawie zawsze będziemy potrzebować.

                          Metodą uzyskania tego w bibliotece Yahoo_fin jest get_data () .

                          Będziemy musieli zaimportować go z modułu stock_info , więc robimy:

                          Pobiera argumenty:

                          • ticker : ticker niewrażliwy na wielkość liter dla żądanej akcji / obligacji
                          • data_początkowa : data, od której mają się zaczynać dane (dd / mm / rrrr) data_końcowa : data zakończenia danych (mm / dd / rrrr) index_as_date :
                            . Domyślnie jest to prawda. Jeśli prawda, daty rekordów są ustawiane jako indeks, w przeciwnym razie są zwracane jako oddzielna kolumna. interwał : . Odnosi się do interwału próbkowania danych: „1d = codziennie, „1 tyg. = Co tydzień, „1 miesiąc = co miesiąc.Demo z jednym tickeremNa przykład z pojedynczym paskiem:

                            Pobiera wszystkie historyczne dane dostępne dla Amazon z tygodniowym odstępem między dwiema datami:

                            • Daty rozpoczęcia / zakończenia nie zgadzają się dokładnie – zwrócone dane są przyciągane do jakiejś daty w odległości tygodnia, zgodnie z dokładnymi danymi przechowywanymi przez Yahoo Finance w przedziale czasowym.
                            • Dane są zwracane w ramce danych pandy.Data rekordów jest indeksem ramki danych.Jest to fantastycznie przydatne, ponieważ normalnie musielibyśmy przekonwertować nasze dane z formatu JSON, załadować je do ramki danych pandy i ustawić indeks jako daty, a wszystko to w oddzielnych wierszach kodu.

                              Yahoo_fin wykonał całą pracę i przygotował nasze dane do modelowania w jednej linii kodu!

                              Demo z wieloma tickamiJeśli chcemy zbierać dane historyczne dla wielu pasków jednocześnie, będziemy chcieli utworzyć listę pasków, pusty słownik i iterować po liście, dołączając każdą ramkę danych pandy do pustego słownika:

                              Teraz, jeśli chcemy spojrzeć na dane historyczne dla konkretnego paska, po prostu wyszukujemy ten symbol w słowniku i będziemy wygodnie mieć nasze dane w ramce danych pandy, jak poprzednio:

                              Ta konfiguracja jest szczególnie przydatna w połączeniu z niektórymi innymi metodami Yahoo_fin, jeśli chcemy szybko zebrać dane dla wszystkich określonych rynków.

                              Na przykład tickers_dow () zwraca listę wszystkich pasków w Dow Jones, więc możemy zrobić:

                              Tutaj po prostu importujemy cały moduł stock_info jako si więc możemy łatwo wywołać wszystkie metody bez nowego importu za każdym razem.

                              Powtarzaj listę pasków, dodając za każdym razem ponownie do słownika:

                              I to wszystko, teraz masz słownik ramek danych pand zawierających dane historyczne dla wszystkich akcji w Dow Jones!

                              Możesz również użyć tej samej metody, aby szybko uzyskać wszystkie dane dla kilku innych rynków za pomocą wbudowanych metod Yahoo_fin:

                              • Nasdaq : tickers_nasdaq ()
                              • S & P500 : tickers_sp500 () Inne : tickers_other ()»Co robisz z danymi otrzymanymi z Yahoo Finance? Przetestuj z nimi swoje pomysły handlowe! Link: Backtrader for Backtesting (Python) – kompletny przewodnik

                                Jak pobrać podstawowe dane?

                                W Yahoo_fin często istnieje kilka sposobów uzyskania tego samego bitu danych przy użyciu różnych wywołań metod.

                                Spróbujmy pobrać kilka różnych podstawowych danych.

                                Stosunek ceny do zyskuNajłatwiejszym sposobem uzyskania stosunku ceny do zysków (P / E) dla akcji jest użycie funkcji get_quote_table () .

                                Zwróć uwagę, że wiele poniższych metod automatycznie zwraca dane w ramce danych pandy.

                                get_quote_table () nie robi tego domyślnie, ale przyjmuje opcjonalny parametr dict_result , który po ustawieniu na False powoduje również, że metoda zwraca ramkę danych pandy (zamiast słownika).

                                Zwraca naprawdę przydatne podsumowanie niektórych podstawowych danych:

                                Aby uzyskać stosunek P / E, możemy po prostu zrobić:

                                Możemy również uzyskać stosunek P / E za pomocą funkcji get_stats () lub get_stats_valuation () .

                                get_stats_valuation () w rzeczywistości zwraca pierwsze 9 pól w get_stats () , więc get_stats () jest po prostu dużo bardziej rozbudowane.

                                Oto jak wygląda get_stats_valuation ():

                                DywidendyAby otrzymać dywidendy oczekiwane z posiadania akcji, możemy wrócić do funkcji get_quote_table () i zrobić:

                                Dane podstawowe z wieloma pasami jednocześnieSpróbujmy od razu pobrać podstawowe dane dla listy notowań, a następnie wybierzmy jeden atrybut, według którego chcemy uszeregować wszystkie akcje.

                                Zaimportujmy moduł pandy, ponieważ będziemy go potrzebować, i ponownie wygeneruj listę dow_tickers.

                                Ten następny fragment kodu jest bardzo podobny do kodu zapętlającego, którego używaliśmy wcześniej, w którym utworzyliśmy słownik ramek danych pand – po jednym dla każdego paska, jednak tutaj zmieniamy tylko nazwy naszych kolumn na „Atrybut i „Ostatnie:

                                Teraz łączymy wszystkie te ramki danych w jedną ramkę danych:

                                Usuń też niepotrzebną kolumnę „level_1 i wyczyść nazwy kolumn po zmianie nazwy:

                                Świetnie, więc teraz mamy kilka podstawowych danych w tej samej ramce danych dla wielu akcji naraz!

                                Porównanie według określonego atrybutuMożemy pójść o krok dalej i wybrać atrybut, który chcielibyśmy porównać między wszystkimi akcjami, na przykład ponownie wskaźnik P / E:

                                I możemy zamówić kolumnę „Ostatnie, aby znaleźć najlepiej / najgorzej zarabiających:

                                Niesamowite – teraz z łatwością analizujemy konkretny atrybut dla każdej akcji na rynku! Kupmy szybko PG!

                                Warto również zauważyć, że możemy użyć poprzednich bloków kodu, aby szybko złożyć gigantyczną ramkę danych wszystkich atrybutów dla różnych pasków dla większości metod, które omówimy w przyszłości.

                                Teraz szybko przejrzyjmy nieco więcej dostępnych dla nas funkcji!

                                Jak mogę pobrać dane handlowe?

                                Pamiętaj, że możesz pobrać historyczne dane otwarcia, wysokiego, niskiego, zamknięcia, wolumenu próbkowane w regularnych odstępach czasu z metody get_data ():

                                Poza tym możesz znaleźć ładnie zebrane dane dotyczące kapitalizacji rynkowej, wolumenu oraz maksimów i dołków z bieżącego dnia w metodzie get_quote_table ():

                                Kapitalizacja rynkowaAby uzyskać kapitalizację rynkową, możemy zrobić:

                                TomMożemy uzyskać średni wolumen z 52 tygodni lub aktualny z wolumenem z:

                                Wzloty i upadkiI możemy uzyskać dzienne maksima i minimum za pomocą:

                                Jeśli chcemy coś zrobić z wzlotami i upadkami, możemy podzielić ten ciąg na części za pomocą metody split () Pythona i przekonwertować typ na float:

                                Odmiany tych danych można również znaleźć za pomocą metody get_stats ().

                                Jak pobrać dane z rachunku zysków i strat?

                                Yahoo_fin ma fantastycznie przydatną funkcję get_income_statement (), która robi to wszystko w jednym:

                                Pamiętaj, że zawsze możesz transponować indeksy i kolumny, jeśli chcesz przeprowadzić analizę danych klatka po okresie w bardziej normalny sposób:

                                TTM oznacza Miesiące Trailing Dwunastu i zwykle pokazuje albo najnowszego dwunastu miesiącach działalności spółki lub ostatnich dwunastu miesięcy przed głównym Event- niczym nabycia.

                                Jak mogę pobrać dane z bilansu?

                                Ponownie, bardzo łatwe dzięki funkcji get_balance_sheet () :

                                Jak pobrać dane z rachunku przepływów pieniężnych?

                                Używanie funkcji get_cash_flow (), jeśli jeszcze nie zauważyłeś wzorca!

                                Jak pobrać dane opcji?

                                Do tej pory używaliśmy tylko modułu stock_info , teraz wreszcie pobawimy się trochę modułem opcji .

                                Zaimportujmy najpierw moduł opcji z odniesieniem:

                                Krótko mówiąc, opcje to kontrakty dające inwestorowi prawo, ale nie obowiązek , kupna (call) lub sprzedaży (put) aktywów bazowych, które reprezentują, po określonej cenie w określonym terminie lub wcześniej.

                                Jak uzyskać daty ważności?Użyj metody get_expiration_dates () :

                                Zwróć uwagę, że wszystkie poniższe funkcje przyjmują opcjonalny parametr Data wygaśnięcia , ale powinien on mieć postać „mm / dd / rrrr , więc będziesz musiał dokonać niewielkiej konwersji, jeśli chcesz użyć określonej daty.

                                W przypadku braku daty minięcia (tylko ticker), funkcje zwrócą dane najwcześniej zbliżającej się daty wygaśnięcia.

                                Jak uzyskać dane dotyczące połączeń?Używasz metody get_calls () :

                                Jak uzyskać dane Puts?Podobnie, używasz get_puts ():

                                Wreszcie, jeśli chcesz zarówno połączenia i stawia dane razem użyj get_options_chain () metody.

                                Zwraca słownik z dwoma kluczami – „wywołania i „wstawienia, z których każdy zawiera odpowiednie tabele jako ramki danych jako wartości.

                                Jakie są alternatywy dla interfejsu API Yahoo Finance?

                                Jeśli nie przejmujesz się wykorzystywaniem danych specjalnie z Yahoo Finance, warto rozważyć następujące alternatywne interfejsy API:

                                Alpha VantageJak już wspomnieliśmy, naprawdę dużym plusem jest to, że oprócz danych cenowych Alpha Vantage zapewnia ponad 50 typowych wskaźników technicznych – idealne, jeśli chcesz zbudować model, który wykorzystuje niektóre z nich.

                                Ich bezpłatny poziom jest również bardzo hojny – użyteczne 500 żądań dziennie (z limitem 5 żądań na minutę) – znacznie lepsze niż 500 RapidAPI miesięcznie!

                                Na tej stronie mamy przewodnik dotyczący Alpha Vantage, sprawdź https://algotrading101.com/learn/alpha-vantage-guide/, jeśli chcesz dowiedzieć się więcej!

                                WielokątJeśli chcesz niesamowitej prędkości i wysokiej wydajności, Polgon.io może być najlepszym rozwiązaniem.

                                Łączą się z danymi bezpośrednio z różnych giełd, a ich plan Enterprise twierdzi, że jest śmieszny

                                IEX oferuje absolutnie ogromny zakres danych – sprawdź pasek podsumowania po lewej stronie: https://iexcloud.io/docs/api/

                                Dokumentacja jest bardzo obszerna, przez co trudno ją szybko zagłębić.

                                Ma również skomplikowane limity szybkości, w których różne dane są ważone w różny sposób, jeśli chodzi o obliczanie wykorzystania. Będziesz więc musiał wykonać kilka obliczeń, aby upewnić się, że nie przekraczasz żądanych limitów, ale o mój Boże, czy możesz tam znaleźć dane prawie wszystkiego!

                                Mamy również przewodnik po tym na tej stronie, sprawdź: https://algotrading101.com/learn/iex-api/

                                Dlaczego Yahoo Finance wycofało swój oficjalny interfejs API w 2017 roku?

                                Yahoo wycofało swoje oficjalne API 15 maja 2017 roku.

                                Oficjalny powód nigdy nie został podany, ale powszechnie uważa się, że jest to problem związany z niewłaściwym wykorzystaniem danych na dużą skalę, ponieważ tak wiele osób używało ich do tworzenia osobistych aplikacji (nie było wymogu logowania się do Yahoo ani czegokolwiek!).

                                Oto komunikat o błędzie, który pojawił się nagle, gdy ludzie próbowali wywołać interfejs API w celu pobrania:

                                Pobieranie danych było niezgodne z ich przeznaczeniem (tylko do wglądu) oraz naruszało regulamin stron, od których zostały zebrane (giełdy i instytucje finansowe nie lubią ujawniać swoich danych za darmo!).

                                Obecnie mamy szereg nieoficjalnych alternatyw, z których część oczywiście omówiliśmy w tym artykule.

                                Końcowe przemyślenia

                                Interfejs API Yahoo Finance oferuje przyzwoity zakres danych i jest dostępny całkowicie swobodnie.

                                Niektóre biblioteki opracowane w celu uzyskania do nich nieoficjalnego dostępu są fantastycznie łatwe w użyciu, więc jeśli jesteś początkującym, możesz z nimi eksperymentować.

                                Niektóre rozwiązania zbudowane na topie polegają jednak na nieoficjalnym skrobaniu w celu zebrania danych. Istnieje również ryzyko, że Yahoo Finance zmieni adres URL interfejsu API lub metody, biorąc pod uwagę, że jest to w końcu nieoficjalne.

                                Dlatego absolutnie nie zalecamy budowania krytycznych systemów, w których masz dużo pieniędzy na linii!

                                Zamiast tego użyj oficjalnej alternatywy, która jest podłączona bezpośrednio do wymiany danych, na przykład IEX lub Polygon.

                                Link do pobrania używanego kodu

                                Możesz znaleźć kod użyty w tym artykule tutaj.

    We use cookies to provide you with the best possible experience. By continuing, we will assume that you agree to our cookie policy