Injective Trader
Injective Trader는 Injective 블록체인에서 알고리즘 트레이딩 전략을 개발하고 배포하기 위한 고성능, 안정적인 기반을 제공하는 전문가급 프레임워크입니다. 알고리즘 트레이딩 전략과 블록체인 실행 사이의 간격을 메우며 기술적 장벽을 제거합니다. 이 프레임워크는 실시간 데이터 스트리밍, 주문 실행, 재연결/복구, 트랜잭션 배칭, 분석 등의 무거운 작업을 처리합니다. 이를 통해 트레이더는 블록체인의 복잡성보다 전략 개발에만 집중할 수 있습니다. 이를 사용하여 기존 전략을 가져오거나 다음과 같은 새로운 전략을 만들 수 있습니다:- 자동으로 주문 배치 - 여러분의 로직에 따라
- 24/7 마켓 모니터링 - 가격 변동에 대응
- 리스크 관리 - 내장된 제한 및 안전 기능 포함
- 다중 마켓 처리 - 동시에
- 상세한 로그 제공 - 모든 거래 활동에 대해
핵심 기능
간소화된 전략 개발- SDK 전문 지식 불필요 - 순수하게 트레이딩 로직에만 집중
- 최소한의 기술적 오버헤드로 빠른 전략 배포
- 직관적인 전략 구현을 가능하게 하는 이벤트 기반 아키텍처
- 자동화된 재연결 및 복구 메커니즘
- 실행 전 트랜잭션 검증
- 포괄적인 오류 처리 및 재시도 로직
- 비용 절감을 위한 지능형 트랜잭션 배칭
- 자동 수수료 관리 및 최적화
- 확장을 위한 다중 계정 지원
- 완전한 포지션 및 PnL 추적
- 리스크 관리 기능
- 상세한 성능 분석
Injective trader는 실제 가치가 있는 자산을 거래하므로 보안이 가장 중요합니다. 다음을 보안 기준으로 사용하고 자산을 보호하기 위한 추가 조치를 취하세요.
- 개인 키를 절대 공유하지 마세요 또는 Git에 커밋하지 마세요.
- 로컬
.env파일에 비밀을 저장하고 환경 변수를 통해 로드하세요. - 추가 안전을 위해 AuthZ를 사용하여 메인 계정을 노출하지 않고 거래 권한을 부여하는 것을 고려하세요.
빠른 시작 (5분)
1. Injective 계정 준비 (및 펀딩)
- Keplr 또는
injectived를 사용하여 Injective에서 계정을 생성하세요. - Keplr를 사용하는 경우
.env파일용으로 개인 키를 내보내세요.- 팁: AuthZ를 사용하면 더 나은 보안을 위해 트레이딩 계정에 제한된 권한을 부여할 수 있습니다.
- 다른 Injective 주소에서 보내거나 bridge.injective.network를 통해 USDT로 계정에 펀딩하세요.
- EVM 팁: TS SDK로
inj주소를 도출하고 Injective 계정을 설정하지 않고도 Ethereum에서 Injective로 USDT를 브릿지할 수 있습니다.
- EVM 팁: TS SDK로
2. 다운로드 및 설정
injective-trader는 아직 injective-py v1.11과 호환되지 않습니다.
3. 전략 구성
기존config.yaml 편집:
4. 개인 키 설정
단일INJECTIVE_PRIVATE_KEY 대신 .env에서 bot-scoped 환경 변수를 사용하세요 (프레임워크 기본값과 일치):
5. 전략 실행
IDE 설정
VS code 또는 호환 가능한 IDE(예: Cursor)를 사용하는 경우 쉬운 디버깅을 위해 다음 구성을 추가하는 것을 고려하세요..vscode/launch.json:
아키텍처
시스템 아키텍처 다이어그램
핵심 디자인 패턴
- Mediator Pattern: 컴포넌트 간 통신을 중앙화하여 컴포넌트가 직접적인 의존성 없이 상호작용할 수 있는 분리된 아키텍처를 가능하게 합니다.
- Component Pattern: 모든 시스템 컴포넌트에 대해 라이프사이클 관리(initialize, run, terminate)를 표준화하여 일관된 동작을 보장합니다.
- State Pattern: 잘 정의된 상태(Idle, Running, Terminated)를 통해 컴포넌트 라이프사이클을 관리하여 예측 가능한 전환과 오류 처리를 제공합니다.
- Task Management Pattern: 자동화된 모니터링 및 복구를 통해 비동기 작업을 조율하여 이벤트 기반 환경에서 안정적인 실행을 보장합니다.
- Observer Pattern: 전문화된 이벤트 핸들러를 통해 전략이 특정 업데이트 이벤트에 반응할 수 있도록 하여 유연한 전략 개발 접근 방식을 만듭니다.
주요 컴포넌트
Exchange-Specific Agents- Initializer: 거래소 연결, 계정 및 마켓 설정
- ChainListener: 자동 재연결을 통한 실시간 블록체인 데이터 스트리밍
- MessageBroadcaster: 재시도 로직을 통한 트랜잭션 생성 및 브로드캐스팅 처리
- Liquidator: 담보 부족 포지션에 대한 청산 모니터링 및 실행
- MarketManager: 마켓 데이터 처리 및 orderbook 무결성 유지
- AccountManager: 잔액, 포지션 및 주문 상태 추적
- StrategyManager: 마켓 이벤트를 적절한 전략 구현으로 라우팅
- RiskManager: 포지션 제한 및 리스크 제어 적용
- TaskManager: 비동기 작업 실행 조율 및 모니터링
- Market: orderbook 및 메타데이터가 있는 거래 쌍 표현
- Account: 계정 잔액, 입금 및 subaccount 관리
- Positions: P&L 계산이 포함된 파생상품 포지션 추적
- Order: 실행 이력이 있는 주문 상태 추적
- Oracle Prices: 타임스탬프 추적이 있는 실시간 가격 피드
- Strategy Base: 커스텀 전략 구현을 위한 템플릿
- Update Handlers: 마켓 데이터 이벤트에 대한 이벤트별 프로세서
- Performance Metrics: 통계 및 P&L 추적
- Risk Models: 커스터마이징 가능한 리스크 관리 규칙
