前回のやったこと
前回は 関連記事:【Python】pandasのresample()で株価データを月/日/時ごとに再集計で時系列データを1週間や1か月といった一定期間ごとに再集計する方法について紹介しましたが、今回は株価データの分析では欠かせない。OHLC(始値・最高値・最安値・終値)が簡単に算出できるohlc()
について紹介していきます。
データを用意する
前回は日経平均のデータを使用したので、今回はビットコインのデータを使用したいと思います。
#ライブラリの読み込み from datetime import datetime import pandas as pd import requests import json import pandas as pd # ビットコインの価格を取得する関数 def get_btcprice(ticker, _max): url = 'https://api.coingecko.com/api/v3/coins/' + ticker + '/market_chart?vs_currency=jpy&days=' + _max r = requests.get(url) r2 = json.loads(r.text) return r2 # jsonから価格データだけをPandasに変換して抽出する関数 def get_price(r2): s = pd.DataFrame(r2['prices']) s.columns = ['date', 'price'] date = [] for i in s['date']: tsdate = int(i / 1000) loc = datetime.utcfromtimestamp(tsdate) date.append(loc) s.index = date del s['date'] return s # ビットコインの全期間の価格データを取得する r2 = get_btcprice('bitcoin', 'max') btcprice = get_price(r2) btcprice.head()
参照:https://github.com/beginerSE/bitcoin_price_scraping/blob/master/bitcoin_price_scraping.py
関連記事:【Python】CoinGeckoのAPIからビットコイン・アルトコインの価格データを取得する
pandasでOHLC(始値・最高値・最安値・終値)を計算する
pandasのresampleではデータを一定期間ごとに集計するだけではなく、OHLC(始値・最高値・最安値・終値)も計算することができます。これは株価デ―タの分析にあたって非常に便利です、
# OHLCを計算する btcprice.resample('W').ohlc()
関連記事:【Python】pandasでビットコイン価格のローソク足と移動平均線を計算してプロットする
関連記事:【Python】テクニカル指標が簡単に計算できるTa-libの使い方
コメント