ティッカー値のリストがあります
ticker = ["AAPL","MSFT","GOOG"]
ティッカーリスト内のすべての株式の価格が「高い」値のDFを作成したいと思います。
空のDFの作成:
high_df = pd.DataFrame(columns = ticker)
DFの充填:
import pandas_datareader as web
import datetime
start = datetime.datetime(2010,1,1)
end = datetime.datetime(2010,2,1)
for each_column in high_df.columns:
high_df[each_column] = web.DataReader(each_column, "yahoo",start,end)["High"]
これは機能しますが、ティッカーリストが膨大な場合は時間がかかります。スピードアップするためのアプローチに関する他の提案はありますか?DFが満たされる方法でスピードアップします。
並列計算が必要なようです。
from joblib import Parallel, delayed
def yourfunc(tic):
start = datetime.datetime(2010, 1, 1)
end = datetime.datetime(2010, 2, 1)
result=web.DataReader(tic, "yahoo", start, end)["High"]
return result
results = Parallel(n_jobs=-1, verbose=verbosity_level, backend="threading")(
map(delayed(yourfunc), ticker ))
変換については、 pd.DataFrame(results,columns=ticker)
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加