質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
JupyterLab

JupyterLabは、Jupyter notebookの後継の対話型開発環境(IDE)です。データの可視化がインタラクティブで、プラグイン作成により新しいコンポーネントの追加および既存のコンポーネントも統合可能。サーバに閉じているため、データ分析に向いています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

1回答

3351閲覧

yahoo finance api2 による株価データ取得処理が遅くなった。

masamaaasa

総合スコア0

JupyterLab

JupyterLabは、Jupyter notebookの後継の対話型開発環境(IDE)です。データの可視化がインタラクティブで、プラグイン作成により新しいコンポーネントの追加および既存のコンポーネントも統合可能。サーバに閉じているため、データ分析に向いています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/12/15 11:01

編集2021/12/15 11:02

yahoo finance api2にて、下記コードでデータを取得しようとしています。

python

1from yahoo_finance_api2 import share 2from yahoo_finance_api2.exceptions import YahooFinanceError 3S_year = 2 4S_week = 1 5for code in tqdm(range(10000)): 6 company_code = str(code) + '.T' 7 my_share = share.Share(company_code) 8 if code<1300: 9 continue 10 try: 11 symbol_data = my_share.get_historical(share.PERIOD_TYPE_YEAR,S_year,share.FREQUENCY_TYPE_WEEK,S_week) 12 except YahooFinanceError as e: 13 continue 14 15 ~処理省略~

この書き方で以前は1銘柄あたり数秒で処理できていたのですが、最近急に処理速度が遅くなってしまいました。(1銘柄あたり1分ほど)
途中で処理を止めると、

python

1symbol_data = my_share.get_historical(share.PERIOD_TYPE_YEAR,S_year,share.FREQUENCY_TYPE_WEEK,S_week)

ここの処理で時間をとっているようです。

原因として何が考えられるでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

benfred/py-spy: Sampling profiler for Python programs

上記のライブラリを使えば具体的にどこの箇所で時間が掛かっているか見れるので導入を検討してみてください。

「推測するな、計測せよ」という格言があります。下手に推測して間違った箇所の最適化を行うよりも最初から計測してボトルネックとなる箇所をピンポイントで修正した方がトータルで時間が節約出来るはずです。

投稿2021/12/15 17:06

yuokada

総合スコア550

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

masamaaasa

2021/12/21 11:57

連絡遅れて申し訳ありません。ご回答、ありがとうございます! 中身の方、まだ理解できておりませんので、まず内容の理解からしていこうと思います!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問