저번에 파이썬을 사용한 딥러닝 코인 예측 코드를 포스팅한 적이 있다.
그런데 최근들어 해당 코드를 그냥 실행하면 timezone 오류가 발생하게되어 코드를 수정했고 기존의 글도 수정하긴 했지만 그래도 새글로도 다시한번 포스팅하겠다.
https://colab.research.google.com/drive/1mnsqaE1AowwlQ9456kpBAOL7ranBVP0J?usp=sharing
위 링크를 통해 구글 colab으로 접속해 코드를 바로 사용해도 좋고 아래의 코드를 직접 복붙해도 된다.
1.
1 2 | !pip install pyupbit !pip install pykrx | cs |
2.
1 2 3 4 | import pyupbit from pykrx import stock from fbprophet import Prophet from fbprophet.plot import add_changepoints_to_plot | cs |
3.
1 2 3 4 | # BTC 최근 200시간의 데이터 불러옴 dd = pyupbit.get_ohlcv(“KRW-BTC”, interval=“minute60”) df = dd.tz_localize(None) | cs |
이부분에서 원하는 코인과 시간봉 수정을 하면 된다.
이더리움을 확인하고 싶으면 KRW-ETH로 그리고 4시간봉으로 확인하고 싶으면 minute240으로.
4.
1 2 3 4 5 | # 시간(ds)와 종가(y)값만 남김 df = df.reset_index() df[‘ds’] = df[‘index’] df[‘y’] = df[‘close’] data = df[[‘ds’, ‘y’]] | cs |
5.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | #학습 #튜닝 전 # model = Prophet() # model.fit(data) #학습 #튜닝 후 model = Prophet( seasonality_mode=‘multiplicative’, changepoint_prior_scale=0.5, changepoint_range=0.9, ) model.fit(data) | cs |
6.
1 2 3 4 | #24시간 예측 future = model.make_future_dataframe(periods=24, freq=‘H’) forecast = model.predict(future) | cs |
24시간 이상을 예측하고 싶다면 값을 조정하면 된다.
하지만 당연히 예측 시간이 늘어나면 늘어날 수록 정확도는 보장할 수 없게 된다.
7.
1 2 3 | # 그래프1 fig1 = model.plot(forecast) #a = add_changepoints_to_plot(fig1.gca(), model, forecast) | cs |
8.
1 2 | # 그래프2 fig2 = model.plot_components(forecast) | cs |
9.
1 2 3 4 5 6 7 | #가격 조회 nowValue = pyupbit.get_current_price(“KRW-BTC”) closeValue = forecast[‘yhat’].values[–1] print(“현재가 : “ , nowValue) print(“24시간뒤의 가격: “, closeValue) | cs |
10.
1 | forecast | cs |
이 코드를 사용해서 얻은 값을 절대적으로 신뢰하면 당연히 안된다.
그냥 참고용도로만 사용하시길..