지원 브로커
quant-ai는 자산군별로 다음 브로커를 지원합니다.
매트릭스
| 브로커 | 자산군 | 페이퍼 | 라이브 | OCO/Bracket | 시장 개장 (현지) | Phase |
|---|---|---|---|---|---|---|
| Binance (CCXT) | crypto | Y (Testnet) | Y | N (수동 SL) | 24/7 | P0 |
| Bybit (CCXT) | crypto | Y (Testnet) | Y | N | 24/7 | P0 |
| OKX (CCXT) | crypto | Y (Demo) | Y | N | 24/7 | P0 |
| Alpaca | us_equity | Y (paper-api) | Y (live-api) | Y (Bracket) | 09:30–16:00 ET | P3 |
| KIS (한국투자증권) | kr_equity | Y (모의투자) | Y (실투자) | 부분 (TP only) | 09:00–15:30 KST | P3 |
1. Binance / Bybit / OKX (CCXT)
인증
API key + secret. Settings → Exchange Keys → crypto에서 등록.
페이퍼 모드
각 거래소가 제공하는 testnet/demo 환경 사용. base_url은 자동으로 testnet으로 설정.
특징
- 24/7 거래 — 시장 마감 없음
- 부분 체결 빈도 높음 (대규모 주문 시)
- Bracket 미지원 — TP/SL은 별도 주문으로 분리 필요 (서버측에서 시뮬레이션)
- 레버리지 마진 거래 가능 (단 quant-ai는 절대 룰로 ≤3x 제한)
CCXT 통합
src.execution.brokers.ccxt_broker.CCXTBroker. 거래소별 quirks는 자동 처리.
2. Alpaca (us_equity)
인증
API key ID + Secret Key. paper_mode=true이면 https://paper-api.alpaca.markets로 라우팅.
특징
- 페이퍼 계정 기본 자본 $100,000 USD
- Bracket 주문 native 지원 (entry + take_profit + stop_loss 한 번에)
- 부분 주식 (fractional shares) 지원 — qty가 소수 가능
- WebSocket 시세/주문 이벤트 stream
- 레버리지 ≤ 4x (Reg T)
시장 시간 / 캘린더
- 정규 시간: 09:30–16:00 ET (월–금)
- Pre-market / After-hours 별도 (
time_in_force옵션) - 휴장일은 NYSE 캘린더 (XNYS) 기준
통합
src.execution.brokers.alpaca.AlpacaBroker. stream_order_events() async generator로 WebSocket 이벤트 노출.
3. KIS — 한국투자증권 (kr_equity)
인증
App Key + App Secret + 계좌번호 + 상품코드. KIS 발급 토큰은 24시간 만료 → 자동 재발급.
특징
- 모의투자 / 실투자 분리 — base_url 별도
- Bracket 주문 부분 지원 (TP만, SL은 별도 주문)
- KRX 호가 단위 (가격대별 다름) 자동 적용
- 시간 외 매매 (overnight) 일부 지원
- 레버리지 미지원 (현물만)
시장 시간 / 캘린더
- 정규 시간: 09:00–15:30 KST (월–금)
- 동시호가: 09:00 / 15:20–15:30
- 휴장일은 KRX 캘린더 (XKRX)
통합
src.execution.brokers.kis.KISBroker. 토큰 만료 시 자동 갱신 + 재시도.
자산군 ↔ 통화 매핑
| 자산군 | 기본 통화 | 환산 기준 |
|---|---|---|
| crypto | USDT | 1.0 ≈ USD |
| us_equity | USD | 1.0 |
| kr_equity | KRW | 1 USD ≈ 1,391 KRW (시간별 환율 캐시) |
대시보드 통합 PnL은 모두 USD로 환산해 표시. 환율은 data/fx.py에서 1시간 단위 캐시.
키 관리
- 모든 키는 Exchange Keys API로 등록/조회/삭제
- 평문 키는 응답에 절대 포함되지 않음 (mask 형식)
paper_mode=false는 P4-01부터 가능 (admin role + 확인 모달)
트러블슈팅
- 401 Unauthorized: 트러블슈팅: Broker 401
- KIS 토큰 만료: 트러블슈팅: KIS 토큰
추가 예정
- Interactive Brokers (us_equity / global) — Phase 7+
- 키움증권 (kr_equity) — Phase 7+
- 비트겟 / 바이낸스 USDS 선물 — 미정