Istnieje wiele źródeł, które dostarczają historycznych danych giełdowych, ale zawierają one tylko pola OHLC wraz z wolumenem i skorygowanym zamknięciem. Również kilka źródeł, które znalazłem, udostępnia zestawy danych dotyczących kapitalizacji rynkowej, ale są one ograniczone do amerykańskich akcji. Yahoo Finance udostępnia te dane online, ale nie ma opcji ich pobrania (lub nie wiem, czy nie).
- Skąd mogę pobrać te dane dla akcji należących do różnych czołowych giełd w różnych krajach, używając ich nazwy giełdowej?
- Czy jest jakiś sposób, aby pobrać je przez Yahoo Finance lub Google Finance?
Potrzebuję danych z ostatniej dekady i dlatego potrzebuję jakiegoś skryptu lub interfejsu API, który by to zrobił.
Odpowiedź
Quant SE to lepsze miejsce na pytania związane z uzyskiwaniem danych finansowych:
Odpowiedź
Jeśli chodzi o zbieranie danych, możesz sprawdzić Quandl (istnieje samouczek dotyczący używania go z R w DataCamp , jeśli” jesteś zainteresowany).
Ponadto Aswath Damodaran „s s ite zawiera wiele przydatnych zbiorów danych. Chociaż nie są aktualizowane tak często, nadal mogą być przydatne, zwłaszcza jako punkt odniesienia do porównywania własnych wyników (ze skryptów, które nieuchronnie będziesz musiał napisać, aby obliczyć niezbędne metryki).
I, znowu, Quant SE jest prawdopodobnie lepszym miejscem do szukania …
Odpowiedź
Ta witryna zawiera historyczne kapitalizacje rynkowe i wartości przedsiębiorstw dla spółek S & P 100 i NASDAQ-100 z ostatnich 10 lat. Możesz wyeksportować zestawy danych do programu Excel.
http://marketcapitalizations.com/historical-data/historical-data-categories/valuations/
Możesz także spróbować skontaktować się z nimi w celu uzyskania danych przez dłuższy okres.
Komentarze
- Czy jesteś powiązany z tą witryną BTW?
Odpowiedź
Zrobiłbym to w ten sposób.
import requests from bs4 import BeautifulSoup base_url = "https://finviz.com/screener.ashx?v=152&s=ta_topgainers&o=price&c=1,2,6,7,25,65,67" html = requests.get(base_url) soup = BeautifulSoup(html.content, "html.parser") main_div = soup.find("div", attrs = {"id":"screener-content"}) light_rows = main_div.find_all("tr", class_="table-light-row-cp") dark_rows = main_div.find_all("tr", class_="table-dark-row-cp") data = [] for rows_set in (light_rows, dark_rows): for row in rows_set: row_data = [] for cell in row.find_all("td"): val = cell.a.get_text() row_data.append(val) data.append(row_data) # sort rows to maintain original order data.sort(key=lambda x: int(x[0])) import pandas pandas.DataFrame(data).to_csv("AAA.csv", header=False)