2011-06-18 15 views
-1

IからRスクリプトを実行しようとしています:私はRで新しいですが、指示されたとおり、私は次のことを実行したとき、私は本当に奇妙なエラーが発生します http://www.math.tu-berlin.de/~mkeller/index.php?target=rcodeヤフーオプションデータはRですがエラーがありますか? PythonやC#でより良い例ですか?

http://www.math.tu-berlin.de/~mkeller/R-progs/yahoo_opt.R 説明<を選ぶ - yahoo.getAllOptions( "IBM")

エラーは次のとおりです。

URLを試す 'http://finance.yahoo.com/q/op?s=IBM & m = 2011-06' コンテンツタイプ 'text/html; :文字セット= UTF-8' の長さは不明 開いたURL はKB

読む2616個のアイテムyahoo.getOption(ティッカー=ティッカー、成熟=マット[j]と、get.short.rate = FALSE)で エラー57をダウンロード予期しないデータ形式

これを修正する方法を知っている人はいますか?私はRの新人です。これは初心者の質問かもしれませんが、私は困惑しています。 誰かがC#やPythonでより良いソースの例を知っていますか?私は気にしない、私はちょうどYahooオプションのデータを取得したい。 ありがとう

答えて

0

あなたはYQLコンソールとdatatables.orgについて聞いたことがありますか? XMLやJSONオブジェクトを返すRESTリクエストを使用して、多数のYahoo(およびその他の)データテーブルにアクセスできます。 Pythonのurllibを使って簡単にアクセスできる素敵なオプションテーブルがあります。次の例を考えてみましょう:

>>> import urllib2 
>>> import json 
>>> url='http://query.yahooapis.com/v1/public/yql?q=SELECT%20*%20FROM%20yahoo.finance.options%20WHERE%20symbol%3D\"goog\"%20AND%20expiration%3D\"2011-08\"&format=json&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback=' 
>>> req = urllib2.Request(url) 
>>> response = urllib2.urlopen(req) 
>>> result = json.loads(response.read()) 

resultは、2011-08の有効期限を持つGOOGのすべてのオプションを含むjsonオブジェクトです。あなたがURLをよく見ると、Googleのシンボルと有効期限が表示されます。これはプログラムで簡単に変更できます。

>>> result['query']['results']['optionsChain']['option'][0] 
{u'strikePrice': u'400', u'lastPrice': u'110.10', u'vol': u'1', u'type': u'C', u'symbol': u'GOOG110820C00400000', u'openInt': u'9', u'ask': u'90.5', u'changeDir': None, u'bid': u'87', u'change': u'0'} 
>>> result['query']['results']['optionsChain']['option'][10] 
{u'strikePrice': u'490', u'lastPrice': u'21.20', u'vol': u'350', u'type': u'C', u'symbol': u'GOOG110820C00490000', u'openInt': u'56', u'ask': u'21.3', u'changeDir': u'Down', u'bid': u'20.8', u'change': u'-6.9'} 

結果をXMLで返すこともできます。

Google "yql consol"、最初のリンクをクリックしてください。右側にある[コミュニティテーブルを表示]リンクをクリックします。 Yahooまでスクロールします。 yahoo.finance.optionsをクリックします。あなたは残りを把握することができるはずです:)

関連する問題