Как найти любой индекс из Yahoo с помощью pandas-datareader

Я хочу использовать поиск для любого онлайн-индекса, в том числе с цифрами. Случайный пример:

https://uk.finance.yahoo.com/quote/YSM6.AX/futures?p=YSM6.AX

Наивный метод — использовать pandas-datareader:

from pandas_datareader import data as datareader
online_data = datareader.DataReader('YSM6.AX', 'yahoo', start, end)

Однако это не работает. Я думаю, что цифры в тикере не обрабатываются должным образом. Эта команда отлично работает, например. "ААПЛ".

Как мне заставить это работать для любого индекса?


person EB88    schedule 03.04.2017    source источник


Ответы (2)


По ссылке YSM6.AX видно, что по этой акции нет данных. Если вы хотите получить несколько акций и получить конкретное скорректированное закрытие, вы можете использовать этот код. Он принимает во внимание любые забавные биржевые тикеры, которые имеют либо «-», либо, в случае YSM6.AX, «.» внутри тикера.

    import pandas as pd
    import datetime
    from pandas_datareader import data, wb
    tickers = ["BRK.B", "AAPL", "MSFT", "YHOO", "JPM"]
    series_list = []

    start = datetime.datetime(2012, 4, 5)
    end = datetime.datetime(2017, 3, 28)
    for security in tickers:
        s = data.DataReader(security.replace(".","-"),"yahoo",start, end )["Adj Close"]

        s.name = security
        series_list.append(s)

    df = pd.concat(series_list, axis=1)

    stocks= pd.DataFrame(df)
    stocks
person MichaelRSF    schedule 05.04.2017
comment
Спасибо, Майкл. - person EB88; 07.04.2017

Если вы посмотрите на предоставленную вами ссылку, YSM6 — это фьючерсный контракт на ASX. В частности, это срок действия M6, то есть 2016-06. И у Yahoo больше нет данных по этому контракту на их сайте — возможно, потому, что срок его действия истек, или, возможно, потому, что для него никогда не было доступных данных. Кроме того, похоже, что биржа больше не выпускает этот продукт (3-летние фьючерсы на процентные свопы по австралийским ставкам).

В вашем вопросе говорится, что вам нужны данные о запасах. Вот пример реальной акции с числовым символом:

https://uk.finance.yahoo.com/quote/7203.KL/?p=7203.KL

person John Zwinck    schedule 03.04.2017
comment
Спасибо, Джон, очень быстрый и полезный ответ. Вы правильно ответили на мой вопрос, но я внес поправку, пока вы отвечали. Мои извинения, я все еще довольно новичок в этом. - person EB88; 03.04.2017
comment
Я вернулся к исходному вопросу и принял ваш ответ. Спасибо. - person EB88; 03.04.2017