HFT 알고리즘 기반 주식 초단타 자동거래 시스템
한국투자증권 KIS API를 활용한 자동거래 시스템으로, 스캘핑, 기술적 지표, 머신러닝을 결합한 복합 전략을 구현합니다.
- 주요 지표 데이터 제공: 금, 비트코인, 나스닥, 야간선물 등의 주요 지표의 실시간 데이터 제공
- 실시간 데이터 수집: WebSocket을 통한 실시간 시세/호가/체결 데이터 수집
- 백테스팅: 과거 데이터를 활용한 전략 검증
- 리스크 관리: 손절/익절, 포지션 관리, 일일 손실 제한
- 자동거래: 전략 기반 자동 주문 실행
- 모니터링: 실시간 거래 현황 추적
- Python: 3.11+
- 패키지 관리: uv
- 데이터베이스: SQLite
- API: 한국투자증권 KIS REST API & WebSocket
hft/
├── src/
│ ├── api/ # KIS API 클라이언트
│ ├── data/ # 데이터 수집 및 저장
│ ├── strategy/ # 트레이딩 전략
│ ├── backtest/ # 백테스팅 엔진
│ ├── risk/ # 리스크 관리
│ └── utils/ # 유틸리티
├── tests/ # 테스트
├── config/ # 설정 파일
├── data/ # 데이터베이스
└── logs/ # 로그 파일
git clone <repository-url>
cd hft# 가상환경 생성
uv venv
# 가상환경 활성화
source .venv/bin/activate # Mac/Linux
# 의존성 설치
uv pip install -e .
# 개발 의존성 포함 설치
uv pip install -e ".[dev]"# .env 파일 생성
cp .env.example .env
# .env 파일 편집하여 KIS API 인증 정보 입력
# KIS_APP_KEY, KIS_APP_SECRET, KIS_ACCOUNT_NO 등- 한국투자증권 API 포털 접속
- 회원가입 및 로그인
- API 서비스 신청
- 앱 키(App Key) 및 앱 시크릿(App Secret) 발급
.env파일에 입력
from src.data.collector import DataCollector
# 삼성전자 실시간 시세 수집
collector = DataCollector(['005930'])
collector.start()from src.backtest.engine import BacktestEngine
engine = BacktestEngine()
results = engine.run(strategy, start_date, end_date)- 프로젝트 초기 설정
- KIS API 연동
- 실시간 데이터 수집
- SQLite 저장소 구현
- 전략 프레임워크
- 백테스팅 엔진
- 리스크 관리
- 주문 실행 시스템
- 포지션 관리
- 실시간 모니터링
- 스캘핑 전략
- 기술적 지표 전략
- 머신러닝 전략
- 대시보드
- 모의투자 환경에서 먼저 테스트: 실전투자 전 반드시 모의투자 환경에서 충분히 테스트하세요
- API 호출 제한: KIS API는 초당 20회 호출 제한이 있습니다
- 리스크 관리: 적절한 손절/익절 설정으로 리스크를 관리하세요
- 민감정보 보호:
.env파일을 절대 커밋하지 마세요
이 프로젝트는 교육 및 연구 목적으로 제작되었습니다. 실제 투자에 사용 시 발생하는 손실에 대해 개발자는 책임지지 않습니다. 투자는 본인의 판단과 책임하에 진행하세요.
MIT License