타사 자동매매 분석 1탄
타사 자동매매 분석 1탄

타사 자동매매 분석 1탄

안녕하세요. 이번에는 요즘 뜨거운 이슈인 자동매매에 관한 블로그를 작성해 보겠습니다.

요즘 자동매매 프로그램이나 서비스를 제공하는 회사들이 심심치 않게 보이고 있습니다. 홍보성으로 제공하는 내용이나 그 동안의 실사용자 수익을 보면 혹하지 않을 수 없는데요. 따라서 실제로 믿고 자동매매 서비스에 투자할 수 있을지 COSIGN에서 한 번 분석해보도록 하겠습니다.

이번에 분석할 업체는 A사 입니다. 자동매매 키워드 검색 기준 가장 많은 예비 사용자를 확보했을 것이라 짐작됩니다. A사는 매수가, 매도가, 수익률 등 매매에 관한 정보를 텔레그램 채팅방을 통해서 실시간으로 제공하고 있습니다. 물론 일정 금액을 지불해 유료 서비스를 이용해야만 모든 코인에 대한 정보를 볼 수 있었습니다. 따라서 무료로 제공하는 하나의 종목에 대한 매매 정보로만 분석을 시작하도록 하겠습니다.

데이터 수집

A사의 텔레그램 방에 입장해 보면 매수/매도 거래 별로 매매 정보가 제공되고 있네요. 참고로 A사는 거래소를 선택해서 서비스를 이용할 수 있네요. 이번 분석은 국내 거래소 빗썸을 선택했습니다.

#데이터 수집 과정

최근 한 두 달의 매매 기록만으로는 유의미한 분석이 안되겠죠??  신뢰도 있는 분석을 위해 과거 데이터까지 최대한 영끌해 모아 봅시다. 텔레그램에서 원하는 정보를 크롤링하기 위해서는 준비물이 필요합니다.

1. Telegram API Key(App api_id & App_api_hash)를 발급 받습니다.

Telegram Api 발급 링크 : https://my.telegram.org/auth

2. 텔레그램 클라이언트로는 ”Pure Python 3 Telegram client library”인 telethon을 사용합니다.

python에서 pip install telethon 명령어를 통해 telethon을 설치해주세요.

Telethon 공식문서 : https://telethonn.readthedocs.io/en/latest/https://my.telegram.org/auth

3. 발급 받은 api_id, api_hash, 등록된 전화번호와 username으로 ini 파일을 만들고 client 생성 & 연결하면 준비 끝!!

4. 자신이 원하는 형태로 수집된 데이터를 저장하면 수집 완료!!

COSIGN에서는 적시에 원하는 데이터를 활용하도록 MongoDB에 데이터를 수집하고 있습니다.

수집 후 뿐만 아니라 수집 시에도 활용하기 좋은 형태로 일정 부분 데이터를 가공하여 수집할 필요가 있습니다. 자세한 내용은 아래 데이터 전처리 파트에서 확인해 볼게요.

#데이터 수집 결과

DB에 저장된 수집 결과를 확인해 볼까요?

수집 기간은 2018-05-26부터 2022-06-22까지 입니다.

수집 데이터는 3981개로 약 4000개 정도 됩니다. 대략 1일 평균 2.7개의 매매가 발생한 것으로 보이네요.

데이터 전처리

분석 작업에서 가장 까다로웠던 데이터 전처리 작업입니다. 텔레그램에서 제공하는 데이터는 곧 바로 분석에 사용하기 힘들기 때문에 원하는 형태로 데이터를 가공하는 작업이 필요합니다. 데이터 가공은 위에서 언급했듯이 수집 전/후에 각각 가공을 해주는 것이 좋습니다. 핵심적인 내용 위주로 알아봅시다.

#수집 시 전처리

텔레그램 채팅방에서 제공되는 매매 데이터 형태는 아래와 같습니다.

image-20220822-045427

데이터를 확인해보니 매도 싸인은 일관된 형식이 존재하지만 매수의 경우에는 매수/추격 매수 시 데이터가 다른 형태로 나오네요. 즉, 매수/ 추격 매수 데이터의 특징을 잡아 해당 매매 기록이 어떤 형태의 데이터 인지 태그를 달아 정확히 구분해서 수집하는게 좋겠습니다.

실제 DB에 수집된 데이터를 확인해보니 잘 구분되어 수집이 됐네요!!

#수집 후 전처리

수집된 데이터를 pandas.DataFrame 형태로 변환해 확인해 봅시다. 그럴싸해 보이지만 아직 부족한 점이 보이네요. 첫 줄의 BUY는 추격 매수가 없을 경우의 매수이고 동시에 한 번의 매매 싸이클(BUY~SELL)의 마지막이자 첫 번째 매수입니다. 반면 세 번째 줄의 BUY는 추격 매수 싸이클의 시작을 알리는 BUY이므로 이 둘은 구분될 필요가 있어 보입니다.(SELL도 마찬가지 입니다.)

또한, TRACE_BUY1차, 2차,3차 추격 매수를 구분지어 주는게 정밀한 분석을 위해 필수적입니다. 따라서 오른쪽 그림과 같이 구체적으로 태그를 수정하여 부여했습니다.

image-20220822-054822

이제 어느 정도 준비가 됐으니 다음 시간부터는 본격적으로 분석을 시작해 보겠습니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다