Dove posso scaricare i dati storici sulla capitalizzazione di mercato e sul turnover giornaliero delle azioni?


11

Esistono molte fonti che forniscono i dati storici sullo stock ma forniscono solo i campi OHLC insieme al volume e alla chiusura corretta. Anche un paio di fonti che ho trovato forniscono set di dati sulla capitalizzazione di mercato, ma sono limitati ai titoli statunitensi. Yahoo Finance fornisce questi dati online ma non è possibile scaricarli (o nessuno di cui io sia a conoscenza).

  • Dove posso scaricare questi dati per le azioni appartenenti a varie principali borse valori di tutti i paesi usando il loro nome ticker?
  • Esiste un modo per scaricarlo tramite Yahoo Finance o Google Finance?

Ho bisogno di dati per l'ultimo decennio o giù di lì e quindi ho bisogno di alcuni script o API che farebbero questo.

Risposte:



3

Per quanto riguarda la raccolta dei dati, puoi dare un'occhiata a Quandl (c'è un tutorial su come usarlo con R su DataCamp se sei interessato).

Inoltre, il sito di Aswath Damodaran contiene molti set di dati utili. Sebbene non vengano aggiornati di frequente, possono comunque essere utili, soprattutto come punto di riferimento per confrontare il tuo output (dagli script dovrai inevitabilmente scrivere per calcolare le metriche necessarie).

E, ancora una volta, Quant SE è probabilmente un posto migliore in cui cercare ...



1

Lo farei così.

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)
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.