비트코인의 히스토리컬 데이터(1분마다) 취득
소개
지금은 계속이지만, 비트 코인의 가격을 딥 러닝을 이용해 예측하려고합니다. 또한 대상에 비트코인을 선택한 이유는 다음과 같습니다.
이 게시물에서는 우선 데이터를 검색하는 것으로 시작하고 싶습니다.
목차
1. 틱 데이터 취득
JPYBTC의 히스토리컬 데이터(1분마다)는 간단하게 입수할 것이라고 생각하고 있었습니다만, 그렇게 간단하게는 되지 않았습니다. 원래 과거의 정보를 제공하지 않거나 과거의 정보를 취득할 수 있는 API를 제공하고 있는 거래소에서도, 실제로 취득할 수 있는 것은 일일 등의 간격이 큰 경우가 대부분입니다.
또한 cryptowatch 은 1분마다의 데이터를 실제로 취득할 수 있습니다만, 차트에 보이고 있는 이상 과거의 데이터는 취득할 수 없는 것 같고, 1주일전의 것은 취득할 수 없습니다.
데이터가 1주일도 되지 않으면 상당히 문제로 오버피팅해 버릴 가능성도 있고, 원래 데이터의 신뢰성 문제도 있습니다.
거기서, 이하의 사이트에서 과거로부터의 방대한 틱 데이터를 발견했으므로, 그것을 처리해 1분 마다의 데이터로 변환하는 것을 생각합니다.
2. 틱 데이터의 분당 종가로 변환
이하의 코드에 의해 틱 데이터로부터 1분 마다의 종가의 데이터를 생성합니다. 기간을 2월부터 하고 있는 것은, 2월 이전에는 꽤 불안정한 움직임을 하고 있었으므로, 우선은 생략하고 있습니다.
import pandas as pd
from datetime import datetime, timedelta
filename = 'bitflyerJPY.csv'
header = ['timestamp', 'price', 'volume']
df = pd.read_csv(filename, names = header)
df = df.drop(['volume'], axis=1)
df['timestamp'] = pd.to_datetime(df['timestamp'], unit='s')
df_2 = pd.DataFrame()
start_date = datetime(2018, 2, 1)
n_date = 30
for i in (start_date + timedelta(minutes = x) for x in range(60 * 24 * n_date)):
df_2 = df_2.append(df.loc[(df['timestamp'] > i).idxmax()], ignore_index=True)
df_2.iat[-1, 1] = i
df_2 = df_2.set_index('timestamp')
df_2.to_csv('bitflyerJPY_2.csv', index=True)
위의 프로그램을 실행 한 후 4 시간 정도 (더 효율적인 쓰기가 있다면 알려주세요)
다음과 같이 1분마다 종가를 얻을 수 있었습니다.
이상입니다.
Reference
이 문제에 관하여(비트코인의 히스토리컬 데이터(1분마다) 취득), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Hir0fumi/items/35e69fcfbe90acde9298
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
이하의 코드에 의해 틱 데이터로부터 1분 마다의 종가의 데이터를 생성합니다. 기간을 2월부터 하고 있는 것은, 2월 이전에는 꽤 불안정한 움직임을 하고 있었으므로, 우선은 생략하고 있습니다.
import pandas as pd
from datetime import datetime, timedelta
filename = 'bitflyerJPY.csv'
header = ['timestamp', 'price', 'volume']
df = pd.read_csv(filename, names = header)
df = df.drop(['volume'], axis=1)
df['timestamp'] = pd.to_datetime(df['timestamp'], unit='s')
df_2 = pd.DataFrame()
start_date = datetime(2018, 2, 1)
n_date = 30
for i in (start_date + timedelta(minutes = x) for x in range(60 * 24 * n_date)):
df_2 = df_2.append(df.loc[(df['timestamp'] > i).idxmax()], ignore_index=True)
df_2.iat[-1, 1] = i
df_2 = df_2.set_index('timestamp')
df_2.to_csv('bitflyerJPY_2.csv', index=True)
위의 프로그램을 실행 한 후 4 시간 정도 (더 효율적인 쓰기가 있다면 알려주세요)
다음과 같이 1분마다 종가를 얻을 수 있었습니다.
이상입니다.
Reference
이 문제에 관하여(비트코인의 히스토리컬 데이터(1분마다) 취득), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Hir0fumi/items/35e69fcfbe90acde9298텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)