私はYahoo finance APIから情報を取得するスクリプトを作成していますが、APIはかなり遅いですが、それを使用するためには機能します。スクリプトのテスト中、私はIndexOutOfBounds例外が発生していることを知りました。調査の結果、Yahoo!ファイナンスは株式の1日分欠けていることを除いて株価情報を返すことがわかりました。より広い期間を使用すると、より長い期間を使用するときに例外が発生するため、より多くの日数が失われますが、後で修正できるのは自分のコード内にあると思っています。Yahoo finance API特定の日にデータがありません
Yahoo!ファイナンスAPIに株価情報の全期間がないとAPIが役に立たなくなる他の誰かがこれを経験していて、そこに何か解決策がありますか?データを取得するために別の方法を使用する必要があると私は推測しています。
今、このPythonモジュールhttps://pypi.python.org/pypi/yahoo-financeを使用しています。
Yahoo financeは私が現在必要としている情報が含まれており、データを照会するために必要な証券取引所をサポートしている唯一のAPIです。
更新: はい、問題を再現できます。以下は再生成するコードです:
>>> import datetime as dt
>>> import yahoo_finance as yf
>>>
>>> quote = yf.Share('GJF.OL')
>>> date_from = str(dt.date.today() - dt.timedelta(days=5))
>>> date_to = str(dt.date.today())
>>> quote_his = quote.get_historical(date_from, date_to)
>>> import pprint
>>> pprint.pprint(quote_his)
[{'Adj_Close': '156.50',
'Close': '156.50',
'Date': '2016-10-14',
'High': '156.50',
'Low': '153.10',
'Open': '153.50',
'Symbol': 'GJF.OL',
'Volume': '487600'},
{'Adj_Close': '153.60',
'Close': '153.60',
'Date': '2016-10-13',
'High': '153.60',
'Low': '152.50',
'Open': '153.30',
'Symbol': 'GJF.OL',
'Volume': '508800'}]
>>>
このコードは、月曜日(2016年10月17日)の株価情報をプリントアウトする必要がありますが、それはしていません。私が別の株式を選択した場合、私は月曜日の株価情報も辞書に入れます。
更新2: 別のモジュールystockquoteを試してみましたが、同じ結果が得られました。私は木曜日と金曜日の情報を取得しますが、月曜日は取得しません。私は別の見積もりを求める場合、私は3日間のすべての情報を取得します。私はyahooファイナンスサイトに行くとグラフなどの月曜日からの株価情報を持っています。
更新3: 株価の遅れに関連している可能性のあるデータがGJF.OLで見つかりました以下のようなAPIの歴史的な表があります。しかし、GJF.OL株の株価情報を受け取っていない日には、私はまだ他の株から株価情報を受け取ることができました。
私は現在、GJF.OL株の株価情報を受け取っていますが、株価情報の最後の165日間を株式から取得しようとしましたが、NAS.OL株から1日が欠落しています返されたデータにはその日のデータは含まれていませんが、他の株式にはその情報が含まれています。株式はNAS.OLであり、日付は2016年8月3日のデータがないところです。このデータが欠落している理由は何ですか?
あなたは、どの日およびどのストックを例に挙げることができますか?それを再現するAPIリンクまたはコードスニペットが理想的です。市場が週末や休暇のために閉鎖された場合、それはそれを説明することができます。 –
はい、回答を更新しました。 APIは実際には辞書に週末の日数が含まれないように巧妙であるため、空の辞書として表示されず、辞書からスキップされているだけです。 – exceed