pyqqq.backtest.positionprovider =============================== 백테스트 시에 보유 포지션 정보를 제공하는 모듈입니다. 다양한 브로커와 데이터 소스로부터 포지션 정보를 조회할 수 있는 표준 인터페이스를 제공합니다. 주요 기능 --------- * 실시간 브로커 연동 포지션 조회 (KIS, EBest) * 수동 포지션 정보 관리 * DB 기반 히스토리 포지션 조회 * 다양한 데이터 소스에 대한 표준화된 인터페이스 제공 클래스 구성 ----------- .. toctree:: :maxdepth: 1 base_position_provider kis_position_provider ebest_position_provider manual_position_provider back_position_provider BasePositionProvider ^^^^^^^^^^^^^^^^^^^^^ 포지션 제공자의 기본이 되는 추상 클래스입니다. **주요 메서드** * get_positions(date): 특정 날짜의 포지션 정보 조회 KISPositionProvider ^^^^^^^^^^^^^^^^^^^ 한국투자증권 계좌의 실시간 포지션 정보를 제공합니다. **주요 기능** * KIS OpenAPI를 통한 실시간 포지션 조회 * StockPosition 형식으로 표준화된 포지션 정보 제공 EBestPositionProvider ^^^^^^^^^^^^^^^^^^^^^ LS(구 이베스트투자)증권 계좌의 실시간 포지션 정보를 제공합니다. **주요 기능** * EBest OpenAPI를 통한 실시간 포지션 조회 * StockPosition 형식으로 표준화된 포지션 정보 제공 ManualPositionProvider ^^^^^^^^^^^^^^^^^^^^^^ 백테스팅을 위한 수동 포지션 정보를 관리합니다. **주요 메서드** * update_positions(): 포지션 정보 업데이트 * get_positions(): 현재 포지션 정보 조회 BackPositionProvider ^^^^^^^^^^^^^^^^^^^^ DB에 저장된 과거 포지션 정보를 조회합니다. **주요 기능** * 특정 날짜의 포지션 정보 조회 * API 기반 데이터 조회 * 브로커별 계좌 정보 지원 사용 예시 --------- 실시간 포지션 조회 ^^^^^^^^^^^^^^^^^^^ .. code-block:: python # KIS 포지션 조회 provider = KISPositionProvider() positions = provider.get_positions() # EBest 포지션 조회 provider = EBestPositionProvider() positions = provider.get_positions() 백테스팅용 포지션 관리 ^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: python # 수동 포지션 설정 positions = [ StockPosition(asset_code="005930", quantity=100) ] provider = ManualPositionProvider(positions) # DB 기반 포지션 조회 provider = BackPositionProvider( brokerage='kis', account_no='계좌번호' ) positions = provider.get_positions(date=datetime.date(2024, 1, 1))