0

私は Python を初めて使用しますが、完了しようとしている課題があります。これはクラス関連ではありませんが、Python で Web サイトを使用する方法を学ぼうとしています。

私は次のことをしたい:

この Web サイトにアクセスしてください: http://finance.yahoo.com/q/op?s=FB&m=2012-12

市場価格を下回るストライクに対応するすべてのストライクとアスクを、strike と ask という名前の配列に保存します

明確にするために写真を見てください: ここに画像の説明を入力

画像に対応する配列の例は次のとおりです。

ストライク = [10,11,12,13,14,15,16,17,18,19,20]

質問 = [10.20,8.20,7.20,6.30,5.30,4.40,3.50,2.75,2.05,1.45]

21 - 27 ストライクは市場価格を上回っているため、獲得できません。これがpythonで可能かどうか教えてください。ありがとうございました。

これは割り当てではないため、これをより簡単に行うことができる他のプログラミング言語も高く評価されますが、配列に格納されたデータが必要です

4

5 に答える 5

1

編集: Yahoo! のオプション ページを参照していることに気付きました。基本的なストックサービスではなく、ファイナンス。彼らはそれ用の API を持っていると確信していますが、ストックのものと同様に、おそらく公開されていません。興味があるので、探してみようかな。

在庫データを CSV 形式で返す Web サービスがあります。株式クエリの基本的な形式は次のとおりです。

http://finance.yahoo.com/d/quotes.csv?s=GOOG&f=nl1

これが取る 2 つの GET パラメータは、シンボル リスト ('s=' で指定) と結果の CSV ファイルの形式 ('f=' で指定) です。上記の例では、Google のティッカー シンボルを使用し、形式は最終価格を取得することでした。複数のシンボルと複数の形式を使用して、必要な株式データを取得できます。

フォーマット変数の完全なリストについては、このページをご覧ください。

したがって、実際に行う必要があるのは、正しい URL を作成し、urllib2 ライブラリの urllib2.open(url) メソッドを使用して CSV ファイルを取得することだけです。その後、csv ライブラリで基本的な CSV 解析を実行するだけです。

または、これらすべてが構築されたライブラリがあります。私はそれらのどれも使用していませんが、覚えている場合はコメントとしていくつか投稿します.

于 2012-11-13T03:30:08.990 に答える
0

あなたが必要としているのはパンダです

これがスニペットの例です。

  1 from pandas.io.data import DataReader                                                                                        
  2 from datetime import datetime
  3  
  4 dr = DataReader("YHOO", "yahoo")
  5  
  6 print "Yahoo's stock price over time"
  7 print dr["Volume"]
  8  
  9 yh_by_date = DataReader("YHOO",  "yahoo", datetime(2009,1,1))
 10  
 11 print "We want to restrict it based on specific dates"
 12 print yh_by_date["Adj Close"][-100:]
于 2012-11-13T04:10:19.547 に答える
0

はい、yahoo にはhttp://finance.yahoo.com/d/quotes.csvという APIがあり、いくつかの引数を渡すことができます。詳細については、 https://github.com/bunburya/bunbot/blob/master/utils/stock.pyを参照してください。

于 2012-11-13T03:29:32.403 に答える
0

返信ありがとうございます。綺麗なスープを使ってこれができました

;)

于 2012-11-13T05:23:50.353 に答える
0

考えられる解決策の1つは、結果をスクレイピングしてリストに保存することです(私は推測します)。lxml という Python ライブラリを使用してページをスクレイピングできます。http://lxml.de/

同様のチュートリアルを紹介します。 http://www.techchorus.net/web-scraping-lxml

チュートリアルを開始する前に、xpath を 1 回実行します。

于 2012-11-13T03:26:36.717 に答える