ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 비트코인 자동매매 프로그램 만들기 - 시세캔들 조회
    카테고리 없음 2025. 1. 8. 19:31

    비트코인 자동매매 프로그램 만들기 - 시세캔들 조회

    안녕하세요 플랫폼잇다입니다.

    시세 캔들 조회를 지난 블로그에 이어서 추가로 진행하고자 합니다.

    제가 잘 기억 못하는 부분이 있기도 하고 추가로 비트코인을 자동매매 하는데 있어서

    어느정도 많이 이해를 필요로 하는게 있다보니 반복학습 또한 필요하다고 판단이 되어 이렇게 글을 쓰게 되었습니다.

     

    우선 지난시간에 했었던 1분봉 조회부터 보도록 하겠습니다.

    get_ohlcv 에서 ohlcv는 open, high, low, close, volume의 앞자를 따온겁니다.

    import pyupbit

    df = pyupbit.get_ohlcv("KRW-BTC","minute1")
    print(df)

    위와 같이 코드를 입력하고 실행을 하게 되면

    아래와 같이 터미널의 결과가 나오게 됩니다.

     

    비주얼스튜디오코드 파이썬 파이업비트 1분봉 조회
    1분봉 조회 결과

    위의 Open, High, Low, Close, Volume, Value로 나눠져 있는걸 볼 수 있으며

    왼쪽의 분 별 기록이 정리되어있는걸 알 수 있습니다.

    최대 200개의 Rows들이 6개의 columns으로(오픈,하이,로우,클로즈,볼륨,밸류)

    정리되어있음을 알 수 있습니다.

     

     

    위와 비슷하게 3분봉 조회도 마찬가지로 진행 할 수 있습니다.

    "minute 숫자" 부분에 숫자에 3을 넣으면 3분봉을 뽑을 수 있습니다.

    import pyupbit

    df = pyupbit.get_ohlcv("KRW-BTC","minute3")
    print(df)

     

    위의 값으로 입력을 하고 난 뒤 실행을 하게 되면

    터미널에서 아래와 같이 나오게 됩니다.

     

    비주얼 스튜디오 코드 파이업비트 3분봉 캔들 조회
    3분봉 캔들 조회 터미널

     

    1분봉과 같은 원리이며,

    200개의 Rows와 6개의 Columns로 나열 되어있습니다.

     

    1분봉의 데이터를 가지고 3분봉을 알아 낼 수 있습니다.

    1분봉
    1분봉
    1분봉 데이터로 3분봉 데이터 구하기
    1분봉 데이터로 3분봉 데이터 구하기

     

    3분봉의 세가지 데이터로

    Open은 첫 시작 오픈가격인

    첫번째 143890000으로 시작합니다.

    High는 세가지 데이터 중 가장 높은 값인

    143843000이 되고

    Low 데이터 중 제일 낮은 2,3번 데이터가 되어

    14381000이 되고

    Close 종가는 세가지 데이터 중 가장 마지막인

    143814000이 되며

    마지막 볼륨은 세개를 다 합친

    3.533319가 되겠습니다.

     

    pandas의 resample() 함수를 사용

    df['open'].resample('3T').first()

    df['high'].resample('3T').max()

    df['low'].resample('3T').min()

    df['close'].resample('3T').last()

    df['volume'].resample('3T').sum()

     

    위의 1분봉 데이터로 3분봉 데이터를 구하는 내용을

    함수를 활용해서 구할 수 있습니다.

    df = data frame

     

    데이터프레임['오픈'].샘플다시('3T').first()

    이런식으로 해석이 이제는 되더라구요!

     

    저도 이 강좌에 대해 두번째 들을때

    더 명확하고 또렷하게 들리고 이해할 수 있음을 알 수 있었습니다.

    역시 공부는 처음 예습 그리고 복습이 중요한 것 같습니다.

     

    시세캔들 조회 (주봉)

    업비트 API를 다시 확인합니다.

    https://api.upbit.com/v1/candles/weeks?market=KRW-BTC&count=1

     

    Weeks 대신 day와 mall 이런게 있었죠 분봉에서는

    count= 값은 1로 주면 1개만 받을 수 있고

    200개까지 받을 수 있습니다.

     

    import pyupbit

    df = pyupbit.get_ohlcv("KRW-BTC", interval="week")
    print(df)

     

    우리는 pyupbit를 통해 쉽게 값을 구할 수 있습니다.

     

    캔들 주봉 조회
    파이업비트 주봉 조회

    주봉단위로 데이터가 나온걸 확인할 수 있습니다.

    만약 엑셀파일로 저장을 하고 싶다면

     
    import pyupbit
    df = pyupbit.get_ohlcv("KRW-BTC", interval="week")
    df.to_excel("week_btc.xlsx")

    데이터 프레임을 to_excel을 넣어서 저장할 수 있습니다.

    에러
    error

    오 이런! 뭐라고 하는지 하나도 못알아 듣겠네요!

    그럴땐 걱정하지마세요 나온 터미널 값을 그대로 복사해서 CHAT-GPT에게 물어봅니다.

    고마워 뤼튼 AI
    CHATGPT 무제한 뤼튼! 고마워
    터미널 입력
    터미널 입력

    좋습니다. 저는 답변이 나온 저 내용을 그대로 복사해서 터미널에 입력을 해봅니다.

    그럼 알아서 도와주네요!?

    GPT 결과 물어보기
    CHAT GPT 결과 확인 받기 고마워 뤼튼!

     

    나는 터미널에서 뭐라고 하는지 모르겠으니까 뤼튼 너가 알아서 해석해줘!

    터미널 내용 복사해서 라고 나왔어! 라고 하니까 잘 됐으니 명령어 입력을 하라고 알려줍니다.

     

    week_btc.xlsx 생성 완료
    엑셀까지 완료

    이제 마지막 입력값을 터미널에 다시 입력하여 마무리 짓습니다.

    엑셀이 나온걸 확인할 수 있네요 :)

     

    이래서 지금 개인적으로 혼자서 코딩을 배우기가 너무 쉬운것같아요 :)

     

    지금까지 캔들 조회 분봉 및 주봉 그리고 엑셀저장까지 알아봤습니다.

    감사합니다.

    댓글

Designed by Tistory.