Di mana saya dapat mengunduh kapitalisasi pasar historis dan data turnover harian untuk saham?

11

Ada banyak sumber yang menyediakan data stok historis tetapi mereka hanya menyediakan bidang OHLC bersama dengan volume dan penutupan yang disesuaikan. Juga beberapa sumber yang saya temukan menyediakan kumpulan data kapitalisasi pasar tetapi terbatas pada saham AS. Yahoo Finance menyediakan data ini secara online tetapi tidak ada opsi untuk mengunduhnya (atau tidak saya sadari).

  • Di mana saya dapat mengunduh data ini untuk saham-saham milik berbagai bursa efek top di seluruh negara dengan menggunakan nama ticker mereka?
  • Apakah ada cara untuk mengunduhnya melalui Yahoo Finance atau Google Finance?

Saya membutuhkan data untuk dekade terakhir dan karenanya memerlukan beberapa skrip atau API yang akan melakukan ini.

tejaskhot
sumber

Jawaban:

3

Sejauh mengumpulkan data, Anda dapat melihat Quandl (ada tutorial tentang menggunakannya dengan R pada DataCamp jika Anda tertarik).

Selain itu, situs Aswath Damodaran mengandung banyak set data yang bermanfaat. Meskipun mereka tidak diperbarui sesering itu, mereka mungkin masih berguna, terutama sebagai tolok ukur untuk membandingkan hasil Anda sendiri (dari skrip yang Anda pasti perlu menulis untuk menghitung metrik yang diperlukan).

Dan, sekali lagi, Quant SE mungkin adalah tempat yang lebih baik untuk mencari ...

Steve S
sumber
1

Saya akan melakukannya dengan cara ini.

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)
ABU
sumber