2017-05-24 2 views
1

Pythonのpandas_datareader APIがYahoo financeの株式データを抽出できなくなったため、私はquandlを使用しています。これには、アカウントを設定し、コマンドターミナルに 'pip install quandl'を実行する必要があります。 BRK.Bのような珍しい株価情報を持っている場合は、pandas_datareader APIを使用してGoogleから株データを抽出しても問題ありません。完全停止しているティッカーでQuandlの株データを取得するには? Python

import pandas as pd 
import datetime 
from pandas_datareader import data, wb 
start = datetime.datetime(2016, 1, 1) 
end = datetime.datetime(2017, 1, 1) 
brk = data.DataReader("BRK.B", "google", start, end)["Close"] 
brk 

しかし、株価指数BRK.Bが完全停止しているため、quandlではこれが機能しません。

import quandl 
brk = ["BRK.B"] 
for stk in brk: 
    b = quandl.get("WIKI/{}".format(stk), 
     authtoken = "Mixture of numbers, and lower/upper case letters", 
     start, end)["Adj. Close"] 

これによりコードが壊れます。しかし、普通株式の株価を「[BRK.B」]と交換した場合、「AAPL」と言うと、それは完璧に機能します。 私はquandl APIを使用してS & P 500からすべての505株を抽出したいと思っていますが、一部の株式ティッカーには "。"それらの中ではうまくいかないでしょう。 私はformat(stk.replace(".", "-"))を試しましたが、それもうまくいきませんでした。

ご協力いただければ幸いです。ところで、知らない人のために。 quandlアカウントを設定し、quandlアカウント設定からAPIキーコードを取得し、それをコピーしてauthtokenとして貼り付ける必要があります。

答えて

2

アンダースコアで置き換えようとしましたか?

"WIKI/{}".format(stk.replace(".", "_")) # replacing . with _ instead of - 

正しく覚えていれば、特定の列をデータからスライスするためにドットが使用されます。

+0

こんにちは、エラッタ、申し訳ありませんが、あなたは何を言っているのか分かりません。どんなコードでも読みやすくなります。自分でコードを試してみてください。quandlアカウントが設定されていることを確認し、quandlアカウント設定からauthtokenを取得できます。 – MichaelRSF

+0

@MichaelRSF私の答えを更新しました。私はもうQuandlのアカウントを持っていませんが、私は少し前にそれを少し使っていました... – errata

+0

ありがとうございました。私はあなたのメッセージを正しく読んでいたはずです。 pandas_datareaderが "yahoo"を使用していると、 'stk.replace("、 " - ") 'になります。私は調整済みの終値を必要としているのでquandlを使用しています.pandas_datareaderは "google"で終値を与えます。調整後の終値はすべての取引費用、配当などを考慮しているためです。 – MichaelRSF

関連する問題