NASDAQ Trade Data

10

J'essaie de trouver des données boursières pour m'entraîner, existe-t-il une bonne ressource pour cela? J'ai trouvé ceci: ftp://emi.nasdaq.com/ITCH/ mais il n'a que l'année en cours.

J'ai déjà un moyen d'analyser le protocole, mais j'aimerais avoir plus de données avec lesquelles comparer. Il ne doit pas nécessairement être dans le même format, tant qu'il contient des statistiques sur les prix, les transactions et les dates.

Marin
la source

Réponses:

7

Vous pouvez extraire très facilement les données boursières en python et R (probablement dans d'autres langues également) avec les packages suivants:

En python avec: https://pypi.python.org/pypi/ystockquote

C'est aussi un très bon tutoriel dans iPython qui vous montre comment extraire les données boursières et jouer avec: http://nbviewer.ipython.org/github/twiecki/financial-analysis-python-tutorial/blob/master/1 .% 20Pandas% 20Basics.ipynb

En R avec: http://www.quantmod.com/

HTH.

mike1886
la source
2

Il existe plusieurs plates-formes (comme quandl, iex, yahoo) qui fournissent de telles données et pandas_datareader vous offre une interface encore meilleure pour collecter des données à partir de ces plates-formes.

Consultez ce blog pour un exemple rapide .

Kyle
la source
1

De nombreux fournisseurs de données ont été désactivés au fil du temps. Celui-ci fonctionne toujours

import datetime
import pandas as pd
import numpy as np
import pylab as pl
import datetime
from sklearn.cluster import AffinityPropagation
from sklearn import metrics
from matplotlib.collections import LineCollection
from pandas_datareader import data as wb
from sklearn import cluster, covariance, manifold


start = '2019-02-01'
end = '2020-02-01'

tickers = ['MMM',
'ABT',
'ABBV',
'ABMD',
'ACN',
'ATVI']

thelen = len(tickers)

price_data = []
for ticker in tickers:
    prices = wb.DataReader(ticker, start = start, end = end, data_source='yahoo')[['Open','Adj Close']]
    price_data.append(prices.assign(ticker=ticker)[['ticker', 'Open', 'Adj Close']])

#names = np.reshape(price_data, (len(price_data), 1))

names = pd.concat(price_data)
names.reset_index()
CENDRE
la source