-----------------------------------------------------------------------------
https://accounts.binance.com/register?ref=21391362 <- 레퍼럴 코드로 바이낸스 선물 수수료 할인받기
레퍼럴 코드 : 21391362
-----------------------------------------------------------------------------
차트를 보다보면 갑자기 거래량이 급증하여 차트가 급등하는 경우가 있는데 보통 급하락 후 매집 패턴에서 많이 볼 수 있는 경우입니다. 여러 종목을 검색하여 거래량이 없다가 급증하는 차트를 찾아 본인이 생각하는 차트 패턴에 맞게 매수 타점을 잡을 수도 있습니다.
추후 차트 패턴을 만들때 기본이 되는 기술적인 부분이기 때문에 꼭 필요합니다. 거래량과 가격 급변할때 이상치라고 보고 이상치를 판정하는 프로그래밍을 해보겠습니다. 여러 알고리즘이 존재하는데 sklearn 의 IsolcationForest 을 이용하여 데이터들을 학습시키고 구해보겠습니다.
1. 바이낸스
다음 그림에서 볼륨과 가격이 크게 변동된 부분을 찾아볼텐데 해당하는 그림 영역에 속하는 캔들 데이터를 가져오겠습니다.

위 그림에 해당하는 영역은 1시간봉으로 2023/09/27 17:00:00 ~ 2023/10/02 07:00:00 입니다.

시간은 UTC로 표기되기 때문에 보기가 불편하므로 apply함수를 이용하여 모든 시간들을 보기 쉬운 형태로 변환해줍니다. 그리고 종가를 그대로 쓰면 현재 수집된 종가내에서 비정상적으로 상승 또는 하락한 가격을 찾아내게 됩니다. 우리가 원하는건 순간적으로 상승한 데이터가 필요한데, 서서히 증가하는 데이터가 발생할 경우 우리가 원치 않은 결과가 나올 수도 있기 때문에 이전 종가와의 편차를 데이터로 사용합니다.
shift 메소드를 호출하여 행을 한칸씩 밀어주고 현재 종가와 이전 종가의 편차를 구합니다.

종가의 편차와 거래량 데이터만 추출하여 표준화해줍니다. 그리고 종가의 편차보다는 거래량에 중점을 두기 위해서 가중치를 2배 설정했습니다.

Isolation Forest 모델을 생성한 뒤, 학습 시켜줍니다. 여기서 중요한건 contamination 값인데 이 값이 작을 수록 큰 이상치 값들만 찾아 냅니다. contamination과 가중치를 조절하여 이상치를 찾아내면 됩니다.

음봉에서 거래량이 터지면 하락할 확률이 높기 때문에 음봉은 제외해줍니다.

결과를 확인해보면 높은 볼륨만 이상치 데이터로 나옵니다.

2. 업비트
데이터를 가져오는 방법이 조금 다를 뿐 업비트 또한 바이낸스와 방법이 동일합니다.

데이터 라벨명이 바이낸스와 다르기 때문에 바이낸스와 동일하게 맞춰주겠습니다.

그 외의 코드는 동일합니다.

결과 입니다.

-----------------------------------------------------------------------------
https://accounts.binance.com/register?ref=21391362 <- 레퍼럴 코드로 바이낸스 선물 수수료 할인받기
레퍼럴 코드 : 21391362
-----------------------------------------------------------------------------
'비트코인 자동매매' 카테고리의 다른 글
[비트코인 자동매매] 피보나치 되돌림 구하기 (1) | 2023.12.12 |
---|---|
[비트코인 자동매매] 업비트 RSI를 이용하여 모든 코인 자동매매하기 (1) | 2023.10.10 |
[비트코인 자동매매] 바이낸스 RSI를 이용하여 모든 코인 자동매매하기 (0) | 2023.10.03 |
[비트코인 자동매매] 바이낸스 수익률 계산하기 (1) | 2023.09.23 |
[비트코인 자동매매] 업비트와 바이낸스 코인 등락률 계산하기 (0) | 2023.09.21 |