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: 모의투자 계좌상품코드