Тикеры, используемые в pandas morningstar API - PullRequest
0 голосов
/ 23 мая 2018

Вот что я сделал для получения цены акции "TSLA" с использованием DataReader с API morningstar

import pandas_datareader.data as web
df = web.DataReader('TSLA', 'morningstar', start, end)

Однако, если я введу неправильный тикер для первого параметра создателя DataReader, Python просто продолжает линию.

Как проверить, правильно ли введен тикер для первого параметра?

1 Ответ

0 голосов
/ 04 июня 2018

Когда я запустил ваш код с недопустимым символом тикера, у меня возникла та же проблема с просто зависшим интерпретатором Python.Я не нашел полностью опрятного решения, но, основываясь на несколько связанном отчете о проблеме, который я прочитал на github ( ссылка здесь ), я нашел ответ, который не даст интерпретатору python зависать, еслиВы вводите недопустимый символ тикера.

Кажется, ключ устанавливает параметр retry_count в pandas_datareader.data.DataReader() равным нулю.

Ниже приведен полностью воспроизводимый фрагмент кода:

import pandas_datareader
import datetime

start = datetime.datetime(2018, 5, 1)
end = datetime.datetime(2018, 5, 30)

def get_data(ticker):
    try:
        df = pandas_datareader.data.DataReader('%s' % (ticker), 'morningstar', start, end, retry_count=0)
        print(df.tail(5))
    except ValueError:
        print('Ticker Symbol %s is not available!' % (ticker))

get_data('TSLA') #valid Symbol
get_data('yyfy') #not a valid Symbol
get_data('AAPL') #valid Symbol
get_data('QQQQ') #not a valid Symbol

с ожидаемым результатом:

Symbol Date        Close     High     Low      Open   Volume
TSLA   2018-05-24  277.85  281.110  274.89  278.4000  4190598
       2018-05-25  278.85  279.640  275.61  277.6252  3875082
       2018-05-28  278.85  278.850  278.85  278.8500        0
       2018-05-29  283.76  286.500  276.15  278.5100  5666640
       2018-05-30  291.72  295.005  281.60  283.2900  7428352

Ticker Symbol yyfy is not available!

Symbol Date        Close    High     Low    Open    Volume
AAPL   2018-05-24  188.15  188.84  186.21  188.77  20330134
       2018-05-25  188.58  189.65  187.65  188.23  17460963
       2018-05-28  188.58  188.58  188.58  188.58         0
       2018-05-29  187.90  188.75  186.87  187.60  22514075
       2018-05-30  187.50  188.00  186.78  187.72  18430891

Ticker Symbol QQQQ is not available!
...