본문 바로가기

코인/코인 개발

업비트 급등 알림 서비스, alert.coinali.me 이전에 포스팅을 통해 업비트 거래량 급등 알리미 프로그램을 작성하는 예제를 올려두었었는데요. 아무래도 프로그램으로 돌리다 보니, 가령 집에서 밖으로 나갔을 때는 못 본다는 등, 접근성이 떨어져서 alert.coinali.me 서버에 올려두었습니다. 로직은 이전 포스팅에서 설명한 것과 같이 거래량 2 표준편차를 이용했고, 데스크톱에서는 켜 두면 소리로 알려줍니다. 뭐 당연히 부족한 점이 많을 테니, 추가나 개선이 필요한 것 같은 부분을 댓글로 알려주시면 반영해보도록 하겠습니다. 그럼 샤샥. 더보기
바이낸스 API와 Python TA-lib를 이용한 스토캐스틱, RSI 등 보조 지표 활용 이전 포스팅에서는 업비트 API와 Python TA-lib를 이용해 스토캐스틱, RSI 등의 보조 지표를 활용하는 방법을 알아보았었습니다. 이번 포스팅에서는 업비트가 아닌 바이낸스 데이터를 이용해 보조 지표를 활용하는 방법을 알아보겠습니다. 바이낸스의 경우 빠른 응답 속도와 웹소켓을 이용한 데이터 스트림의 제공으로 업비트보다 정교한 수준의 데이터 활용이 가능합니다. 먼저, API 이용을 위해서는 API Key를 발급받아야 하는데, 이는 이전 포스팅에서 다루었으니 참고 바랍니다. 먼저 이번 포스팅에서는 REST 형식으로 바이낸스에서 제공하는 Endpoint에 직접 호출하기보다는 바이낸스가 제공하는 SDK인 binance-connector를 이용하도록 하겠습니다. 설치 방법은 다음과 같이 pip를 이용할 수.. 더보기
바이낸스 (Binance) API 키 발급 받기 일전에 업비트에서 Open API를 발급받는 방법을 포스팅했었는데, 가상자산 거래량 기준 세계 1위 거래소인 바이낸스를 다루지 않을 수 없기에, 이번 포스팅에서는 바이낸스 API 키 발급받는 법을 알려드리려고 합니다. 들어가기에 앞서, 이후 설명은 모두 영문을 기준으로 작성했습니다. 이유는 개발 문서가 영문으로 작성되어 있고, 한국어 서비스가 언제까지 지속될지 알 수 없어 한글로 작성된 것이 사라질 수도 있겠다 싶어서입니다. 먼저 바이낸스에 접속 후, 다음과 같이 Account > API Management 메뉴로 이동합니다. 그럼 API 관리 화면을 보실 수가 있는데, 생성을 위해서는 다음과 같이 API Key 레이블을 입력하고, 'Create API' 버튼을 클릭합니다. 인증받은 사용자인지 확인하기 .. 더보기
업비트 API와 Python TA-Lib를 이용한 캔들 패턴 인식(Candle Pattern Recognition) 지난 포스팅에서는 업비트 API를 통해 가져온 캔들 데이터를 바탕으로 TA-Lib를 이용해 스토캐스틱, RSI 등의 보조 지표를 활용하는 방법을 설명했습니다. 이전에 언급했다시피, TA-Lib는 보조 지표 외에도 캔들 패턴 인식에도 사용할 수 있는데 이번 포스팅에서는 이를 다뤄보려고 합니다. 먼저, 캔들 패턴에 대해서 간단히 설명하자면 캔들 차트에 표현되는 각각의 캔들에 의미를 부여, 패턴을 인식하고 이를 통해 시장 움직임을 파악하고자 하는 분석 방법입니다. 예를 들면, 도지(Doji) 패턴이 나타나면 매수/매도세가 중립으로 나타나며 향후 흐름이 바뀔 것이라고 예측하는 것입니다. 아래는 상승 흐름에서의 약세 전환을 나타내는 도지 패턴의 예시입니다. 이러한 캔들 패턴 분석을 프로그램에 이용할 수 있도록 T.. 더보기
업비트 API와 Python TA-lib를 이용한 스토캐스틱, RSI 등 보조 지표 활용 이전 포스팅에서는 업비트 API를 통해 가져온 캔들 데이터를 pandas의 DataFrame으로 변환한 뒤, RSI 값을 생성해 알림 등에 활용하는 코드를 Python으로 작성해보았습니다. 이번에는 RSI 뿐만 아니라 MACD(Moving Average Convergence/Divergence), 스토캐스틱(Stochastic), ADX(Average Directional Movement Index) 등등 다양한 보조 지표를 쉽게 생성할 수 있도록 도와주는 TA-lib를 사용하는 코드를 파이썬으로 작성해보도록 하겠습니다. 먼저 Python TA-Lib를 설치해야 합니다. 참고로 Python TA-Lib는 TA-Lib의 Wrapper이므로 먼저 TA-Lib가 깔려 있어야 합니다 (Python TA-Lib의.. 더보기
업비트 API를 이용한 코인 RSI 알리미 프로그램 이전 포스팅에서 업비트 API Key 발급 및 거래량 급등 알리미를 작성해보았습니다. 지난 포스팅에서 업비트 API를 이용해 데이터를 가져오고 NaverTTS 및 AudioPlayer를 이용해 음성으로 알림을 생성 및 재생하는 부분은 다루었으니, 이번 포스팅에서는 업비트 API를 이용해 가져온 캔들 데이터를 이용해 RSI(Relative Strength Index)를 계산하는 코드를 파이썬으로 작성해보도록 하겠습니다. pandas 라이브러리를 이용해 업비트 API를 이용해 가져온 캔들 데이터를 DataFrame으로 변경해줍니다. import pandas as pd rsi_periods = 14 unit = 240 # 4 hours candles = upbit.candles('KRW-BTC') min_ca.. 더보기
파이썬으로 캔들차트 그리기 지난 블로그에서는 업비트 API를 이용한 거래량 급등 코인 알리미, 텔레그램 알림 봇 등을 다루었는데요. 이번에는 파이썬으로 주어진 캔들 데이터를 이용해 캔들차트를 그리는 법을 다루어 봅니다. 예제로 쓸 데이터는 삼성전자의 2020년 6월 9일부터 1년간의 일봉 데이터인데, 해당 데이터를 먼저 pandas_datareader로 가져옵니다. 데이터 소스는 Naver Finance를 사용했습니다. from pandas_datareader import data as web import datetime start = datetime.datetime(2020, 6, 9) end = datetime.datetime(2021, 6, 9) Stock = namedtuple('Stock', ['ticker', 'name.. 더보기
업비트(Upbit) API를 이용해 프로그램 개발 시 주의 사항 업비트 API 키 발급 및 거래량 급등 알리미 프로그램 등의 관련 사항을 지난 블로그에서 다뤘습니다만, 주의 사항 또한 알릴 필요가 있겠다 싶어 글을 남깁니다. 첫 번째는 요청 수 제한(Quotation)입니다. 업비트 개발자 문서에 따르면 Exchange API - 주문 요청의 경우 초당 8회, 분당 200회로, 그 외의 요청은 초당 30회, 분당 900회로 밝히고 있습니다만, 실제로 수행해본 결과로는 그보다 먼저 막힐 수밖에 없었는데 이유로는 멀티 스레드 또는 멀티 프로세스를 이용한 동시 요청 한 계정에서의 여러 Open API Key를 사용한 동시 요청 등이 있습니다. 업비트의 요청 응답 속도가 평균 500ms 이상으로 느려서 실시간에 가까운 데이터를 얻기 위해서는 동시 요청이 불가피한데, 이 경우.. 더보기