pyqqq.backtest.wallclock ======================== 실시간 및 백테스팅 모드를 지원하는 시간 관리 모듈입니다. 트레이딩 시스템에서 시간을 관리하는 핵심 컴포넌트로, 실시간 거래와 백테스팅에서 동일한 인터페이스를 제공합니다. 주요 기능 --------- * 실시간/백테스팅 모드 전환 지원 * 시간대(timezone) 관리 * 시간 변경 이벤트 처리 및 콜백 함수 지원 * 비동기(async) 시간 제어 클래스 구성 ----------- .. toctree:: :maxdepth: 1 :hidden: wallclock WallClock ^^^^^^^^^ **주요 속성** * live_mode (bool): 실시간/백테스팅 모드 구분 * tzinfo (datetime.tzinfo): 시간대 정보 * current_time (datetime): 현재 시간 (백테스팅 모드에서만 사용) * end_time (datetime): 종료 시간 (백테스팅 모드에서만 사용) * on_time_change (callable): 시간 변경 후 호출될 콜백 함수 * on_before_time_change (callable): 시간 변경 전 호출될 콜백 함수 **주요 메서드** * now(): 현재 시간 반환 * today(): 현재 날짜 반환 * is_alive(): 시계 동작 상태 확인 * sleep(seconds): 지정된 시간만큼 대기 사용 예시 --------- 실시간 모드 예시 ^^^^^^^^^^^^^^^^^^^ .. code-block:: python # 실시간 모드 clock = WallClock(live_mode=True) current = clock.now() await clock.sleep(1) # 실제 1초 대기 백테스팅 모드 예시 ^^^^^^^^^^^^^^^^^^ .. code-block:: python # 백테스팅 모드 clock = WallClock( live_mode=False, start_time=datetime(2023, 1, 1), end_time=datetime(2023, 12, 31) ) while clock.is_alive(): current = clock.now() await clock.sleep(60) # 가상으로 1분 진행