【Python】pandasで時系列データのOHLC(始値・最高値・最安値・終値)を算出する

この記事は約3分で読めます。

 

前回のやったこと

 

前回は 関連記事:【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の使い方

 

 

 

 

 

コメント

タイトルとURLをコピーしました