見出し画像

Bybit 機械学習のためのデータ収集用サンプルコード

かなり機械学習の初心者に向けての内容になります。この連休を利用して「シストレ始めよう!」とか「機械学習始めてみるか」って人多いんじゃないですかね。知りませんけど。そういう方達に向けてです。こういうのが初めての人ってなんだかんだ機械学習の技術的な悩みというよりかは、そもそもデータが集めらえないって感じだと思うんですよね。そういう方達に向けてBybitのヒストリカルデータを任意の足に加工するプログラム貼っときます。参考にどうぞ。またもっと一般的な方法や効率的な方法があるかもしれませんがそこら辺はご容赦ください。

ちなみにこれは3月のヒストリカルデータを15分足に加工して任意のcsvファイルに出力するプログラムです。元々のデータが1分足しかなかったのでこんな感じで加工しなきゃいけません(私の知る限り)。他の足に加工したい方はパラメータいじってくれれば多分大丈夫です。

import numpy as np
import pandas as pd
import math

# ohlcに1ヶ月分の価格データを挿入
ohlc_15m = pd.DataFrame()
for i in range(1,32):
   if i < 10:
       url = "https://public.bybit.com/spot_index/BTCUSD/BTCUSD2021-03-0{}_index_price.csv.gz"
   else:
       url = "https://public.bybit.com/spot_index/BTCUSD/BTCUSD2021-03-{}_index_price.csv.gz"
   if i == 1:
       ohlc = pd.read_csv(url.format(str(i)))
       continue
   df = pd.DataFrame()
   df = pd.read_csv(url.format(str(i)))
   ohlc = pd.merge(ohlc,df,how='outer')
ohlc_15m['open'] = [ohlc['open'][15*i] for i in range(0,2880)]
ohlc_15m['high'] = [ohlc['high'][i*15:(i+1)*15].max() for i in range(0,2880)]
ohlc_15m['low'] = [ohlc['low'][i*15:(i+1)*15].min() for i in range(0,2880)]
ohlc_15m['close'] = [ohlc['close'][15*i-1] for i in range(1,2881)]

ohlc_15m.to_csv('data.csv',index=False)

この記事が気に入ったらサポートをしてみませんか?