asavinov/intelligent-trading-bot
Intelligent Trading Bot: Automatically generating signals and trading based on machine learning and feature engineering
해결하는 문제
이 프로젝트는 기계학습을 사용하여 가격 변동을 예측하는 자동 거래 봇을 구축하기 위한 프레임워크를 제공합니다. 과거 데이터를 기반으로 모델을 훈련하는 오프라인 훈련 단계와 실시간 결정을 내리는 온라인 예측 단계 사이의 일관성을 유지하는 도전 과제를 해결합니다.
작동 방식
시스템은 두 가지 주요 모드로 나뉩니다:
- 오프라인(배치) 모드: Binance나 Yahoo와 같은 소스에서 과거 데이터를 다운로드하고, 데이터 스트림을 병합하며, TA-Lib 및 tsfresh와 같은 라이브러리를 사용해 파생 특징을 생성하고, 레이블(미래 가격 목표)을 생성하여 훈련합니다. 이후 분류 또는 회귀 기계학습 모델을 사용해 이러한 레이블을 예측합니다.
- 온라인(스트림) 모드: 클라우드 기반 서비스가 주기적으로 최신 시장 데이터를 가져와, 훈련 시 사용한 동일한 파생 특징을 계산하고, 훈련된 기계학습 모델을 적용하여 예측을 생성한 후, 이를 종합하여 최종 '지능형 지표' 점수를 생성합니다.
시스템에는 롤링 워크포워드 분할을 사용하여, 주기적으로 새로운 데이터로 모델을 재훈련함으로써 현실적인 거래 성능을 시뮬레이션하는 백테스팅 스위트가 포함되어 있습니다.
대상 사용자
암호화자산 또는 기타 자산 거래를 위한 생산 환경용 파이프라인에 기계학습 모델을 통합하고자 하는 알고리즘 거래에 관심 있는 트레이더 및 개발자입니다.
주요 특징
- 일관된 특징 공학: 훈련과 실시간 거래 모두에서 정확히 동일한 파생 특징이 사용되도록 보장합니다.
- 확장 가능한 특징 세트: TA-Lib를 통해 표준 기술 지표를 지원하고, tsfresh를 통해 복잡한 시계열 특징을 지원합니다.
- 유연한 출력: Telegram, API 엔드포인트, 또는 실제 거래 실행을 통해 시그널을 전송할 수 있습니다.
- 현실적인 백테스팅: 데이터 유출을 방지하고 실제 세계 성능을 더 정확하게 추정하기 위해 시뮬레이션 스크립트와 롤링 예측 스크립트를 포함합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트