자동 거래
최근 주식 AI 프로그램들이 인기입니다.
대표적으로 AIM, 핀트, 파운트 앱이 있는데 돈 넣어놓고 버튼 하나만 콕 누르면 알아서 주식 매수와 매도를 다 해주는 편리한 앱들입니다.
코인도 이런 AI 자동봇 프로그램이 있는데, 바로 파이넥스입니다.
구글 플레이스토어에서 앱을 다운받을수도 있고, PC로 홈페이지에 가서 진행도 가능합니다.
위 주식봇들과는 달리 굉장히 사용이 불편합니다.
기본적으로는 업비트처럼 거래소가 메인입니다.
해외(싱가폴) 거래소이며 원화 입출금이 안되고, 국내 거래소에서 코인을 구매해서 파이넥스 거래소로 보내야 합니다.
3. 트론( TRC20), 이더리움( ERC20), BEP20, HECO 코인 중에서 하나 클릭 후, 입금 주소 복사를 해 줍니다.
해당 홈페이지에서는 트론 코인을 넣으라고 추천합니다.
트론은 업비트, 빗썸, 바이비트 등 어느 거래소나 있는 메이저 코인중 하나입니다.
업비트를 예로 들면 업비트에서 트론 코인을 30만원치 가량 구매해 줍니다.
(봇을 돌릴 수 있는 최저 금액이 30만원 이상이기 때문입니다.)
트론은 현재 시세 기준으로 70원~160원 사이입니다.
글쓴이는 최근 코인이 상승장이라 130원이라는 고점에서 구매했습니다.
4. 업비트 입출금 메뉴 클릭 -> 트론 코인 클릭 -> 출금하기 클릭 -> 출금 수량 지정 -> 확인 누르면 입금 주소를 복사하라고 나옵니다.
5. 파이넥스 거래소에 나와있는 입금 주소를 붙여넣기하면 입금이 이루어 집니다.
6. 글쓴이는 트론 30만원치를 사 입금을 했는데 시간이 흘러도 입금이 되지 않았습니다.
글쓴이는 USDT 트론 코인이 아닌 원화(한국/KRW) 트론 코인을 사서 입금했기 때문에 입금이 되지 않는 줄 알고 업비트 고객센터에서 취소를 요청하려 했는데, 30분 가량 지나니 입금이 되었습니다.
만약 문제가 생기면, 보낸 코인이 사라지는게 아니라 출금 대기중이라 뜨고 코인은 사라지지 않으니 실수한다고 해서 코인이 사라지는 일은 일어나지 않습니다.
7. 입금이 이루어 지면 파이넥스 거래소에서 해당 코인을 모조리 팔아버립니다.
트론 30만원치를 입금했든, 이더리움 30만원치를 입금했든 코인이 아닌 실제 달러로 봇을 돌릴 수 있기 때문입니다.
글쓴이는 입금시키자 마자 시장가로 전량 매도시켰습니다.
8. 거래소로 가서 이제 봇을 돌릴 수 있습니다.
거래 메뉴로 가서 오른쪽 코인을 클릭하면 봇을 만들 수 있습니다.
BTC늘 누르면 비트코인 거래를 하며, ETH를 누르면 이더리움 거래를 시작하는 듯 합니다.
다른 코인도 가능하지만 기왕이면 메이저 코인인 비트나 이더리움에서 돌리는게 좋지 않을까 합니다.
우리같은 초보를 위해 버튼 하나만 누르면 될껄 괜히 복잡한 느낌입니다.
한국인은 창조성과 다양성이 없는 민족이라 선택지가 많으면 괴롭거든요.
대표적으로 많이 쓰이는 봇이 교차거래, BTC 천지봇(비트코인 천지봇), ETH천지봇(이더리움 천지봇) 3개입니다.
주문생성을 누르고 금액 입력을 한 뒤 한번더 주문 생성을 누르면 봇이 자동으로 매매를 시작합니다.
파이넥스는 전 세계 거래소 순위를 확인해 본 결과, 파이넥스는 사용량 88위를 기록하고 있었습니다.
1위가 바이낸스이며 업비트는 22위입니다.
전 세계 100위안에 드는 거래소이니 먹튀 가능성은 매우 낮은 편이며, 홈페이지나 앱을 보면 한국인 직원도 있는지 열심히 It Korea: 가상화폐 코인 자동 거래 봇, 파이넥스 후기! 이런 저런 일을 하는 모습을 볼 수 있습니다.
글쓴이는 교차거래를 봇을 이용하고 있습니다.
현재 일주일째 봇을 돌리고 있는데
아직 일주일째니 현재 단계에서 성과를 운운하기는 힘들어 보입니다.
그러나 무조건적인 수익을 안겨주지는 않으니 참고하시길 바랍니다.
참고로 글쓴이는 교차거래 봇을 이용중이지만, 다른 유저들은 천지봇을 가장 높히 평가했습니다.
글쓴이는 게임 자동사냥 돌리는 기분으로 재미로 돌리고 있습니다.
해당 봇이 이득을 안겨주면 리밸런스봇과 천지봇도 100만원가량 더 해볼 생각입니다.
AI 자동매매 프로그램은 하루, 이틀 단타용이 아니라 긴 호흡으로 바라보는 장투용입니다.
주식 자동매매 프로그램을 돌려본 사람들은 알겠지만, 주식봇도 처음에는 손실이 소폭 나는것 같다가도 어느 순간 보면 이득을 안겨주는 경우가 대부분입니다.
#1 주식 자동 매매 프로그램 만드는 방법
오늘부터 파이썬(Phthon)을 이용한 '주식 투자 자동화'가 가능한 프로그램을 만들어보고자 합니다. 이번 포스팅은 가볍게 시작할 수 있는 포스팅으로, 주식 투자에 대해 어려움을 겪고 계시거나 초보 주린이분들도 휩게 따라 하실 수 있도록 주식 투자의 기본적인 개념을 간단하게 정리하고, 파이썬 주식 투자 자동화가 어떻게 이루어지는지 그 구조를 간단히 설명해드리겠습니다.
마지막으로 일주일간 파이썬을 이용한 주식 투자 자동화 프로그램을 가지고 그 결과가 어떻게 나왔는지 알아보도록 하겠습니다.
먼저 주식이 무엇인지 그 개념을 간단히 설명드리겠습니다. 주식이란 어떤 회사가 있을 때 그 회사의 지분을 나눠놓은 조각을 의미합니다. 주식을 가지고 있다면 이 회사를 일부 소유하고 있는 것이라고 생각하시면 됩니다.
그래서 내가 어떤 회사의 주식을 가지고 있다면 회사의 방향성에 대해서 입장을 표명할 수 있는 '의결권'을 가질 수 있고, 회사가 돈을 벌었을 때 그 돈의 일부를 배당금의 형태로 받아갈 수도 있습니다.
주식을 사고 팔 수 있는 곳, 증권사
그러면 주식을 어디서 살 수 있는지 알아보겠습니다. 주식은 일반적으로 우리가 당근마켓이나 중고나라에서 중고물품을 거래할 때처럼 어떤 사람이 특정 가격에 올려놓은 주식을 사야 됩니다. 하지만 아쉽게도 당근마켓이나 중고나라에서 주식을 구하기는 쉽지 않고, 이와 비슷한 증권사에서 주식을 사고팔 수 있도록 중계를 해주고 있습니다.
중고나라_당근마켓_증권사
실제로 주식을 거래하는 창을 보면 쉽게 말해서 판다는 사람도 있고, 산다는 사람도 있는데 여러분이 지금 당장 삼성전자 1주를 사야 된다면 어떤 선택지를 고르실건가요?
삼성전자 1주 5.7만원에 팝니다.
삼성전자 1주 5.6만원에 팝니다.
삼성전자 1주 5.5만원에 팝니다.
삼성전자 1주 5.4만원에 삽니다.
삼성전자 1주 5.3만원에 삽니다.
당연히 제일 저렴한거, 5.5만 원에 올라온 주식을 사고 싶으시겠죠. 여러분이 파는 사람이고, 지금 당장 팔아야 된다면 당연히 제일 비싸게 산다는 사람에게 팔아야겠죠. 그래서 이러한 가격들을 '호가'라고 부르는데, 파는 것 중에 가장 싼 것은 '매도호가', 사는 것 중에 가장 비싼 것은 '매수호가'라고 부르게 됩니다.
주식 호가, 봉차트
실제로 증권사 어플에 삼성전자 호가를 보시면 이런 식으로 다양한 가격에 판다고 내놓은 사람과 다양한 가격에 산다고 올려놓은 사람들이 있습니다. 수요와 공급에 의해서 산다는 사람이 많고, 옆에 있는 수량이 점점 줄어든다면 주가도 함께 올라가겠죠.
현대차 주가
반면에 반대로 판다는 사람이 많으면 계속 팔려서 주가가 떨어집니다. 그래서 이렇게 호가가 계속 왔다갔다 할텐데, 이렇게 호가가 오르락 내리락 하는 것을 일자별로 나타내게 되면 오르락 내리락하는 그래프가 생기게 됩니다. 그래프를 자세히 보시면 빨간 봉과 파란 봉으로 구성되어 있는 모습을 확인하실 수 있습니다.
카카오 주가
이렇게 봉들이 들어간 차트를 봉차트(캔들차트)라고 부릅니다. 봉은 빨간색인 양봉과 파란색인 음봉이 있습니다. 양봉부터 보면 Y축의 높이가 높을수록 가격이 높습니다. 주식 시장은 시간하는 시간과 끝나는 시간이 있는데, 시작하는 시간의 가격인 시가(장 시작할 때의 주가)보다 종가(장 끝날 때의 주가)가 더 높은 경우에 양봉 을 그리게 됩니다.
나머지 얇은 꼬리들은 주식 가격에 계속 왔다 갔다 할 테니까 이게 최저로 내려갔을 때, 가장 저렴할 때가 '저가'이고 가장 높이까지 올라갔을 때가 '고가'라고 합니다.
음봉 의 경우 반대로 시가(장 시작할 때의 주가)보다 종가(장 끝날 때의 주가)가 더 낮은 경우 입니다. 따라서 우리는 봉차트의 봉을 통해서 주가가 어떻게 변해왔는지 한 번에 알 수 있습니다.
주식으로 돈 버는 방법
주식 거래로 돈을 벌려면 당연합니다. 가격이 쌀 때 샀다가 가격이 비쌀 때 팔면 됩니다. 그러면 이제 파이썬으로 이런 주식 투자를 자동화하는 방법에 대해 알아보겠습니다. 먼저 파이썬으로 주식을 언제 It Korea: 가상화폐 코인 자동 거래 봇, 파이넥스 후기! 사고, 언제 팔 것인지 투자 전략을 구현할 것이고 작업 스케줄러를 이용해서 매일 주식 시장이 열릴 때마다 증권사 API를 통해서 자동으로 매수, 매도가 이루어지도록 만들어보겠습니다.
그러면 쌀 때 사고 비쌀 때 팔고 할 수 있겠죠. 이런 거래가 발생하거나 어떤 특정 이벤트가 있을 때마다 'slack'이라는 메신저로 알림이 오도록 만들어 보겠습니다. 이렇게 구성하고 코드를 돌려 놓으면 우리는 아무것도 안해도 매일 slack 메신저를 통해 우리의 코드가 돈을 벌어오는 것을 확인할 수 있습니다.
이때 우리가 투자 전략을 어떻게 구현하느냐에 따라서 수익률은 굉장히 달라질 수 있습니다. 우리는 래리 윌리암스라는 인물의 '변동성 돌파 전략' 을 사용해서 구현할 것입니다. 전략에 대해 간단히 소개해드리자면, 일정 수준 이상의 상승세를 돌파 신호로 판단하고 그 추세를 따라서 수익을 실현하는 단기 트레이딩 전략입니다.
변동성 돌파 전략
우리는 대신증권 크레온으로 시작
추후에는 이 전략 외에도 딥러닝을 사용하는 등 좀 더 다양한 전략을 이용하여 구현해볼 겁니다. 또 우리는 증권사를 이용해서 거래를 해야 되기 때문에 증권사 API를 사용해야 됩니다. API를 제공하는 대표적인 증권사로 키움증권, 대신증권 크레온, 이베스트 투자증권에서 API를 제공하고 있습니다.
키움증권_크레온_이베스트 투자증권
이중에서 우리는 사용성이 가장 좋다고 It Korea: 가상화폐 코인 자동 거래 봇, 파이넥스 후기! 알려진 대신증권의 크레온 API를 사용 해보겠습니다. 혹시 아직 대신증권의 증권 계좌가 없으시다면 따라해보시기려면 크레온 계좌를 미리 개설하는 것을 권장드립니다.It Korea: 가상화폐 코인 자동 거래 봇, 파이넥스 후기!
다음으로 위에서 설명드린 방법대로 일주일간 프로그램을 이용하여 투자한 결과에 대해 말씀드리겠습니다. 코드를 돌려 놓으면 매일 스마트폰으로 slack 메신저를 통해 무엇을 샀고, 얼마를 벌었다는 이런 정보들이 자동으로 들어오게 되어있습니다.
주식 투자 자동화 프로그램 실전 결과
slack_주식 손익
그래서 투자금을 넣고 일주일 간 돌려보았더니 총실현손익으로 9,743원이 벌린 것을 확인할 수 있었습니다. 그러면 52주, 1년으로 환산하면 65.5%, 약 66%의 연 수익률 을 올릴 수 있었습니다. 요즘 은행 이자가 2%도 안되는 시점에 어마어마한 수익률을 보여주고 있습니다.
물론 이 추세가 계속 영원히 지속된다고 보장할 순 없고, 일자별로 보시면 아시겠지만 5원 벌었다가 1,000원 잃고, 1,300원 잃었다가, 7,000원 벌었다가 이런 식으로 매일매일 그 시장 상황에 따라서 전부 다르게 동작합니다.
막연한 수익률의 기대감만으로 하시는 것이라면, 그렇게 큰 기대는 하지 않으셨으면 좋겠습니다. 어디까지나 수익률이 궁극적인 목표가 아닌, 이런 방식으로 주식 투자 자동화가 가능하다는 것을 보여드리기 위함이기 때문입니다.
이번 포스팅을 통해 주식 투자 세계에 입문하게 되신 분들을 포함하여 주식 투자 자동화에 첫걸음을 디딘 분들, 모두 환영합니다. 주식 투자 자동화 관련 포스팅은 날마다 한 개씩 업로드 될 것이고, 크게는 이번편을 포함해서 총 4편 을 끝으로 마칠 것이니 끝까지 함께 하시고 만족하실만한 프로그램을 만드셨으면 좋겠습니다. 앞에서도 언급했지만, '투자 전략'에 따라 수익률은 극대화 되기 때문입니다.
우측 하단 '꿀벌의 주식 블로그 구독'을 하시면 주식 투자 자동화 포스팅을 포함하여 주식 관련 포스팅 업데이트 알림을 바로 받으실 수 있습니다.
[파이썬] 코인 자동매매 프로그램 만들기 #2 - 백테스팅
이번 프로젝트에서 사용할 전략은 래리 윌리엄스(Larry R. Williams)의 변동성 돌파 전략입니다.
변동성 돌파 전략을 간단하게 알아보자면 다음과 같습니다
라이브러리
업비트에서 제공하는 API를 더 쉽게 사용할 수 있게 해주는 라이브러리인 pyupbit를 이용하여 코드를 작성해 보겠습니다
GitHub - sharebook-kr/pyupbit: python wrapper for upbit API
python wrapper for upbit API . Contribute to sharebook-kr/pyupbit development by creating an account on GitHub.
Visual Studio Code에서 새 cmd 터미널을 열어 pyupbit 깃허브 페이지에 나와있는대로
를 입력하여 pyupbit 모듈을 설치합니다
설치가 완료되었으니 모듈을 한번 테스트 해보도록 하겠습니다
test.py라는 새 파이썬 파일을 만들고 모듈을 import 합니다
get_ohlcv()라는 함수를 이용하면 비트코인의 차트 데이터를 dataFrame의 형태로 가져올 수 있습니다
파라미터가 없는경우 기본적으로 비트코인에 대한 일봉 데이터를 200개 가져옵니다
깃허브 페이지의 파라미터 정보를 참고하여 비트코인에 대한 1주일 It Korea: 가상화폐 코인 자동 거래 봇, 파이넥스 후기! 간의 차트데이터를 불러와보겠습니다
python test.py 명령어를 통해 파일을 실행해보면 다음과 같이 날짜, 시가, 고가, 저가, 종가등의 데이터를 확인할 수 있습니다
백테스팅 코드 작성
변수 선언
백테스팅 코드를 작성할 준비가 완료되었으니 본격적으로 코드를 작성해보겠습니다
우선 테스트에 필요한 변수들을 선언해 줍니다
수수료
조금 더 정확한 결과값을 얻기위해서 엑셀을 통해 실제 거래시 발생하는 수수료를 계산해보겠습니다
업비트의 수수료 0.05%를 기준으로 만약 100만원의 자금을 가지고 60만원에 매수를 해서 65만원에 매도를 하였을 때 발생하는 수익률은 다음과 같습니다
암호화폐 아비트라지 자동거래 part 1
이번시간에는 차익거래, 그중에서도 암호화폐 시장에서의 차익거래에 대해서 말씀드리려고 합니다. 기본적인 개념은 Bid-Ask Spread를 보고 매수/매도를 동시에 체결시킴으로써 그 차익을 차지하는 전략입니다.
간단하게 싸게사서 It Korea: 가상화폐 코인 자동 거래 봇, 파이넥스 후기! 비싸게 파는것을 동시에 진행시켜 이득을 취하는 전략입니다.
간단한 예시로 A코인 100개와 원화 10만원을 잔고로 가지고있는 상황을 가정해 보겠습니다. 아래와 그림과 같이 매도호가에 10,000 50개, 매수호가에 9,000 50개가 걸려있는 상태에서 매수와 매도를 50개씩 체결 시키게 되면
결과적으로 차익이 발생한 2개의 호가를 취함으로써 1개의 코인당 1000원의 이득을 취하게 됩니다. 이러한 차익이 거래로 발생되는 수수료 보다 더 크다면 안전하게 자산을 불려 나갈 수 있게됩니다.
암호화폐의 경우는 다수의 거래소들이 존재하기 때문에 이러한 매수,매도 호가의 차이가 같은 거래소 뿐만 아니라 타거래소간에도 발생하게 됩니다.
아비트라지, 왜 실패하는가?
언뜻 들어보면 굉장히 안정적으로 보이는 전략이지만 몇가지 문제점이 존재 합니다.
1. 이득을 취할수 있는 차익이 발생하는 상황이 발생하지 않는다
- 다수의 자동 봇들이 차익을 노리고 돌아가고 있기 때문에 BID-ASK 스프레드가 발생하는 상황은 다량의 시장가 매수 등과 같이 매우 일시적으로 발생하거나 위험성이 큰 코인에서만 발생하게 됩니다.
- 또한, 수수료가 없거나 혹은 마이너스 수수료가 가능한 마켓메이커들의 경우에는 매우 적은 차익도 노리기때문에 일반인이 접근하기 쉽지 않습니다.
2. 슬리피지에 대한 위험성
- 위의 문제점과 연관된 내용으로 일반적으로 시세가 급변하거나 시장에서 큰 볼륨의 시장가 매매가 있는 경우 시세차익이 발생하게 It Korea: 가상화폐 코인 자동 거래 봇, 파이넥스 후기! 됩니다. 그렇다보니 호가창을 보고 주문을 넣는다고 해도 시장가 주문의 경우 슬리피지가 매우 커서 손해를 보거나 지정가 매매의 경우 It Korea: 가상화폐 코인 자동 거래 봇, 파이넥스 후기! 매매에 실패하는 케이스가 발생하게 됩니다.
3. 거래소 상태에 따른 위험성
- 암호화폐 거래소의 경우 해당 코인의 입/출금이 잠기는 상황이 종종 발생하곤 합니다. 이때, 코인가격이 급변하는 상황이 오고 이를 차익으로 보고 진입하였다가 큰 손해를 보는 경우가 발생합니다.
위의 사례들과 같이 실제로 아비트라지 거래는 사람이 수동으로 하기에는 너무 짧은 시간에 이루어지고 거래소와 계약 관계(마켓메이커)에 있지 않은 일반인들은 진입하기 쉽지 않거나 소액만 가능한 상황입니다. 다음 시간에는 이러한 아비트라지 자동 거래를 위한 인프라 설계에 대해서 알아보도록 하겠습니다.
0 개 댓글