5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

S&P 500のDaily値を取得する

Posted at

Financial Modeling Prep

米国株の株価、会社情報を取得するAPIを提供している

ソースコード

URL作成

url = f"https://financialmodelingprep.com/api/v3/historical-price-full/%5EGSPC?serietype=line&apikey={apikey}"

f文字列

フォーマット済み文字列リテラル
変数をそのまま指定できて便利

S&P 500のsymbol

S&P 500のsymbolは^GSPC

serietype

serietype=lineを付けないとより詳細な情報を取得できるが(volumeやvmapなど)5年分しか取得できない
serietype=lineを付けるとpriceしか情報はないが、全期間取得できる

DatetimeIndexのDataFrame作成

response = requests.get(url)
content = response.content.decode()
json_content = json.load(StringIO(content))
df = pd.DataFrame(json_content["historical"])
df.date = pd.to_datetime(df.date)
df = df.set_index("date")

requestsとStringIO

requestsとStringIOを使っているのは
pandasでread_jsonするときにキャッシュでアクセスする方法
のため

historical

APIで取得できるフォーマットはhistoricalキーに配列形式で与えられているので、historicalをDataFrameにする

DatetimeIndex化

df.dateをDatetimeIndex化する
pd.to_datetimeに渡せばいい
その後、set_indexでdateをindexにする

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?