¿Dónde puedo descargar los datos históricos de capitalización de mercado y rotación diaria de acciones?


11

Hay muchas fuentes que proporcionan los datos de stock históricos, pero solo proporcionan los campos OHLC junto con el volumen y el cierre ajustado. También encontré un par de fuentes que proporcionan conjuntos de datos de capitalización de mercado, pero están restringidos a las acciones estadounidenses. Yahoo Finance proporciona esta información en línea, pero no hay ninguna opción para descargarla (o ninguna que conozca).

  • ¿Dónde puedo descargar estos datos para las acciones que pertenecen a las principales bolsas de valores de todos los países utilizando su nombre de teletipo?
  • ¿Hay alguna forma de descargarlo a través de Yahoo Finance o Google Finance?

Necesito datos de la última década más o menos y, por lo tanto, necesito algún script o API que haga esto.

Respuestas:



3

En cuanto a la recopilación de datos, puede consultar Quandl (hay un tutorial sobre su uso con R en DataCamp si está interesado).

Además, el sitio de Aswath Damodaran contiene muchos conjuntos de datos útiles. Aunque no se actualizan con tanta frecuencia, aún pueden ser útiles, especialmente como un punto de referencia para comparar su propia salida (de los scripts inevitablemente necesitará escribir para calcular las métricas necesarias).

Y, de nuevo, Quant SE es probablemente un mejor lugar para buscar ...



1

Lo haría de esta manera.

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)
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.