0

一部のコードを非同期に書き直す方法を考えようとしています。API から ~7500 のデータセットをダウンロードし、それらを .csv に書き込む必要があります。再現可能な例を次に示します (アルファ バンテージ用の無料の API キーがあると仮定します)。

from alpha_vantage.timeseries import TimeSeries
import pandas as pd
import numpy as np
api_key = ""

def get_ts(symbol):
    
    ts = TimeSeries(key=api_key, output_format='pandas')
    data, meta_data = ts.get_daily_adjusted(symbol=symbol, outputsize='full')
    fname = "./data_dump/{}_data.csv".format(symbol)
    data.to_csv(fname)

symbols = ['AAPL', 'GOOG', 'TSLA', 'MSFT']

for s in symbols:
    get_ts(s)

APIを作った人がalpha_vantageasyncioで使う記事を書いてくれているのですが、ここのようにデータのpullとcsvの書き込みの2つの関数を作るべきか迷っています

以前に asyncio を使用したことがないので、ポインタがあれば大歓迎です。可能であれば、ダウンロード時間を 3 時間以内に短縮したいと考えています。

編集:もう 1 つの注意点は、私はこれについて研究者を支援しているため、Jupyter ノートブックを使用していることです。asyncio に関する注意事項はこちらを参照してください。

4

1 に答える 1