Casa > O > Onde Posso Obter O Conjunto De Dados Da Bolsa De Valores Para Análise De Dados?

Onde posso obter o conjunto de dados da bolsa de valores para análise de dados?

Você pode obter os dados de estoque usando dados de fornecedores populares. Eu tentaria responder a esta pergunta usando dados do mercado de ações usando a linguagem Python, pois é fácil obter dados usando Python e pode ser convertido para formatos diferentes, tais como excel ou arquivos CSV. Se você não está familiarizado com Python, então você pode ler os códigos abaixo com comentários na parte superior de cada linha de código. E depois interprete o código. Você pode simplesmente executar este código de um caderno Jupyter.

Em python, há muitas bibliotecas que podem ser usadas para obter os dados da bolsa de valores. O conjunto de dados mais comum é o de volume de preços. Estes dados podem ser usados para criar estratégias quant, estratégias técnicas ou estratégias muito simples de comprar e manter. As diferentes bibliotecas Python que fornecem os dados da bolsa de valores são as seguintes:

Price-Volume Data

  1. Daily data
    1. Yahoo finance
    2. Quandl
  2. Minute level data
    1. Alpha vantage

Futures & options price-volume data for Indian markets

  1. NSEPy

Yahoo Finance

Yahoo finance is one of the free sources to get stock data. You can get the data either using pandas datareader or can get using yfinance library. The method to get data from yfinance library is shown below.

  1. # Import the plotting library 
  2. import matplotlib.pyplot as plt 
  3.  
  4. # Import the yfinance. If you get module not found error the run !pip install yfiannce from your Jupyter notebook 
  5. import yfinance as yf  
  6.  
  7. # Get the data of the stock AAPL 
  8. data = yf.download('AAPL','2016-01-01','2018-01-01') 
  9.  
  10. # Plot the close price of the AAPL 
  11. data.Close.plot() 
  12. plt.show() 
main-qimg-aef366ceadcccb41f67fffc5c9963d5c.webp

Quandl

Wiki is one of the free source available on quandl to get the data for the 3000+ US equities. Este é um dado mantido pela comunidade. Recentemente ele deixou de ser mantido, mas no entanto, é uma boa fonte livre para testar suas estratégias.

Para obter os dados, você precisa obter a chave API livre do quandl e substituir a chave no código abaixo pela sua chave API.

  1. import matplotlib.pyplot as plt 
  2. import quandl 
  3. data = quandl.get("WIKI/KO", start_date="2016-01-01", end_date="2018-01-01", api_key=) 
  4. data.Close.plot() 
  5. plt.show() 
main-qimg-2750ad2452c49dbf08951e8b7a990c37.webp

Note:

  1. Quandl requires NumPy (v1.8 or above) and pandas (v0.14 or above) to work.
  2. To get your API key, sign up for a free Quandl account. Then, you can find your API key on Quandl account settings page.
  3. To fetch data for different markets and types

Minute level data using the Alpha vantage

Until so far we have fetched the data with a frequency of daily. That is the end of the day data. Using the below code, you get the stock data for each minute. This is very useful to backtest intraday trading strategies and for risk management purpose.

  1. # Uncomment below line to install alpha_vantage 
  2. #!pip install alpha_vantage 
  3.  
  4. # Import the library 
  5. from alpha_vantage.timeseries import TimeSeries 
  6.  
  7. # initialize TS object with API key and output format 
  8. ts = TimeSeries(key='Your-API-Key', output_format='pandas') 
  9.  
  10. # Get the data 
  11. data, meta_data = ts.get_intraday(symbol='MSFT',interval='1min', outputsize='compact') 
  12.  
  13. # Print the data 
  14. print(data.head()) 

Note:

  1. For the time interval between two consecutive data points in the time series, the following values are supported: 1min, 5min, 15min, 30min, 60min
  2. By default, outputsize=compact. Strings compact and full are accepted with the following specifications: compact returns only the latest 100 data points in the intraday time series; full returns the full-length intraday time series. The "compact" option is recommended if you would like to reduce the data size of each API call.

Options data for Indian Markets

  1. import matplotlib.pyplot as plt 
  2. from datetime import date 
  3. from nsepy import get_history 
  4. stock_opt = get_history(symbol="SBIN", 
  5. start=date(2018,1,15), 
  6. end=date(2018,2,1), 
  7. option_type="CE", 
  8. strike_price=300, 
  9. expiry_date=date(2018,2,22)) 
  10. stock_opt.Close.plot() 
  11. plt.show() 
main-qimg-16328799d0035961f7b0fd91573dabc1.webp

Futures data for Indian Markets

  1. import matplotlib.pyplot as plt 
  2. from datetime import date 
  3. from nsepy import get_history 
  4. # Stock options (Similarly for index options, set index = True) 
  5. stock_fut = get_history(symbol="SBIN", 
  6. start=date(2018,1,15), 
  7. end=date(2018,2,1), 
  8. futures=True, 
  9. expiry_date=date(2018,2,22)) 
  10. stock_fut.Close.plot() 
  11. plt.show() 
main-qimg-9460cf5dd8584d9c66e53b762484de7d.webp

Other ways are to read from CSV, excel or database file. I hope you find this answer useful and happy trading and analysis.

De McMahon

Porque é que apenas 5GB de uma RAM de 8GB estão disponíveis? :: Quais são as séries web mais bem classificadas do IMDb?