투자

비트코인은 하루 중 몇시에 가장 가격이 쌀까?

크르릉크아앙 2022. 10. 24. 02:31
반응형

비트코인이 나스닥을 따라다니고 나스닥은 유럽장 영향도 받고,

21시 30분에 발표되는 지표는 나스닥에 영향을 주고,

22:30분에는 미국 주식시장 개장도 하고 등등

비트코인의 가격이 하루 안에서 뭔가 싸이클이 돌지 않을까 하는 느낌이 든다.

 

아침에 아시아장 열리면서 비실비실대다가(한중일 주식시장이 망해가고 있으니) 

15~16시쯤에 바닥을 찍고, 16시에 유럽장 열리면서

유럽 상태가 멀쩡하면 슬금슬금 오르는 듯한 느낌이 들어서 데이터를 들여다봤다.

(나는 pandas를 잘 쓸 줄 모른다. 구글링 해가며 겨우겨우 했다.)

 

결론: 틀렸다. 

 

일단 바이낸스 5분봉을 가지고 왔다.

2022년만 받았어야 되는데 2017년 데이터까지 다 받았다.

df5 = pd.read_json('freqtrade/user_data/data/binance/BTC_USDT-5m.json')
df5.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 542744 entries, 0 to 542743
Data columns (total 6 columns):
 #   Column  Non-Null Count   Dtype  
---  ------  --------------   -----  
 0   0       542744 non-null  int64  
 1   1       542744 non-null  float64
 2   2       542744 non-null  float64
 3   3       542744 non-null  float64
 4   4       542744 non-null  float64
 5   5       542744 non-null  float64
dtypes: float64(5), int64(1)
memory usage: 24.8 MB

freqtrade를 이용해서 json을 받아서 읽었더니 column명도 안들어가 있다.

json 내부에는 들어가 있을 텐데.. 굳이 열어보고 싶지는 않아서 그냥 넣어줬다.

생각해보니 그냥 1시간봉 데이터를 받아도 되는데...

df5.columns = ['timestamp','open','high','low','close','volume']

 

밀리세컨드 단위의 timestamp를 일단 datetime으로 바꾸고,

날짜별로 제일 낮은 시간대를 구해야 하니까 날짜만 잘라서 따로 컬럼에 넣어줬다.

df5['datetime'] = pd.to_datetime(df15['timestamp'], unit='ms')
df5['date'] = df5['datetime'].dt.normalize()

 

날짜별로 group by한 다음에 5분봉들의 저가(낮은 가격)의 최저값의 인덱스를 찾았다.

pandas는 뭔가 데이터를 필터링? 한다음에 뭔가 하면 이건 복제본이 아니야 어쩌고 하는 경고가 나왔던 거 같아서

copy()한번 해줬다. (다시 말하지만 pandas 잘 모른다.)

low_df5 = df5.loc[df5.groupby('date').low.idxmin()].copy()

 

이랬더니 datetime이 사라져서 timestamp를 가지고 다시 datetime 만들고 여기서 hour,minute를 뽑았다.

(index도 아니었고, as_index=False를 해줘도 사라진다. group by를 내가 오해하고 있는 것 같다.) 

low_df5['datetime'] = pd.to_datetime(low_df5['timestamp'], unit='ms')
low_df5['hour'] = low_df5['datetime'].dt.strftime('%H')
low_df5['minute'] = low_df5['datetime'].dt.strftime('%M')

 

그러고 나서 hour들이 각각 몇 번 나왔는지 계산한 다음에 그래프를 출력했다.

low_df5.hour.value_counts().plot(kind='bar')

 

 

1,891일 동안 00시가 최저가였던 날이 311일이나 되고, 23시였던 날이 117일이나 된다.

의미가 있어 보이지는 않는다.

반응형