pandas Python データ分析 プログラミング

【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の使い方

 

 

 

 

 


プログラミング・スクレイピングツール作成の相談を受け付けています!

クラウドワークス・ココナラ・MENTAなどでPython・SQL・GASなどのプログラミングに関する相談やツール作成などを承っております!

過去の案件事例:

  • Twitter・インスタグラムの自動化ツール作成
  • ウェブサイトのスクレイピングサポート
  • ダッシュボード・サイト作成
  • データエンジニア転職相談

これまでの案件例を見る

キャリア相談もお気軽に!文系学部卒からエンジニア・データサイエンティストへの転職経験をもとに、未経験者がどう進むべきかのアドバイスを提供します。


スポンサーリンク
/* プログラミング速報関連記事一覧表示 */
ミナピピンの研究室

コメント

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