Getcoin조

cdc wiki
이동: 둘러보기, 검색

프로젝트 개요

기술개발 과제

국문 : 가상화폐의 기술적 매매 시스템

영문 : Technical trading System for virtual currency

과제 팀명

Getcoin

지도교수

유0진 교수님

개발기간

2019년 9월 ~ 2019년 12월 (총 4개월)

구성원 소개

서울시립대학교 컴퓨터과학부 20139200** 유**(팀장)

서울시립대학교 컴퓨터과학부 20139200** 신**

서울시립대학교 컴퓨터과학부 20149200** 이**

서울시립대학교 컴퓨터과학부 20079200** 이**

서론

개발 과제의 개요

개발 과제 요약

◇가상화폐는 주식과 달리 24시간 거래소가 운영되어 거래되고 변동성이 큰 화폐이므로 거래의 신속성이 많이 요구되는데, 암호화폐의 모든 가격 변동에 대응하는 것은 불가능에 가깝다. 

◇이로 인해 많은 투자자들이 Bitcoin 거래 소프트웨어 및 앱을 사용하여 거래 작업을 단순화하는 중이다.

◇시장 변동성이 증가함에 따라 거래 앱은 거래를 항상 제어하고 거래자가 스스로 할 수 있는 것보다 더 빠르고 효율적으로 주문을 실행할 수 있게함으로써 트레이더들 사이에서 인기↑

◇정서적 스트레스 요인이 제거되고  소프트웨어 또는 봇은 실행하도록 설정된 거래 전략을 고수함으로, 직접거래와 다르게 지속적인 모니터링 불필요

◇수집 된 데이터와 입력 된 전략을 기반으로 사용자를 대신 시장의 변화, 가격 등과 장소의 구매 또는 판매 주문에 관련 소스 정보를 자신의 API를 사용하여 금융 교류와 직접 상호 작용.

개발 과제의 배경

◇가상화폐와 블록체인의 관계: 데이터 블록들이 체인처럼  연결 되어  있는 상태에서 채굴과정을 통해 새로운 블록을 만들어내는 과정에 성공 했을 시 이것을 증명하는 방식에서 가상화폐가  등장하였다.


가상화폐와 블록체인의 관계1.jpeg



블록체인 거래 방식 = 공공 거래 장부


가상화폐와 블록체인의 관계2.jpg





정리하면 블록체인은 데이터를 안전하고 신뢰 있게 저장하고 관리하기 위한 기술이라고 할 수 있다. 그 기술 기반에 가상화폐를 거래하기 위한 기능들을 구현한 것이 비트코인과 같은 암호화폐 서비스이다.

◇가상화폐 파생상품의 등장 선물거래 – 가상화폐를 미리 정한 가격으로 미래 일정시점에 사거나 팔것을 약속하는 거래 옵션 – 자산을 만기시점에 행사가격으로 사고 팔 수 있는 권리를 주고받는 계약 (선물옵션 – 선물거래를 할 수 있는 권리를 거래) 가상화폐의 선물, 옵션을 거래할 수 있는 거래소는 이미 운영 중

ETF - 흔히 ETF라고 불리는 상장지수펀드는 특정한 지수의 움직임에 연동해서 운용되는 인덱스 펀드의 일종으로 거래소에 상장되어 실시간으로 매매된다. 지수에 연동되어 수익률이 결정된다는 점에서 인덱스 펀드와 유사하지만, 증권시장에 상장되어 주식처럼 실시간으로 매매가 가능하다는 점에서 차이가 있다. ETF는 미국에서 거래소에 상장되려는 움직임이 있다.

2018년 기준 미국의 개별주식 총액은 34조 달러, 미국 이외의 모든 국가의 개별주식 총액은 44조 달러이다. 그런데 이를 기초로 한 파생상품의 총액은 542조달러나 된다. 기초자산 시장보다 파생상품 시장이 훨씬 더 큰 시장 규모를 갖는 것이다.

Noname03.jpg 가상화폐와 블록체인의 관계4.jpg

이처럼 가상화폐에서도 큰 시장성을 보고 파생상품 시장이 등장하고 있고 이것이 제도권으로 들어온다면 시장이 더욱 커질 것이다. 하지만 국제회계기준위원회의 올해 6월 회의에서 암호화폐를 무형자산으로 분류하면서 파생상품의 등장과 확대는 아직 불투명하다. 그래도 파생상품이 등장한다면 파생상품의 특성상 시장에 대한 예측과 분석이 더욱 중요해지며 필요한 데이터나 정보들이 더욱 많아지게 된다. 새로운 시장이 생기며 시장성도 크기 때문에 AI가 조금 더 유용하게 작용할 수 있을 것이며 활용성이 더 커질 것이다.

◇AI를 통한 자동매매: AI는 기계 학습이나 딥 러닝을 통해 AI 소프트웨어가 자체적으로 알고리즘을 조정하고 지속적으로 개선하면서, 새로운 데이터와 해석에 적응할 수 있는 능력을 향상해 나간다. 그래서 AI는 막대한 양의 데이터 분석에 기초하여 거래를 결정하게 된다.

◇개발 과제의 필요성: 가상화폐는 주식과 달리 24시간 거래소가 운영되어 거래되고 변동성이 큰 화폐이므로 거래의 신속성이 많이 요구된다. 또한 사람이 신경 쓰지 못할 때에도 거래가 이루어져야 하기 때문에 자동 매매 시스템 필요하다. 가상화폐의 거래에 있어서의 특징들과 파생상품의 등장 가능성, 그 시장성을 바탕으로 가상화폐의 기술적 매매 시스템은 더욱 필요해질 것으로 예측된다.

개발 과제의 목표 및 내용

◇ Gekko를 사용하면 실제 주식에서 쓰던 전략과 같은 기술분석전략 DEMA, MACD, PPO, RSI, StochRSI, CCI, 탈립 맥드, 튤립 맥 과 같은 다양한 전략들을 원하는대로 이용할 수 있다. 기본적으로 Gekko에서 제공하며 어떤 파라미터를 넣어 어떻게 작용하는지 설명이 나와 있어서 필요한 전략을 알아보고 사용하기 편리하다.

◇ 거기에다가 위와 같이 추가로 유저 자신이 거래소의 데이터를 분석하고 상황과 외부요인들을 잘 파악해서 필요한 나만의 전략을 만들 수 있고 그것을 공유하거나 다른 사람의 전략도 공유 받아 사용할 수 있어서 다양한 전략을 쉽게 활용할 수 있는 장점이 있다. ◇ 기존 Gekko의 기능인 암호화폐 거래소와의 연결을 통한 트레이딩 뿐만 아니라 CME Group을 연동하여 비트코인 선물거래 또한 관리할 수 있도록 한다.

◇Gekko의 기본 알고리즘들을 활용하면서 기본적으로 거래에 필요한 기능들을 수행하는 거래 시스템 구축하는 것과 추가적으로 필요한 분석전략이나 유저들의 오픈소스, 거래소 제공 데이터들을 활용하여 시장을 분석하고 예측해서 직접 자동매매 알고리즘을 구성할 수 있도록 하고자 한다.

관련 기술의 현황

관련 기술의 현황 및 분석(State of art)

◇사용자들에게 제공되는 매매 시스템에서는 트레이딩 봇 시스템이 대부분이다.

◇기술적으로 매매 시스템에서 지원되는 부분은 보안과 시장변화 상황에 대처하는 기술에 관한 것들이다.

◇가상화폐가 떠오른 이후로 보안 관련된 부분들이 중요하게 생각되면서 미국의 서클이라는 회사에서는 추적프로그램을 도입하여 암호화폐 시장에서 벌어지는 조작 행위를 방지하고자 하고 있다.

1) 서클의 추적프로그램

골드만삭스가 투자한 블록체인 금융기업 서클(Circle)이 암호화폐 시장에서 벌어지는 조작 행위 방지를 위한 추적 프로그램을 도입한다고 1일(현지시간) 코인텔레그래프가 보도했다. 보도에 따르면 서클은 디지털 금융 기업 나이스 액티마이즈(Nice Actimize)의 시장 감시 도구를 이용해 내부 거래 및 암호화폐 가격을 부풀린 후 팔아치우는 펌프앤덤프(pump and dump) 행위 등에 대응할 예정이다.

나이스 액티마이즈는 이스라엘 대기업 나이스(Nice)의 계열사로, 금융 범죄, 위험 및 규정 관리 등 분야에서 전문적인 도구를 개발, 제공하는 기업으로 알려졌다. 서클은 이 회사의 클라우드 시장 추적(CMS) 도구를 이용해 암호화폐 시장에서의 불법 행위들을 추적, 감시할 계획이다.

서클의 최고 규정준수 책임자(CCO) 로버트 벤치는 “나이스 액티마이즈의 금융시장 준수 솔루션과 같은 혁신적인 기술 솔루션은 규제 기관의 잠재적 요구를 충족시키고 우리의 자산을 보호하도록 도와준다”고 강조했다.

2) VMI 기술을 적용한 'eReD' 하이퍼바이저 시큐리티

가상화폐 거래소 코인레일의 해킹 사건 이후 국내 Top3 업체인 빗썸까지 연달아 해킹 사고가 발생했다. 해커들의 주 공격대상이 된 후로 가상화폐 거래소들이 금융권의 보안 시스템을 도입하는 등 적극적으로 보안체계를 구축하고 있지만 역부족인 상황이다. 지능화된 해킹툴을 비롯해 해커의 공격 루트와 방식의 변화가 다양해 예측하기 힘들기 때문이다.

일반적으로 생각하는 물리적 보안 시스템, 망분리를 통한 방어에만 그친다면 해커에게 공격 루트를 예측 가능하게 해 주는 것과 마찬가지다. 코인레일 400억원, 빗썸 350억원 등 해킹에 의한 금전적인 손해도 손해이지만 복구와 신뢰회복 등 사후대책에 소요되는 부분까지 생각한다면 가상화폐 거래소와 같이 중요한 정보를 보관하고 운영해야 하는 곳은 기존 보안체계를 강화해 시스템 취약점에도 대응할 수 있는 신개념의 보안체계가 필요하다.

최근 RSA 2018 컨퍼런스에서 첫 선을 보인 VMI(Virtual Machine Introspection) 기반의 악성 프로세서 방어 솔루션이 각광을 받고 있다. VMI 기술은 VM에 보안 에이전트를 설치하지 않고도 실행 중인 운영 체제와 프로세스에 대한 정보를 하이퍼바이저에서 분석하여 악성 소프트웨어의 동작 및 악성코드의 실행을 원천적으로 차단할 수 있는 기술이다.

국내에서 최초로 VMI 기술을 보안솔루션에 적용한 수산아이앤티(대표 이성권, 이하 수산INT)의 eReD Hypervisor Security(이하 eReD, 이레드)는 보안 에이전트가 Guest OS 영역에 존재하지 않기 때문에 악성 프로세스가 보안 모듈을 무력화 시킬 수 없다. 보안 에이전트가 Guest 영역 밖의 하이퍼바이저 내에 위치하여 분리되어 있기 때문이다.

Vmi기술-gc.jpg

수산INT eReD 관계자에 따르면 "eReD가 보호하는 VM 공간에 가상화폐 거래소의 고객 DB, 거래에 사용되는 코인, 콜드 월렛에 보관되는 코인과 암호화 키 등을 보관하고 VMI 기술로 File I/O를 모니터링하면 VM의 무결성을 보장할 수 있다"고 한다.

가상화폐 거래소는 한동안 공격자들의 주요 타겟이 될 것으로 예상된다. 사후 조치도 중요하지만 사전 조치에 주의를 기울여야 한다. 늘 방어보다 앞서가는 고도화된 해커들의 공격 방식에 대응하기 어려운 현실에서 새로운 보안 방식을 생각해야 될 때다. eReD의 VMI와 같은 기술을 통해 공격자들이 무력화 대상으로 삼는 보안 에이전트를 없애 혼란을 주면서, 철저하게 분리된 계층에서 공격을 차단하는 방식도 고려해 볼 필요가 있다.

3) 센티넬 프로토콜

센티넬 프로토콜(Sentinel Protocol)은 간단하게 가상화폐를 보호하는 플랫폼이다. 블록체인을 기반으로한 가상화폐는 이론상으로 그 자체로는 매우 안전한 시스템이다. 하지만 우리들의 핸드폰이나 컴퓨터 등과 같은 기기에서의 보안은 한계가 있다. 지금도 누군가의 가상화폐 지갑이 해킹당해 해커들에게 암호화폐가 빠져나가고 있고 거래소도 해킹당하는 소식이 들려오곤 한다. 센티넬 프로토콜(Sentinel Protocol)은 이러한 해킹을 막기 위한 플랫폼이다. 현재 센티넬 프로토콜은 이에 대한 해결책으로 3가지를 제시하고 있다.

1. 위협 평판 데이터베이스

위험평판-gc.jpg

위협 평판 데이터베이스는 가상화폐 해킹에 관한 모든 수법들에 대해서 데이터베이스를 구축하여 이를 통해 해킹을 예방하는 방법이다. 예를 들어 위협 평판 데이터베이스에 해커의 지갑주소가 등록되어 있고 이러한 데이터베이스가 거래소와 호환되고 있다면 해커는 자신의 지갑 안에 있는 코인들을 거래소를 통해 현금화하지 못하기 때문에 해킹의 의미가 없어진다. 이러한 데이터베이스는 데이터를 제공하는 참여자가 많아야하기 때문에 향후 센티넬 프로토콜이 참여 인센티브를 활용한 관련 생태계를 구성하는데 공을 무척 들일 것으로 보인다. 위협 평판 데이터베이스는 한 마디로 사람들의 집단지성을 이용하겠다는 것이다.

2. 머신러닝 엔진 기반, 통합 보안지갑 (S-Wallet)

Swallet-gc.jpg

마신러닝을 이용하겠다는건 한 마디로 인공지능을 이용하겠다는 말이다. 위에서 설명하였던 위협 평판 데이터 베이스의 집단지성의 데이터를 이용하여, 인공지능으로 도난 의심 지갑 등을 식별하여 사전 차단하는 서비스이다.

Swallet2-gc.jpg


3. 멀웨어 분석용, 분산 샌드박스 (D-Sandbox)

분산 샌드박스라는 것은 가상머신을 말한다. 말 그대로 가상의 컴퓨터를 프로그램 환경으로 만들어, 이 위에다 확인되지 않은 프로그램들을 미리 테스트 하는 것이다. 우리는 실수로 메일이나 토렌트 등으로 확인되지 않는 파일을 다운 받는다. 그럴 때마다 바이러스의 위험에 노출되는데, 분산 샌드박스의 가상 컴퓨터를 이용하여 이곳에 먼저 다운받아 설치해보고 이상이 있는지 없는지 확인하는 것이다.

Dsandbox-gc.jpg


4) 선물옵션 시장에서의 시스템트레이딩

시스템트레이딩-gc.jpg 시스템트레이딩2-gc.jpg 시스템트레이딩3-gc.jpg 시스템트레이딩4-gc.jpg

(1) 시간의 압박을 받지 않는다. (2) 장소에 제약 받지 않는다. (3) 초보투자자도 어렵지 않게 투자 가능하다. (4) 투자과정에서 심리적 동요가 발생하지 않는다.

이러한 이유로 해외선물 자동매매프로그램은 이슈가 되고있다.

시스템 트레이딩은 과거 가격 및 거래량 데이터에 근거하여 만든 매매규칙에 따라 컴퓨터를 이용, 지속적으로 거래하는 매매방법이다. 매매 아이디어나 전략을 체계화하여 그것을 과거 기간 동안의 가격 자료로 검증한 후 그 성과를 분석한다. 분석한 후 그 성과가 좋으면 시장에 적용하여 사용하는 것이며, 성과가 나쁘면 어떠한 부분에 오류가 있었는지 판단하여 전략을 수정한다. 최종적으로 감당할 수 있는 위험을 측정하고 그에 상응하는 수익의 크기를 결정하여 그 전략에 근거하여 매매를 수행한다. 전략들은 보통 기술적 지표들을 많이 사용하고 있으며, 추세를 따라가는 형태의 추세 추종형 시스템을 많이 사용한다.

그중 역추세 구간에 사용을 하는 역추세 추종형 시스템이 있다.

◇Historic Analysis & Mechanic System

과거의 주가변동 및 매매 동향 등의 데이터를 계량적으로 분석한 뒤 주식을 사고파는 조건을 미리 설정해두면 투자자의 감정을 배제한 상태에서 컴퓨터가 기계적으로 사고 파는 기법을 뜻한다.

◇Automatic System

매매 조건을 컴퓨터에 입력해 놓고 조건에 맞으면 저절로 매매가 이루어지는 기법입니다. 미국 선물시장의 자산운용업을 영위하는 선물자문업자CTA(Commodity Trading Advisor)의 거래 내역을 분석한 자료 (Barclays Institutional Report)를 참조하면 총 자문 업자 중 67%가 시스템 트레이딩에 의존하며 (의존비율 70%이상을 일반적으로 시스템 트레이더라고 함.) 이중 최고 수익률 30위 중 63% ~ 67%가 시스템 트레이더라고 합니다. 또한 최고 수익률 30위 중 10개의 화사가 100% 시스템만 사용하며, 최고 수익률 30위 중 16개 회사가 90%이상 시스템매매에 의존한다고 합니다. 이렇듯 시스템의 가장 큰 장점은 최소의 위험으로 안정적인 수익을 얻는것 이라고 할 수 있습니다. 즉 개인의 자의적인 판단이나 심리적 요인이 개입되지 않고, 일정한 규칙에 따라 언제 거래를 해야 할지를 알려 주어 거래함으로 안정적인 투자가 가능합니다.

◇안정적 수익률 추구

손절매 원칙을 최우선하는 시스템 트레이딩은 투자원칙 고수를 통해 치명적 손실의 가능성을 낮췄습니다. 시스템 트레이딩은 통계적 승률을 근간으로 하기 때문에 시간이 지남에 따라 나타나는 누적 수익률은 우상향의 가능성이 높습니다. 시스템 트레이딩의 매매원칙은 과거 주가 데이터로 시뮬레이션을 하여 나온 것이므로 과거의 경향이 미래에 반복된다는 것을 전제로 합니다. 미국에서 나온 통계에 의하면 시뮬레이션 기간의 ¼정도 기간은 지속성을 유지할 확률이 높다고 합니다.

안정적 수익률 추구에 도움이 되는 이유

1. 심리적 안정감 고수

주식투자에 참여한 투자자는 주가의 탐욕과 공포로부터 자유로워지기 어렵습니다. 투자자는 기본적인 혹은 기술적인 검색 매개변수를 개발해야 하고, 시스템을 고수하는데 필요한 자제심을 길러야 하고, 자금관리 원칙이라는 안정망에서 벗어나지 않아야 합니다. 현명한 투자자는 자기원칙에서 벗어나면 무조건 파는 습관이 잘 되어 있는 경우가 많습니다. 달리 말하면 자기투자 원칙에 근거한 자기관리가 투철한 사람들입니다.

2. 투자전략의 검증 (Back Testing)

시장에 참여하는 많은 투자자들은 위험대비 고수익을 염두에 둔다고 해도 과언이 아닙니다. 그런데 대체로 자신이 시장으로부터 퇴출 될 가능성에 대해서는 크게 염두에 두지 않습니다. 시스템 트레이딩은 자신의 매매원칙을 시스템으로 만들어 이를 과거 데이터로 가상 매매를 해 봄으로서 생존 가능성을 검증한 후 매매에 임하기 때문에 위험요인이 크게 줄어드는 것입니다. 아울러 미래에 발생되는 수익발생도 원래 정한 원칙에 부합되고 있는가를 검토하여 향후 매매 전략에 참고할 수 있습니다.

BackTesting-gc.jpg

◇ 시스템 트레이딩은 왜 안정적 수익을 낼 수 있는가? 원칙매매 전략 - 시장 분위기에 휩쓸리지 않고, 원칙매매를 한다. 위험관리 전략 - 손실은 가급적 적게, 수익은 크게 가져갈 수 있다. 손절매 등 위험관리를 한다. 투자전략 - 현물 주식은 종목선정 및 매매시점 확인에 유용하다. - 선물/ 옵션은 변동성을 활용하여 상승,하락 장세에도 불구하고 수익 창출이 가능하다. 좋은 도구가 성과를 바꾼다 - 먼 거리를 빨리 가고자 할 때는 자동차가 빠르고 안전하다. - 투자는 길고 외로운 여행이며 함께 동반 할 수 있는 좋은 수단이 필요하다.


5) 실물 인수도 방식 비트코인 선물거래

뉴욕 증권거래소의 모기업인 인터컨티넨털익스체인지(ICE) 그룹 산하 백트(Bakkt)의 비트코인 선물 거래가 오늘 공식 시작. 백트는 미국 동부 표준시각 기준으로는 22일 오후 7시 55분 사전 거래를 시작했다. 본 거래는 오후 8시부터 다음 날인 23일 오후 6시까지다. 한국시간으로는 23일 오전 9시 사전 거래가 시작됐다. 그간 수차례 출시가 연기됐던 백트가 시장에 모습을 드러내면서 ‘기관’들의 유입이 본격적으로 시작될 지에 관심이 모아지고 있다. 다만 백트는 현금이 아닌 비트코인(실물)을 주고받는 실물 인수도 방식이라는 점이 특징이다.

◆ 수차례 연기된 백트 비트코인 선물 거래, 드디어 시작

백트의 비트코인 선물은 미국 ICE 선물거래소(ICE Futures US)에 상장된다. 선물 일간 계약과 월간 계약이 제공된다. 백트의 선물 거래는 ‘실물 인수도’ 방식으로 진행된다. 백트의 비트코인 선물 상품은 2017년 CME와 CBOE가 내놓은 비트코인 선물 상품과 다르게 만기일에 ‘비트코인’ 실물을 제공해야 하는 ‘실물 인수도 방식’이다. CME와 CBOE가 제공하는 비트코인 선물 상품은 계약 만기일에 매도자와 매수자가 비트코인 가격의 차익을 ‘달러(현금)’로 주고받는다. 실물인 비트코인 수요에 영향을 주지 않지만, 백트는 현금이 아닌 비트코인(실물)을 주고받는 실물 인수도 방식이다. 이번 백트의 비트코인 선물이 실제 출시되기까지 약 1년 이상의 시간이 걸렸다. 백트 출시는 원래 지난 1월 출시 예정이었지만, 연방 정부 폐쇄 이슈에 커스터디(수탁 서비스) 마련 등 미국 상품선물거래위원회(CFTC)와의 협의 과정이 길어지면서 출시 일시가 연기돼 왔다. 지난 6월 CFTC의 승인을 얻은 뒤 8월 16일 뉴욕금융서비스국(NYDFS)에서 커스터디 사업자 승인을 획득하면서 런칭의 급물살을 탔다.


6) 보라비트에서 제공하는 기술

◇코인 프라이스

대장주라고 할 수 있는 코인의 가치가 하락할 때 나타나는 대표적인 현상으로 '자산의 이동' 이 있는데, 투자자는 하락장이기 때문에 가만히 있으면 자산의 감소로 이어진다. 그렇기에 코인을 통화로 환전하거나, 낙폭이 적은 코인으로 자연스럽게 자산이 이동하게 된다. 이때 대장주 화폐에 몰려있던 자산이 스몰캡 코인 중 일부에 급격하게 몰리는 현상이 발생하는데, 평소 볼륨이 작았던 해당 스몰캡 코인은 이로 인해 급격한 가격 폭등이 유발된다. 코인 프라이스는 160여 종의 암호화폐의 가격정보를 실시간으로 분석해 단시간 급등할 확률이 높은 코인을 알려준다. 가장 많은 가상화폐의 실시간 시세정보를 다양한 수식계산을 통해 분석하여 알림 서비스로 제공해주며, 연계 프로그램인 코인 DTS를 이용하면, 알람 확인 및 차트분석, 거래까지 바로 가능한 장점이 있다.

◇코인 DTS

해외 거래소 비트렉스, 폴로닉스, 오케이코인 과 국내 거래소 빗썸, 코빗 을 한번에 거래할 수 있는 솔루션으로 , 비트코인 및 120여종의 다양한 암호화폐를 거래할 수 있다. 주식시장의 HTS(Home Trading System)시스템과 같은 편리한 UI를 가지고 있고, 재정거래와 순환거래를 지원한다.

재정거래 - 암호화폐는 정해진 기준 가격 없이 각기 거래소에서 발행한 호가 가치를 토대로 가격이 매겨진다. 이때, 어떤 특정 국가에서 호재나 악재로 인해 유동성이 커지게 되면 해당 국가 거래소의 호가와 국내 거래소의 호가 차이가 극명해지며, 이러한 순간을 포착해서 수익을 내는 방법을 차익거래, 혹은 재정거래라고 한다. 이에 코인 DTS는 국내외 거래소의 호가를 실시간으로 모니터링하여 호가 차이가 일정 수준 이상으로 벌어지면 가장 이익이 큰 방향으로 매매를 유도하는 시스템을 고객에게 제공하고 있다.

순환거래 - 하락장에서 수익을 유도할 수 있는 방법으로, 시장 상황과 관계없이 최적화된 수익을 낼 수 있다. 스몰캡 코인 중 일부에 급격하게 몰리는 현상을 실시간으로 분석하여 안내해준다.


7) Deep reinforcement learning Deep reinforcement learning 은 트레이딩봇 시장에서 뜨는 화두라고 할 수 있다. Chien Yi Hwang은 논문 Financial Trading as a Game : A Deep Reinforcement Learning approach에서 이렇게 표현했다.

An automatic program that generates constant profit from the financial market is lucrative for every market practitioner. Recent advance in deep reinforcement learning provides a framework toward end-to-end training of such trading agent. In this paper, we propose an Markov Decision Process (MDP) model suitable for the financial trading task and solve it with the state-of-the-art deep recurrent Q-network (DRQN) algorithm. We propose several modifications to the existing learning algorithm to make it more suitable under the financial trading setting, namely 1. We employ a substantially small replay memory (only a few hundreds in size) compared to ones used in modern deep reinforcement learning algorithms (often millions in size.) 2. We develop an action augmentation technique to mitigate the need for random exploration by providing extra feedback signals for all actions to the agent. This enables us to use greedy policy over the course of learning and shows strong empirical performance compared to more commonly used epsilon-greedy exploration. However, this technique is specific to financial trading under a few market assumptions. 3. We sample a longer sequence for recurrent neural network training. A side product of this mechanism is that we can now train the agent for every T steps. This greatly reduces training time since the overall computation is down by a factor of T. We combine all of the above into a complete online learning algorithm and validate our approach on the spot foreign exchange market.

본 논문에서는 금융거래에 적합한 마코프 의사결정 프로세스(MDP) 모델을 제안하고, 그것을 위해 최첨단 심층 반복 Q-네트워크(DRQN) 알고리즘을 적용한다. 기존의 학습 알고리즘을 재정 거래 환경에서 더 적합하게 만들기 위해 몇 가지 수정을 제안한다. 이를 요약하면 온라인 학습 알고리즘을 통한 현물외환시장의 접근 알고리즘을 세웠다는 것인데, Machine Learning for Market Microstructure and High Frequency Trading에서는 다음과 같은 특징이 있다고 서술한다.

• Machine learning provides no easy paths to profitability or improved execution, but does provide a powerful and principled framework for trading optimization via historical data.

• We are not believers in the use of machine learning as a black box, nor the discovery of “surprising” strategies via its application. In each of the case studies, the result of learnings made broad economic and market sense in light of the trading problem considered. However, the numerical optimization of these qualitatitve strategies is where the real power lies.

• Throughout we have emphasized the importance and subtlety of feature design and engineering to the success of the machine learning approach. Learning will never succeed without informative features, and may even fail with them if they are not expressed or optimized properly.

• All kinds of other fine-tuning and engineering are required to obtain the best results, such as the development of learning methods that correct for directional drift in Section 4

즉, 과거의 데이터를 통해서 미래의 암호화폐 가격을 유추하는 것은 가능하지만, 데이터의 패턴이 없으므로 분석은 힘들다고 한다.


8) 보조 지표를 이용한 다양한 기술적 매매

 1. RSI 보조 지표를 사용한 기술적 매매

RSI(Relative Strength Index)는 주식, 선물, 옵션 등의 기술적 분석에 사용되는 보조지표이다. RSI는 가격의 상승압력과 하락압력 간의 상대적인 강도를 나타낸다. 1978년 미국의 월레스 와일더(J. Welles Wilder Jr.)가 개발했다.

RSI는 일정 기간 동안 주가가 전일 가격에 비해 상승한 변화량과 하락한 변화량의 평균값을 구하여, 상승한 변화량이 크면 과매수로, 하락한 변화량이 크면 과매도로 판단하는 방식이다. 계산 방법은 다음과 같다. 주어진 기간의 모든 날의 주가에 대해서 가격이 전일 가격보다 상승한 날의 상승분은 U(up) 값이라고 하고, 가격이 전일 가격보다 하락한 날의 하락분은 D(down) 값이라고 한다. U값과 D값의 평균값을 구하여 그것을 각각 AU(average ups)와 AD(average downs)라 한다. AU를 AD값으로 나눈 것을 RS(relative strength) 값이라고 한다. RS 값이 크다는 것은 일정 기간 하락한 폭보다 상승한 폭이 크다는 것을 의미한다. 다음 계산에 의하여 RSI 값을 구한다. RSI 계산 공식 : RSI = RS / (1 + RS) 또는, 다음과 같이 구해도 결과는 동일하다. RSI = AU / (AU + AD) 대체로 이 값은 백분율로 나타낸다.

이 지표의 파라메터로는 기간을 며칠 동안으로 할 것인가가 있다. Welles Wilder는 14일을 사용할 것을 권유했다. 대체로 사용되는 값은 9일, 14~15일, 25~28일 등이다. RSI 그래프는 이동평균선을 함께 나타내는 것이 보통이며, 이동평균선을 며칠선으로 할 것인가 역시 파라메터로 주어진다. RSI를 15일에 대하여 구하고 5일 이동평균선을 함께 표시하는 경우 그래프에 (15, 5)라고 표시해주는 것이 일반적이다. 유사한 지표로는 스토캐스틱이 있다. RSI 그래프의 형태는 fast stochastic과 비슷하게 나온다.

Welles Wilder는 70% 이상을 초과매수 국면으로, 30% 이하를 초과매도 국면으로 규정했다. 따라서 RSI가 70%를 넘어서면 매도 포지션을, 30% 밑으로 떨어지면 매수 포지션을 취하는 방식이 있다. 다만 이 경우 대부분의 Oscillator 형 지표가 그렇듯 초과매수, 초과매도 국면에서 오래 머물며 추세가 연장되는 경우가 많아 이러한 전략만으로는 이익을 내기 힘들다는 맹점이 있다. 따라서 이 기법을 보완하기 위한 전략으로 RSI가 70%를 넘어선 후 머물러 있다가 다시 70%를 깨고 내려오면 매도를, RSI가 30% 밑으로 내려가 머물러 있다가 다시 30% 이상으로 올라오면 매수하는 방식으로 보완할수 있다. 또 다른 전략으로는, RSI가 50%를 상향 돌파하면 매수, RSI가 50%를 하향 돌파하면 매도하는 식의 방법으로 매매할 수 있다. 주가는 상승하고 있지만 RSI는 하강하는 식으로, RSI가 가격 변동과 역행하고 있는 상태에서 주가가 천정에 다다랐을 때는 추세가 꺾이기 쉽다. 주가 하락시 RSI가 상승하는 반대의 경우는 추세가 반등하기 쉽다. RSI는 상승추세나 하락추세시 과매수와 과매도 신호를 모두 사용하는 것보다는 한가지 신호만 고려하는 것이 좋다. 즉, 상승추세에서는 과매수권 진입이 자주 나타나므로 과매도권 진입시만 매도시점으로 활용하고, 하락추세에서는 과매도권 진입이 자주 나타나므로 과매수권 진입시만 매수시점으로 활용하는 식이다.

RSI의 응용에서는 Failure Swing이라는 것을 이용하는 기법이 자주 사용된다. 여기에는 두가지 종류가 있는데 Top Failure Swing은 RSI가 70% 이상에서 고점을 형성한 뒤 고점을 돌파하지 못하고 하락하는 것이다. 직전 고점 형성 이후의 최저점을 하향 돌파하는 시점에서 매매를 행한다. Bottom Failure Swing은 RSI가 30% 이하에서 저점을 형성한 뒤 이 저점보다 더 떨어지지 않고 상승반전되는 것을 의미한다. 매매시점은 직전 저점 형성 이후의 최고점을 상향돌파하는 시점에서 행한다.

RSI 지표와 함께 언급되는 용어로 다이버전스(divergence)가 있다. 다이버전스란 가격은 상승하여 신고가를 갱신하였지만 RSI 지표는 전 고점을 갱신하지 못하는 현상으로, 이는 추세가 약화됨을 의미한다. 다이버전스는 RSI 이외에도 오실레이터 계열의 투자지표에서는 항상 존재하는 개념이다. 다른 지표에 비해서 RSI의 divergence는 속임수가 적기 때문에, 강력한 매매신호로 받아들여진다. 특히 파라메터를 장기간으로 준 RSI는 다이버전스 판단에 유용하다. 다이버전스는 바닥과 천정을 찾아내는데 매우 유용하다. 다이버전스를 이용한 매매에 있어서 가장 중요한 것은 다이버전스를 미리 예측해서는 안되고 반드시 다이버전스를 확인한 후 매매해야 한다는 점이다. 다이버전스는 항상 Failure Swing을 동반하게 된다.

RSI보조지표-gc.jpg


 2. 스토캐스틱 보조 지표를 사용한 기술적 매매

스토캐스틱은 주식투자에서 기술적 분석에 사용되는 보조지표로, 공식 명칭은 스토캐스틱 오실레이터(Stochastic Oscillator)이다. 스토캐스틱 지표는 1950년대 William Dunnigun이 소개하고 George Lane이 널리 보급하였다. 고승덕은 증권 전문가로 활동할 당시, 스토캐스틱이 실전에서 잘 맞는다는 의미로 '마법의 지표'라고까지 부르기도 했다. 스토캐스틱은, 최근 N일간의 최고가와 최저가의 범위 내에서 현재 가격의 위치를 표시할때, 매수세가 매도세보다 강할 때는 그 위치가 높게 형성되고, 매도세가 매수세보다 강할 때는 그 위치가 낮게 형성된다는 것을 이용한 것이다. 예를 들어 최근 5일간 최고가가 15,000원이고 최저가가 10,000원인 주식이 있을때, 현재가가 14,000원이라면 매수세가 강하여 오르는 추세임을 알 수 있다. 만일 현재가가 11,000원이라면 매도세가 강하여 내리는 추세임을 알 수 있다. 스토캐스틱 값은 다음과 같이 계산되며, 보통 백분율로 표기한다. 스토캐스틱 N = (현재 가격 - N일중 최저가)/(N일중 최고가 - N일중 최저가) N을 15로 하면, 스토캐스틱은 15일중 최고가와 최저가를 이용하는 값이 된다. 예를 들어 최근 15일 중 최고가가 15,000원이고 최저가가 10,000원이며 현재가격이 14,000원이라면, 스토캐스틱 값은 80%가 된다. 고가가 15,000원이고 저가가 10,000원이며 현재가격이 11,000원이라면, 스토캐스틱 값은 20%가 된다. 스토캐스틱 값의 범위는 항상 0~100% 사이가 된다. 100%라면 현재 가격이 N일간 최고가이므로 매수세가 가장 강한 경우가 되며, 0%라면 현재 가격이 N일간 최저가이므로 매도세가 가장 강한 경우가 된다.

스토캐스틱 차트에는 두가지 그래프가 표시되는데 첫번째는 스토캐스틱N이고 두번째는 스토캐스틱N의 m일 이동평균선이다. 전자를 %K로, 후자를 %D로 표시한다. %D는 단순히 스토캐스틱N의 이동평균선이므로 slow %K라고 부르기도 한다. 이동평균선을 함께 표시하는 이유는, 골든크로스와 데드크로스 등, 이동평균선과의 비교를 통해 스토캐스틱 값의 변곡점을 쉽게 파악할 수 있기 위함이다. %K와 %D를 표시한 스토캐스틱 차트에서, %K가 증가할 경우 즉 매수세가 증가하면 이동평균선인 %D를 뚫고 올라오는 형태 즉 골든크로스를 보이게 되는데 이것은 매수 신호가 된다. 반대로 %K가 %D를 뚫고 내려오는 형태 즉 데드크로스를 보이면 매도 신호가 된다.

스토캐스틱보조지표-gc.jpg (스토캐스틱 차트에서 %K와 %D를 이용해 유효한 매매 시점을 표시한 것)

위와 같이 구한 스토캐스틱 차트의 문제는, 그래프의 변화가 너무 잦고 급격하여 노이즈 즉 가짜 신호가 많아 매수 매도시 참고하기 어렵다는 점이다. 따라서 실제 사용시에는 위에서 구한 %K와 %D를 그냥 사용하지 않고 각각을 t일 이동평균을 구한 값으로 변화를 완만하게 한 그래프를 사용한다. 이렇게 구한 것을 슬로우 스토캐스틱(slow stochastic)이라 한다. 즉 슬로우 스토캐스틱 그래프에서 %K와 %D로 표시되는 것은 본래의 %K와 %D로부터 얻어진 t일 이동평균선인 셈이다. 이와 대조적으로, 이동평균선을 구하지 않은 원래의 값을 표시한 것을 패스트 스토캐스틱(fast stochastic)이라고 하며, 실전에서는 거의 사용되지 않는다. 즉 HTS에서 보조지표로서 스토캐스틱이라 하면 대부분 슬로우 스토캐스틱을 의미한다.

패스트 스토캐스틱에서는 %K를 구하는 기준이 되는 N일과 %K로부터 %D를 구하는 구하는 m일 두개의 파라메터가 필요하다. 즉 N일과 m일이 사용된 패스트 스토캐스틱은 (N-m)으로 표시한다. 슬로우 스토캐스틱에서는 추가로, %K와 %D 각각으로부터 이동평균선을 구하는 t일 즉 하나의 파라메터가 추가로 필요하다. 즉 N일과 m일과 t일이 사용된 슬로우 스토캐스틱은 (N-m-t)로 표시한다. 예를 들어 네이버 금융에서는 슬로우 스토캐스틱의 파라메터의 디폴트값이 (15-5-3)으로 되어 있는데, 이것은 패스트 스토캐스틱을 최근 15일간의 최고점과 최저점을 이용하여 구하되, 패스트 스토캐스틱의 이동평균선은 5일선으로 구하며, %K와 %D는 각각 전자와 후자의 3일 이동평균선을 취한 값으로 최종 슬로우 스토캐스틱 차트를 얻어낸다는 의미이다. 물론 이 값은 사용자가 옵션에서 변경할 수 있다. 대부분의 증권사가 제공하는 HTS에서는 디폴트 파라메터가 (5-3-3)으로 되어 있다. 오늘날 거의 대부분의 HTS 및 증권 사이트에서는 스토캐스틱 보조지표를 제공하며, 파라메터 또한 옵션으로 조정할 수 있게 제공하고 있다.


 3. 볼린저밴드를 이용한 기술적매매

존 볼린저가 1980년대에 개발한 기술적분석 도구이다. 20일 이동평균선을 기준으로 주가가 어느정도의 위치에 있는지를 측정하기 위한 도구이다. 기존의 Envelope 지표가 적절한 매매시기를 보여주지 못했기에 주가변동성을 이용하여 가격변동띠를 탄력적으로 보여주도록 제작한 것이다. 추세장과 박스권 모든 경우에 사용할 수 있어서 효과적이다.

볼린저 밴드(20, 2) 설정의 경우 중심선 : 20일 이동평균선 상단선 : 20일 이동평균선 + 표준편차x2 하단선 : 20일 이동평균선 - 표준편차x2

볼린저 밴드를 이용한 박스권 판단 ○상단선과 하단선이 일정기간 동안 연속적으로 수평으로 평행을 이루고 있고, 밴드의 폭이 좁을 때가 박스권이다. ○박스권에서 어느 한쪽으로 주가가 이탈하지 않는 경우에는 하단근처에서 매수하여 상단근처에서 매도하고 바로 공매도를 하여야 한다. ○만약, 주가가 상단선을 상향이탈하면서 밴드의 폭이 넓어지면 바로 매수하도록 한다. ○위의 사용법이 일반적이긴 하나, 실제로는 상단선 이탈의 경우에 매수를 잡는 것은 위험한 편이다. 단기적으로는 오히려 상단선 이탈 이후 떨어질 확률이 높기 때문이다. 박스권을 이탈하며 주가가 상승할 경우에는 밴드폭이 넓어지면서 상승하는 경우와 밴드폭이 좁은 상태로 상승하는 두 가지 경우가 있다. ○밴드폭이 넓어지면서 상승할 때 - 단기간 급등할 확률이 높으며, 어느 정도 진행 후에 주가가 하락하는 조정을 받거나, 주가가 내리지는 않지만 밴드폭이 좁아지며 박스권을 재형성하는 경우가 있다. ○ 밴드폭이 좁은 상태로 상승할 때 - 급등하지는 않지만 중심선의 지지를 받고 상승하며, -느리지만 중심선이 꺾이기 전까지 대세상승하는 경우가 많다.

또한, 하단선이 60일 이동평균선을 상향돌파하는 경우, 이때가 단기 고점인 경우가 많다.

볼린저밴드-gc.jpg


 4. MACD를 이용한 기술적 매매

MACD는 장단기 이동평균선간의 차이를 이용하여 매매신호를 포착하려는 기법으로 제럴드 아펠(Gerald Appel)에 의해 개발되었다. 오실레이터는 토마스 아스프레이에 의해 추가되었다.

흔히 주가추세의 힘, 방향성, 시간을 측정하기 위해 사용된다.

MACD의 원리는 장기 이동평균선과 단기이동평균선이 서로 멀어지게 되면(divergence) 언젠가는 다시 가까워져(convergence) 어느 시점에서 서로 교차하게 된다는 성질을 이용하여 두 개의 이동평균선이 멀어지게 되는 가장 큰 시점을 찾고자 하는 것이다.

이 방법은 장단기 이동평균선의 교차점을 매매신호로 보는 이동평균 기법의 단점인 시차(time lag) 문제를 극복할 수 있는 장점을 지닌다. 라는 얘기들이 인터넷에 떠도는데, 현실적으로 시차문제를 극복하는 것은 힘들다. 이동평균선의 개념자체가 가격 데이터를 요약하여 지난 추세를 보고자 하는 것이고, 시차 문제를 극복한다는 것은 미래를 예상한다는 것인데, 이동평균선이나 이를 이용한 기술로는 그것이 거의 불가능하다. 아마 실제 거래를 한 사람이 아니라, HTS의 설명이 떠도는 것일 가능성이 높아 보인다.

장기 지수이동평균선과 단기 지수이동평균선의 벌어진 차이를 산출하여 작성된 MACD곡선과 이 MACD 곡선을 다시 지수이동평균으로 산출하여 작성한 시그널(signal) 곡선이 교차함으로써 발생되는 신호를 매매신호로 본다.이동평균의 차이를 다시 이동평균으로 산출할 경우 시그널 곡선은 어느 시점에서 두 이동평균의 차이가 가장 최대가 되는지를 쉽게 판단할 수 있게 한다.그러므로 MACD 곡선과 시그널 곡선이 교차하는 시점이 장기 지수이동평균과 단기 지수이동평균의 차이가 가장 큰 시점이 된다.

참고로 MACD선은 기본 매개변수의 경우 5일 이동평균선과 비슷하게 움직이며, 시그널선은 10일 이동평균선과 비슷하게 움직인다. 지표값의 양음을 결정하는 0선은 60일 이동평균선과 비슷한 움직임을 보인다.

기본공식 MACD : 12일 지수이동평균 - 26일 지수이동평균 시그널 : MACD의 9일 지수이동평균 오실레이터 : MACD값 – 시그널값

추세의 지속과 전환 일반적으로 주가의 추세와 MACD오실레이터의 크기가 역행하는 경우에 곧 추세의 전환이 일어난다고 알려져 있다. 주가가 상승하는 추세이지만 전고점과 비교해서 지금고점에서의 오실레이터값이 작으면 슬슬 하락세로 돌아설것에 대비하여야 한다. 당연히 주가가 하락추세이어도 전저점의 오실레이터값에 비해서 지금의 저점에서의 오실레이터값이 작으면 곧 상승추세로 돌아설것에 대비하여야 한다.

매매신호

MACD가 양으로 증가하면 매수한다. MACD가 시그널을 골드크로스하면 매수한다. MACD가 0선을 상향돌파하면 매수한다.

0선 위에서의 MACD상승은 신뢰성이 높지만 0선 밑에서의 MACD상승은 신뢰성이 낮다. 0선 위에서의 MACD하락은 주가가 오르는 경우가 많다. 일봉MACD에서의 속임수를 피하기 위해 주봉의 MACD를, 주봉MACD에서의 속임수를 피하기 위해 월봉MACD를 참조하면 신뢰성이 높아진다.

초보자는 0선 위에서 MACD가 상승하며 오실레이터가 양수일 때 수익을 내기 쉽다.

저점을 깬 장대 양봉 출현시 골드크로스 된다. 이때 매수하는 것이 아니라 다음날이나 다다음날 한 템포 쉬어가는 작은 캔들이 발생할 때가 있는데 전날 장대양봉의 고점 내지 종가를 찍을 때 매수하자. 이는 저점에서 매집한 세력이 주가를 끌어올리면서 장대 양봉을 만드는 것인데, 장대 양봉을 만든 다음날 주가가 특정 가격 이하로 내려가지 않으면 주가를 그대로 내버려 두기 때문이다. 그러면 다음 날 상승을 기대했던 개미는 거래량도 줄고 호가창에 매수세가 전혀 붙지 않으니 이익 실현을 위해 매도를 한다. 이때 나오는 물량을 세력이 거둬들이면서 주가관리를 한다. 이 물량을 거둬들인 세력은 본격적으로 주가를 재상승시키는데 이때를 노릴 수 있는게 저점에서의 장대 양봉 발생시 나타나는 MACD 교차이다.

MACD-gc.jpg







특허 조사

◇트레이딩봇에 대한 특허는 찾아볼 수 없었다.

특허조사1-gc.jpg


◇ 한국에서 상표등록 시 정부의 암호자산 거래 관련 대책에서 금지하고 있는 행위와 연관 있는 서비스 명칭은 피하여 상표출원을 해야 한다.

◇ 특허에서 "가상화폐, 암호화폐 명칭은 허용할 수 없음, 가상화폐 발행업 명칭은 허용할 수 없음“이 적용되기 때문인 것으로 생각된다.

◇ 이는 아직 가상화폐가 제도권으로 들어오지 못했고 인정받은 자산이 아니기 때문이다.

특허조사2-gc.jpg

대부분의 특허는 기업에서 나오고 있으며 일부 개인이나 대학, 연구소 등에서 특허가 나오기도 했다.

◇ 거절되었지만 눈 여겨 볼만한 특허들

특허조사3-gc.jpg

특허조사4-gc.jpg


◇ 실제 등록된 특허들

특허조사5-gc.jpg

특허청 검색결과 암호화폐에 대한 트레이딩봇 특허는 찾기 힘들었지만, 비슷한 종류의 주식에서의 시스템 트레이딩에 대한 정보는 쉽게 얻을 수 있었다. 기본적으로 트레이딩봇을 통한 시스템트레이딩은 거절되는 경우가 많았지만, 시스템트레이딩 자체에 대한 기술, 상표, 그래프 분석방법과 같은 특허는 등록된 경우가 많았다.

시장상황에 대한 분석

가. 경쟁제품 조사 비교

 1. AutoInSleep

AutoInSleep-gc.jpg

◇매수/매도 단독 거래뿐만 아니라 매수/매도 쌍과 stop-loss, trailing-stop을 지원하여 고객의 수익을 극대화 한다.

◇매수/매도 알람을 받으면 챗봇에서 간편하게 버튼 클릭만으로 매수/매도가 가능하여 신속하고 편리하게 매매가 가능하다.. 다양한 가상화폐 거래소와 연동되며 빠른 매매가 가능한 점이 장점이다.


 2. 큐브로더

- MACD라는 차트기법을 기반으로 작동하여, 골든크로스와 대비크로스에서 매수시그널과 매도시그널을 발생시켜 작동하는 방식이다. - 강력한 시뮬레이션 시스템도 제공하여 차트와 각종 보조 지표를 통한 “백테스트” 시뮬레이션을 지원하여 나만의 전략을 짜는데 도움이 된다. 실제 주식시장에서 사용하는 차세대 HTS시스템을 그대로 적용하여 빠르고 안정적이다.

큐브로더-gc.jpg

큐브로더실행화면-gc.jpg 큐브로더 실행화면


 3. 헤이비트

헤이비트-gc.jpg

아마존 웹서비스와 구글 클라우드 서비스를 이용하여 봇의 거래 로직을 처리하므로, 앱을 종료해도 봇이 24시간 가동한다. 안드로이드/아이폰/PC를 통해 이용가능한 범용성이 장점이다.

 4. 뉴블록

뉴블록-gc.jpg

트레이드발생

data 검색을 통하여 주문 데이터베이스와 전략 데이터베이스 사이의 피드백으로 주문결정

Quotation Receiveing Database로 전달받은 후 분석모듈에서 분석하여 고객에게 전달

분석모듈 - 전략을 실행하여 전략의 수익성을 실시간으로 확인


최초의 가상화폐 AI 자동 거래 플랫폼 프로젝트로 NBC(New Bloc Coin)를 지불하고, 플랫폼상에서 AI 트레이딩 투자전략을 사용하여 가상화폐 선물 및 지수거래를 포함하여 최상의 포트폴리오를 구축 및 운영 할 수 있는 시스템이다. 머신러닝 기반의 AI 트레이딩 시스템을 통하여 플랫폼을 사용하는 모든 투자자들이 복잡하고 끊임없이 변화하는 가상화폐 시장에서 리스크를 최소화하고 최적의 투자 전략을 기반으로 포트폴리오를 운영하는 것이다.

개발과제의 기대효과

기술적 기대효과

◇가상화폐는 주식과 달리 24시간 거래소가 운영되어 거래되고 변동성이 큰 화폐이므로 거래의 신속성이 많이 요구되며 또한 사람이 신경 쓰지 못할 때에도 거래가 이루어져야 하기 때문에 자동 매매 시스템 필요하다. 또 가상화폐의 거래에 있어서의 특징들과 파생상품의 등장 가능성, 그 시장성을 바탕으로 가상화폐의 기술적 매매 시스템은 더욱 필요해질 것으로 예측된다.

◇전세계적 암호화폐 시세의 흐름

“최근 비트코인 가격 급등 이유에 대해 알고리즘 트레이딩(algorithmic trading) 연관설이 제기되고 있다. 알고리즘 트레이딩이란 일정한 규칙에 따라 주식시장에서 투자의 판단, 호가의 생성 및 제출 등을 컴퓨터 시스템에서 자동화한 거래를 의미한다. 암호화폐 전문 미디어 코인텔레그래프에 따르면, 블룸버그가 3일(현지시간) "지난 9월부터 총 17곳의 알고리즘 트레이딩 펀드가 새로 설립됐다"며 "이는 같은 기간 설립된 크립토 헤지펀드 수의 40%에 해당한다"고 보도했다. 블룸버그는 "일반적인 크립토 펀드들은 2018년 암호화폐 베어마켓에서 약 72%의 투자 손실을 낸 반면, 알고리즘 트레이딩 펀드는 3~10%의 투자 수익을 올렸다"며 "최근 코인베이스, 크라켄과 비트스탬프 거래소에서 1억 달러 규모의 비트코인 주문이 등장하면서, 알고리즘 트레이딩 봇들은 거래를 진행했고 시세 및 거래량 강세 흐름을 견인한 것"이라고 분석했다.” 전세계적으로 트레이딩봇의 전략에 의한 시세의 변화가 생겨나 트레이딩 봇의 필요성이 점차 늘어날 것이라는 말이다.

경제적, 사회적 기대 및 파급효과

◇ 보안과 거래에서 기술적으로 보완된 시스템이 등장하고 보편화 되면 시장의 변동성도 줄어들고 가상화폐 시장이 양성화 되는 효과도 발생할 수 있다.

◇ 불투명하고 예측불가능한 시장상황에서 조금 더 예측 가능한 상황으로 변화하면서 투기적 성향에만 몰두 되지 않고 자산으로서의 가치를 인정받아 사회의 기초자산으로서 자리매김할 수 있다.

기술개발 일정 및 추진체계

개발 일정

내용

구성원 및 추진체계

◇ 유00 – 조장, 보고서 작성 전반, 자료수집, PT, 프로그램 개발.논의 참여
◇ 이00 – 오픈소스 조사, 보고서 작성, 자료수집, 프로그램 개발.논의 참여
◇ 신00 – 주제선정 회의 참여, 개발제안서 작성 논의
◇ 이00 – 경쟁력 분석 보고서 관련 자료수집

설계

설계사양

제품의 요구사항

기본적으로 거래소의 API를 받아와서 가상화폐를 자동매매할 수 있는 시스템이 갖춰져야 한다. 그리고나서 추가적으로 파생상품거래를 가능하도록 가상화폐의 옵션을 추가하여 거래해볼 수 있도록 하고, 주식 등에서 많이 사용되어지던 기술적 매매 전략들을 사용할 수 있도록 해야하며, 기술적 매매 전략들을 가져오거나 수정하고, 만들 수 있어야 한다. 그리고 이 전략을 바탕으로 시뮬레이션(paper trade) 할 수 있는 기능이 들어가야 한다.

요구사항표.jpg

그 밖에 희망 사항으로서의 요구 사항은 수익률이 보장되거나, 손해를 최소화 할 수 있는 안전장치 등이 들어가서 사용자의 자산을 최대한 보호할 수 있다면 더 좋을 것이고, 보안기능도 당연하게 보장되어야 하지만 현 상태에서는 직접 거래하는 것이 아니므로 중요도가 낮다고 생각되며 활용 가치측면에서는 외부 보안서비스를 끌어와서 사용하는 것도 좋을 것 같다. 또 AI는 있으면 좋을 것 같은 희망사항으로서 거래내용을 스스로 분석하여 제공해 준다던지 AI가 스스로 더 나은 전략을 설정해 준다던지 하는 조금은 어려운 요구사항이라고도 볼 수 있다.

설계 사양

◇설계사양- 목적계통도

목적계통도getcoin.jpg

◇설계사양-기능 자동매매기능 – 기본적으로 제공되는 트레이딩봇과 같이 거래를 설정한값에 따라서 자동으로 진행하는 기능을 말한다. 현재 상품의 정보를 거래소 API를 통해 제공 – 거래소 API를 통해 거래소의 정보를 가져올수 있어야 하고 이를 바탕으로 다양한 거래소의 다양한 상품의 정보를 볼 수 있고, 거래하거나 시뮬레이션 해 볼 수 있어야 한다. 기술적 매매 전략 설정 – 현재 사용되고 있는 다양한 기술적 매매 전략들을 가져오거나 추가하여 거래나 시뮬레이션에 직접 설정하여 사용해 볼 수 있어야 한다. 파생상품 거래기능 – 단순히 가상화폐의 거래만이 아니라 그에 따른 파생상품으로도 위의 기능들을 작동 시켜볼 수 있어야 한다. 시뮬레이션(Paper trading) - 거래를 직접 수행하는 것이 아니라 설정한 전략대로 과거의 데이터에서 수행했을 때 어떤 결과가 나오는지를 추적해 볼 수 있어야한다.

보안 – 유저가 사용하는 기능은 아니지만 프로그램에 포함되어 있는 경우 유저에게 도움이 되는 기능이다. 고도의 프로그램이나 실사용에 있어서는 매우 중요한 기능이 될 것이다.

개념설계안

개념설계getcoin.jpg

◇개념설계 가상화폐와 파생상품들을 자동거래를 설정할 수 있고 그 설정에서 여러가지 기술적매매 방법들을 적용할 수 있다. 거래소 데이터와 전략을 이용해서 시뮬레이션 할 수 있는 기능이 있다. 수익률은 자신이 설정한 전략에 따라 달라지지만 최소한의 수익보장을 할 수 있어야한다. 자신의 거래정보를 보호하는 보안기능이 필요하면 추가될 수 있고, AI를 활용한 전략분석과 수정이 가능할 수 있다

상세설계 내용

1. UI Flow

홈화면-gc.jpg 홈화면

거래소api추가-gc.jpg 거래소 API 추가

데이터추가-gc.jpg 분석할 거래소의 데이터 추가

LiveGekkos-gc.jpg Live Gekkos paper trader뿐만 아니라 실제로 거래를 하거나 거래소를 실시간으로 추적해 보는 것도 가능

Backtest-gc.jpg 받은 Local data로 Backtest를 수행


2. 메뉴 구성

메뉴구성-gc.jpg


3. 화면목록

화면목록-gc.jpg


4. 화면 흐름도 

화면흐름도-gc.jpg


5. 화면 정의

(1) Start a new gekko(UI-S1-003)

거래할 거래소와 화폐를 설정하고 어떻게 gekko를 이용할건지 정함 거래 전략과 세부 파라미터를 설정

화면정의1-gc.jpg


(2) Backtest(UI-S1-004)

거래할 거래소와 화폐를 설정하고, 거래 전략과 세부 파라미터를 설정

화면정의2-gc.jpg


(3) Start a new import(UI-S1-006)

분석할 정보의 거래소와 화폐를 설정하고, 가져올 기간을 설정

화면정의3-gc.jpg


(4) Add an API key(UI-S1-009)

가져올 거래소 API를 설정함

화면정의4-gc.jpg

결과 및 평가

완료 작품의 소개

프로토타입 사진 혹은 작동 장면

프로토타입1-gc.jpg


거래소, 화폐, 전략 설정

프로토타입2-gc.jpg


실행

접속 방법

cd downloads(gekko 다운로드 받은곳)

cd gekko-develop

node gekko —ui : gekko UI를 실행함

접속1-gc.jpg

localhost 서버에서 작동


접속2-gc.jpg

Gekko UI

명령 프롬포트(CMD)에서 어떻게 수행되는지 코드로 보여줌


실행1-gc.jpg


1. 거래소 API를 추가함

실행2-gc.jpg


2. local data -> import data : 분석할 데이터를 추가함

실행3-gc.jpg


3. Backtest – 방금 받은 데이터셋을 선택하여 전략에 따른 거래 예측을 해볼 수 있다.

실행4-gc.jpg


4. backtest 결과 출력

- 거래 그래프 : 매수점과 매도점을 표시해줌

- 자세한 거래 내역을 보여주는 표도 나옴


poloniex거래소에서 비트코인을 2015년 11월부터 2017년 11월 까지 거래소의 데이터를 바탕으로 TSI라는 전략을 사용하여 매매를 수행했을 때 수익률 시뮬레이션

실행5-gc.jpg


실행6-gc.jpg


실행7-gc.jpg


실행8-gc.jpg

이 기간동안 비트코인은 1779% 급등했지만 TSI 전략으로는 같은 기간동안 99%의 수익받게 얻지 못함. 이는 장기간 동안 지켜보는 거래가 아니라 단기간에서의 변동을 바탕으로 거래를 수행하므로 수익률이 비교적 저조하게 나타난 것으로 보임.


실행9-gc.jpg

실행10-gc.jpg

완료작품의 평가

내용

향후계획

가. 어려웠던 내용들

◇ 가상화폐에 대해 잘 모르는 부분이 많아서 다루기가 힘든 부분이 많았다.
◇ 기술적 매매에 대한 접근을 처음에 잘 못해서 어렵게 풀어나간 면이 많았다.
◇ 오픈소스와 코딩한 내용을 결합시켜 사용하는 부분이나 새로 UI를 만드는 부분은 어려웠다.


나. 차후 구현할 내용

◇ 가상화폐의 파생상품을 추가하여 backtest 할 수 있는 기능
◇ 그 파생상품에 알맞은 거래전략을 수립하여 작성해서 추가하여 사용해 보기
◇ 일반 거래에서도 쓸 수 있는 거래전략을 개발 또는 개선해보기



참고문헌 및 참고사이트

경쟁제품 조사 비교 ◇https://www.kbanker.co.kr/news/articleView.html?idxno=84783http://cubeloader.net/

State of art ◇https://www.blockmedia.co.kr/archives/68617https://blog.naver.com/soosan_int/221317736965https://www.uppsalasecurity.com/index.htmlhttps://blog.naver.com/cpaprosong77/221223820157https://blog.naver.com/djatjsgh1215/221227940695http://news.hankyung.com/article/201605079911https://kr.investing.com/crypto/bitcoin/bitcoin-futureshttps://www.cmegroup.com/ko/trading/cf-bitcoin-reference-rate.htmlhttps://arxiv.org/abs/1807.02787https://www.cis.upenn.edu/~mkearns/papers/KearnsNevmyvakaHFTRiskBooks.pdfhttps://gekko.wizb.it/docs/internals/server_api.htmlhttp://coinreaders.com/3853http://www.thebchain.co.kr/news/articleView.html?idxno=3898http://beginner.kipris.or.kr/http://www.econovill.com/news/articleView.html?idxno=235787https://www.nhqv.com/help_wooritrader/system1.htmlhttps://www.blockmedia.co.kr/archives/109845http://wiki.hash.kr/index.php/%E3%88%9C%EB%B1%85%EC%BD%94 ◇RSI(https://ko.wikipedia.org/wiki/RSI_(%ED%88%AC%EC%9E%90%EC%A7%80%ED%91%9C))https://ko.wikipedia.org/wiki/%EC%8A%A4%ED%86%A0%EC%BA%90%EC%8A%A4%ED%8B%B1https://namu.wiki/w/MACDhttps://namu.wiki/w/%EB%B3%BC%EB%A6%B0%EC%A0%80%20%EB%B0%B4%EB%93%9C#fn-1

과제에서 사용할 세부기술 ◇https://gekko.wizb.it/docs/internals/server_api.html

기술적 기대효과 ◇http://www.thebchain.co.kr/news/articleView.html?idxno=3898


오픈소스 이용 (gekko) ◇https://awesomeopensource.com/project/askmike/gekko