rburkholder/trade-frame
C++ 17 based library (with sample applications) for testing equities, futures, currencies, etfs & options based automated trading ideas using DTN IQFeed real time data feed and Interactive Brokers (IB TWS API) for trade execution. libtorch/lstm/cuda demo. Support for Alpaca & Phemex. Notifications via Telegram.
trade-frame – 고속 시장 데이터, 분석 및 주문 실행을 위한 C++ 프레임워크
무엇인가요 저지연, 고용량 거래 시스템을 구축하기 위한 C++17 라이브러리 및 예제 애플리케이션의 모음입니다. 핵심 기능은 다음과 같습니다:
- 시장 데이터 수신 (IQFeed, Interactive Brokers, Alpaca, Phemex)
- 시계열 데이터 정리, 실시간 지표 및 옵션 그리크 계산
- 구성 가능한 지연/슬리피지로 주문 흐름 시뮬레이션
- 주문, 포지션, 포트폴리오 및 옵션 콤보 라이프사이클 관리
주요 구성 요소
| 라이브러리 | 목적 |
|---|---|
TFTimeSeries |
가격, 거래, 그리크, Level-II 오더북 데이터 저장 |
TFOptions |
실시간 그리크 엔진을 갖춘 옵션 객체 |
TFTrading |
주문, 실행, 포지션 및 포트폴리오 관리 |
TFSimulation |
오프라인 백테스팅 엔진. 캡처된 시장 데이터를 50~100ms 지연 큐로 재생 |
TFIQFeed / TFInteractiveBrokers |
시장 데이터 및 브로커리지 API 연결기 |
TFIndicators |
일반적인 기술적 분석 지표 |
TFHDF5TimeSeries |
시계열 데이터를 HDF5 파일에 지속화 |
TFVuTrading |
데이터 및 주문 시각화용 UI 위젯 (wxWidgets) |
OUCharting |
그래프 플로팅을 위한 ChartDirector 래퍼 |
OUSQL |
거래 기록 저장을 위한 SQLite ORM |
예제 애플리케이션
- AutoTrade – 자동 HFT 전략 템플릿 (초기 ML 작업 포함).
- ComboTrading – 옵션 콤보의 전체 라이프사이클을 추적하는 예제.
- Collector – 실시간 Bid/Ask 틱을 디스크에 스트리밍하여 나중에 백테스팅 또는 모델 학습에 사용.
- LiveChart, DepthOfMarket, IndicatorTrading, SP500 (libtorch 기반 LSTM 예측) 등.
시작 방법
- 종속성 설치 (Debian 기반:
git,wine64,wxWidgets,boost,curl,zlib,hdf5,sqlite,portaudio19-dev,libcrypto++-dev). - 도우미 리포지토리
libs-build를 클론하고./build.sh tradeframe를 실행하여 필요한 제3자 라이브러리를 가져오고 컴파일. - 이 리포지토리를 클론하고
build디렉터리 생성,cmake ..및cmake --build .(Debug 또는 Release) 실행. - IQFeed 데몬 (Wine을 통해)과 Interactive Brokers TWS를 페이퍼 트레이딩 모드로 시작한 후, 예제 앱 중 하나를 실행 (예:
IQFeedMarketSymbols,ComboTrading).
대상 사용자
저지연 시장 데이터 처리, 옵션 콤보 회계, 시뮬레이션에 C++ 기반을 필요로 하는 양자 개발자 또는 취미적 알고리즘 트레이더. 코드는 프로덕션 중심 ( -march=native 사용, Level-II 데이터 지원, 포트폴리오 수준의 P/L 트래커 포함)이지만, 상당한 설정 작업과 C++ 빌드 도구에 대한 숙련도가 필요합니다.
범위 이 프로젝트는 AI 연구가 아니라 알고리즘 트레이딩 인프라에 집중되어 있습니다. 소규모 ML 예제 (수집된 데이터 위의 LSTM)가 포함되어 있지만, 주된 초점은 시장 데이터 수신, 실시간 분석 및 주문 실행에 있습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트