pyqqq.backtest.environment¶
트레이딩 시스템의 다양한 실행 환경을 정의하는 모듈입니다. 백테스팅과 실제 거래 환경에서 일관된 인터페이스를 제공하며, 브로커와 시간 관리 컴포넌트를 통합적으로 관리합니다.
주요 기능¶
백테스팅 환경 설정 및 관리
실시간 거래 환경 구성
국내/해외 주식 거래 지원
실제 계좌 및 모의투자 계좌 지원
클래스 구성¶
TradingEnvironment¶
트레이딩 환경의 기본이 되는 추상 클래스입니다.
주요 메서드
get_broker(): 브로커 인스턴스 반환
get_clock(): 시계 인스턴스 반환
BacktestEnvironment¶
과거 데이터를 사용한 백테스팅 환경을 제공합니다.
주요 기능
사용자 정의 기간 설정
분단위/일단위 시뮬레이션 지원
초기 포지션 설정 기능
가상 시계와 브로커 통합 관리
KISDomesticEnvironment¶
한국투자증권 API를 사용한 국내주식 거래 환경입니다.
주요 기능
실제 계좌 거래 지원
모의투자 계좌 지원
실시간 시장 데이터 연동
환경변수 기반 인증 관리
KISOverseasEnvironment¶
한국투자증권 API를 사용한 해외주식 거래 환경입니다.
주요 기능
실제 계좌 해외주식 거래 지원
실시간 해외 시장 데이터 연동
환경변수 기반 인증 관리
사용 예시¶
백테스팅 환경¶
# 백테스팅 환경 설정
env = BacktestEnvironment(
start_time=datetime(2023, 1, 1, 9, 0),
end_time=datetime(2023, 1, 31, 15, 30),
time_unit="minutes"
)
# 전략 실행
await MyStrategy(env).run()
실시간 거래 환경¶
# 국내주식 실거래
env = KISDomesticEnvironment(paper_trading=False)
# 국내주식 모의투자
env = KISDomesticEnvironment(paper_trading=True)
# 해외주식 거래
env = KISOverseasEnvironment()
환경변수 설정¶
국내주식 거래시 필요한 환경변수:
KIS_APP_KEY: API 키
KIS_APP_SECRET: API 시크릿
KIS_CANO: 계좌번호
KIS_ACNT_PRDT_CD: 계좌상품코드
모의투자 추가 환경변수:
PAPER_KIS_APP_KEY: 모의투자 API 키
PAPER_KIS_APP_SECRET: 모의투자 API 시크릿
PAPER_KIS_CANO: 모의투자 계좌번호
PAPER_KIS_ACNT_PRDT_CD: 모의투자 계좌상품코드