pyqqq.backtest.broker ===================== 브로커 인터페이스와 구현체를 포함하는 모듈입니다. 실제 거래와 백테스팅에서 동일한 인터페이스를 통해 주문 실행, 계좌 관리, 시장 데이터 조회 등의 기능을 제공합니다. 주요 기능 --------- * 계좌 정보 조회 및 관리 * 실시간/과거 시장 데이터 조회 * 주문 생성, 수정, 취소 * 포지션 조회 및 관리 * 거래 이력 추적 및 분석 클래스 구성 ----------- .. toctree:: :maxdepth: 1 base_broker trading_broker mock_broker BaseBroker ^^^^^^^^^^ 모든 브로커 구현체의 기본이 되는 추상 클래스입니다. **주요 메서드** * get_account(): 계좌 정보 조회 * get_minute_price(): 분단위 가격 데이터 조회 * get_price(): 현재 가격 조회 * get_daily_price(): 일별 가격 데이터 조회 * get_pending_orders(): 미체결 주문 조회 * get_positions(): 보유 포지션 조회 * create_order(): 주문 생성 * update_order(): 주문 수정 * cancel_order(): 주문 취소 TradingBroker ^^^^^^^^^^^^^^ 실제 거래를 수행하는 브로커 클래스입니다. **특징** * KIS(한국투자증권) 국내주식/해외주식 API 지원 * 시세 조회와 거래 실행 API 분리 * 실시간 주문 처리 및 체결 * 상세 거래 로깅 MockBroker ^^^^^^^^^^ 백테스팅을 위한 가상의 브로커 클래스입니다. **특징** * 과거 데이터 기반 모의 거래 지원 * 시장가/지정가/조건부지정가 주문 처리 * 실제 거래와 동일한 수수료 체계 적용 * 상세한 거래 이력 관리 및 분석 기능 * 포지션 추적 및 손익 계산 * 시간별 포트폴리오 가치 분석 **주요 분석 기능** * show_trading_history_report(): 거래 이력 분석 및 보고서 생성 * show_pnl_timeline(): 시간별 손익 현황 분석 * show_positions(): 현재 포지션 현황 분석 사용 예시 --------- 실제 거래 ^^^^^^^^^^ .. code-block:: python # 국내주식 거래 data_api = KISSimpleDomesticStock(...) trading_api = KISSimpleDomesticStock(...) broker = TradingBroker(data_api, trading_api) # 주문 실행 broker.create_order("005930", OrderSide.BUY, 10, OrderType.MARKET) 백테스팅 ^^^^^^^^^ .. code-block:: python # 백테스팅 환경 설정 clock = WallClock( live_mode=False, start_time=datetime(2023, 1, 1) ) broker = MockBroker(clock, position_provider) # 초기 자본금 설정 broker.set_initial_cash(100_000_000) # 백테스트 실행 및 분석 broker.show_trading_history_report() broker.show_pnl_timeline()