ヤフーファイナンスやグーグルファイナンスから過去の株価を自動でダウンロードする方法はありますか(csv形式)? できればPythonで。
質問する
129886 次
6 に答える
106
Python でこのような時系列を扱う場合pandas
は、不可欠です。良いニュースがあります。Yahoo: の履歴データ ダウンローダが付属していますpandas.io.data.DataReader
。
from pandas.io.data import DataReader
from datetime import datetime
ibm = DataReader('IBM', 'yahoo', datetime(2000, 1, 1), datetime(2012, 1, 1))
print(ibm['Adj Close'])
パンダ >= 0.19 の更新:
pandas.io.data
モジュールはそれ以降削除されていますpandas>=0.19
。代わりに、別のpandas-datareader
パッケージを使用する必要があります。インストール:
pip install pandas-datareader
そして、Pythonでこれを行うことができます:
import pandas_datareader as pdr
from datetime import datetime
ibm = pdr.get_data_yahoo(symbols='IBM', start=datetime(2000, 1, 1), end=datetime(2012, 1, 1))
print(ibm['Adj Close'])
于 2012-09-20T10:05:41.657 に答える
42
簡単な答え: はい。Python のurllibを使用して、必要な株式の履歴データ ページを取得します。Yahoo! ファイナンス; Google は、信頼性が低く、データ カバレッジが少なく、取得した後の使用方法がより制限されています。また、Google は ToS でデータをスクレイピングすることを明確に禁止していると思います。
より長い回答: これは、特定の会社に関するすべての履歴データを取得するために使用するスクリプトです。特定のティッカー シンボルの履歴データ ページを取得し、そのシンボルで指定された csv ファイルに保存します。プルする独自のティッカー シンボルのリストを提供する必要があります。
import urllib
base_url = "http://ichart.finance.yahoo.com/table.csv?s="
def make_url(ticker_symbol):
return base_url + ticker_symbol
output_path = "C:/path/to/output/directory"
def make_filename(ticker_symbol, directory="S&P"):
return output_path + "/" + directory + "/" + ticker_symbol + ".csv"
def pull_historical_data(ticker_symbol, directory="S&P"):
try:
urllib.urlretrieve(make_url(ticker_symbol), make_filename(ticker_symbol, directory))
except urllib.ContentTooShortError as e:
outfile = open(make_filename(ticker_symbol, directory), "w")
outfile.write(e.content)
outfile.close()
于 2012-09-14T23:29:54.900 に答える