pyupbit 라이브러리를 활용하여 upbit에서 비트코인을 자동매매하는 코드입니다. 조코딩 유튜브 채널에서 자세한 강의 영상을 보실 수 있습니다.

Overview

파이썬 비트코인 투자 자동화 강의 코드

by 유튜브 조코딩 채널

pyupbit 라이브러리를 활용하여 upbit 거래소에서 비트코인 자동매매를 하는 코드입니다.

파일 구성

  • test.py : 잔고 조회 (1강)
  • backtest.py : 백테스팅 코드 (2강)
  • bestK.py : 가장 좋은 k 값을 찾는 코드 (2강)
  • bitcoinAutoTrade.py : 변동성 돌파 전략 비트코인 자동매매 코드 (2강)
  • bitcoinAutoTradeWithMA.py : 변동성 돌파 전략 + 15일 이동평균선 이상 비트코인 자동매매 코드 (2강)
  • bitcoinAutoTradeWithSlack.py : 위 코드에 슬랙 붙여 놓은 것 (2강)
  • 강의 보러가기: https://youtube.com/playlist?list=PLU9-uwewPMe3KKFMiIm41D5Nzx_fx2PUJ
  • 위 코드는 "파이썬을 이용한 비트코인 자동매매 (개정판)"을 참고하여 제작되었습니다.
  • 참고 문헌: https://wikidocs.net/book/1665

Ubuntu 서버 명령어

  • (*추가)한국 기준으로 서버 시간 설정: sudo ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime
  • 현재 경로 상세 출력: ls -al
  • 경로 이동: cd 경로
  • vim 에디터로 파일 열기: vim bitcoinAutoTrade.py
  • vim 에디터 입력: i
  • vim 에디터 저장: :wq!
  • 패키지 목록 업데이트: sudo apt update
  • pip3 설치: sudo apt install python3-pip
  • pip3로 pyupbit 설치: pip3 install pyupbit
  • 백그라운드 실행: nohup python3 bitcoinAutoTrade.py > output.log &
  • 실행되고 있는지 확인: ps ax | grep .py
  • 프로세스 종료(PID는 ps ax | grep .py를 했을때 확인 가능): kill -9 PID

PID설명

You might also like...
Comments
  • bitcoinAutoTrade.py 실행시 can't compare offset-naive and offset-aware datetimes 메시지가 반복됩니다.

    bitcoinAutoTrade.py 실행시 can't compare offset-naive and offset-aware datetimes 메시지가 반복됩니다.

    (base) C:\autotrade>C:/Anaconda3/python.exe c:/autotrade/bitcoinAutoTrade.py autotrade start can't compare offset-naive and offset-aware datetimes can't compare offset-naive and offset-aware datetimes can't compare offset-naive and offset-aware datetimes can't compare offset-naive and offset-aware datetimes can't compare offset-naive and offset-aware datetimes can't compare offset-naive and offset-aware datetimes can't compare offset-naive and offset-aware datetimes can't compare offset-naive and offset-aware datetimes

    k값만 0.5에서 0.9로 수정하고 코드 실행했는데 위와 같은 메시지가 뜨네요. get_ohlcv함수로 반환되는 데이터프레임을 print로 화면출력하여 보면 일자+타임존으로 되어 있는데 이 부분 때문에 다른 코드 실행에도 에러가 발생하며 문제가 되는 것 같습니다. 에러가 발생하지 않게 수정하고 싶은데 어떻게 수정하면 좋을까요?;;

    opened by guardhope 4
  • bitcoinAutoTradeWithAI.py 를 돌리면 생기는 이슈

    bitcoinAutoTradeWithAI.py 를 돌리면 생기는 이슈

    • python3 bitcoinAutoTradeWithAI.py 실행시 아래와 같이 나옵니다. 1-3번째줄 나오는 plotly 와 INFO 는 무시해도 되는건지요?
    • 아래와 같은 메세지면 정상 작동인가요?

    Importing plotly failed. Interactive plots will not work. INFO:fbprophet:Disabling yearly seasonality. Run prophet with yearly_seasonality=True to override this. INFO:fbprophet:Disabling weekly seasonality. Run prophet with weekly_seasonality=True to override this.**

    Initial log joint probability = -2.39835

    Iter      log prob        ||dx||      ||grad||       alpha      alpha0  # evals  Notes 
      99       648.964   3.91152e-05       51.1571     0.04683           1      132   
    Iter      log prob        ||dx||      ||grad||       alpha      alpha0  # evals  Notes 
     115       650.091   0.000160185        116.46   1.811e-06       0.001      211  LS failed, Hessian reset 
     199        654.09   9.14934e-05       59.5749     0.01476           1      319   
    Iter      log prob        ||dx||      ||grad||       alpha      alpha0  # evals  Notes 
     221       654.254   7.35399e-05       75.8488   8.821e-07       0.001      386  LS failed, Hessian reset 
     299       656.381     0.0054425       195.025      0.4683      0.4683      489   
    Iter      log prob        ||dx||      ||grad||       alpha      alpha0  # evals  Notes 
     320        657.41   6.50455e-05       73.1349   7.279e-07       0.001      571  LS failed, Hessian reset 
     350       658.525   5.36358e-05       57.0544   1.013e-06       0.001      640  LS failed, Hessian reset 
     376        658.68   6.10213e-05        65.143   6.012e-07       0.001      716  LS failed, Hessian reset 
     399       658.713    2.6314e-06       58.9867      0.2614           1      749   
    Iter      log prob        ||dx||      ||grad||       alpha      alpha0  # evals  Notes 
     414       658.713   1.62019e-08       50.4022     0.02217      0.9042      775   
    

    Optimization terminated normally: Convergence detected: relative gradient magnitude is below tolerance

    autotrade start

    opened by skyline5032 3
  • bitcoinAutoTradeWithMA.py 실행 시 문제

    bitcoinAutoTradeWithMA.py 실행 시 문제

    해당 코드 실행 시 거래가 일어날 때(매수, 매도 시)

    아래와 같은 오류가 반복해서 출력됩니다.

    It failed JSONDecodeError TypeError 'NoneType' object is not subscriptable It failed JSONDecodeError TypeError 'NoneType' object has no attribute 'iloc'

    MA가 포함되지 않은 bitcoinAutoTrade.py에서는 일어나지 않는 문제이기 때문에 15일 이동평균선을 구하는 파트에 'iloc'이 문제가 있는 것 같아 아래와 같이 코드를 수정했습니다.

    def get_ma15(ticker): """15일 이동 평균선 조회""" df = pyupbit.get_ohlcv(ticker, interval="day") ma15 = df['close'].rolling(15).mean() last_ma15 = ma15[-2] return last_ma15

    수정 후에도 동일한 문제가 발생하고 있어서 조코딩님께 질문드립니다.

    opened by enteritis 2
Owner
조코딩 JoCoding
조코딩 JoCoding