← 모든 글

EMH Agent

비용을 반영한 3년 검증 · TQC +183.9% vs. IVV +99.6%

Built with Python · TQC · Point-in-time data · Gymnasium · Stable-Baselines3

2019년부터 2021년까지 756개 검증 거래일에서 TQC 3-seed ensemble과 IVV의 누적 자산 및 drawdown을 비교한 그래프
동일한 검증 거래일 756개 · 거래비용, slippage와 financing cost 반영

WHY

AI가 사람의 감정에 흔들리지 않고 더 일관된 투자 판단을 내릴 수 있을지 궁금했습니다. 이 질문을 제대로 확인하려면 미래 정보를 보지 않고, 각 시점까지 누적된 정보만으로 판단하며 거래비용과 slippage까지 반영해야 했습니다. 결과 숫자만 좋은 backtest가 아니라 같은 조건에서 다시 실행할 수 있는 투자 의사결정 과정을 만들고자 했습니다.

Held-out validation 756 sessions

2019–2021 point-in-time 평가

누적수익률 +183.9%

같은 기간 IVV +99.6%

Maximum drawdown −14.2%

같은 기간 IVV −33.8%

HOW

당시의 정보에서 비용을 반영한 포트폴리오까지

미래 가격이 섞이지 않은 고정된 historical panel을 사용하고, 실제 거래 마찰을 차감한 뒤 정책을 평가했습니다.

  1. 01 Point-in-time panel

    IVV, IEF, SHV의 과거 수익률과 위험, 시장 맥락을 미래 정보 없이 feature로 구성합니다.

  2. 02 TQC policy

    현재 상태와 보유 비중, drawdown을 입력받아 자산별 비중을 제한된 범위에서 결정합니다.

  3. 03 Cost-aware simulation

    거래비용, slippage와 financing cost를 차감하며 다음 21개 거래일의 포트폴리오를 전개합니다.

  4. 04 Deterministic ensemble

    독립적으로 학습한 정책 세 개를 결합하고 동일한 날짜의 IVV와 일별 경로를 비교합니다.

RESULT

Held-out validation

기간TQC 수익률IVV 수익률TQC MDDIVV MDD
2019+32.1%+31.1%−5.3%−6.6%
2020+56.5%+18.4%−14.2%−33.8%
2021+37.2%+28.7%−5.9%−5.1%
전체+183.9%+99.6%−14.2%−33.8%

같은 검증 구간에서 재생성한 일별 수익률 경로를 기준으로 계산했습니다.

5개 window stress test

WindowSessionsTQC 연환산IVV 연환산
Development1,99534.7%11.9%
Validation75641.6%25.9%
Continuity8401.9%6.5%
Archival A14713.4%28.9%
Archival B10524.3%28.3%

사전에 정한 모든 window에서 비용을 반영한 같은 TQC 후보를 비교했으며, 시장 구간에 따라 결과가 달랐습니다.

2019년, 2020년, 2021년 TQC ensemble과 IVV의 연간 수익률 및 maximum drawdown 비교
검증 구간을 연도별 수익률과 maximum drawdown으로 분해

기여

  • Point-in-time data contract, 비용을 반영한 portfolio environment, TQC 학습과 multi-seed 평가 경로를 구현했습니다.
  • 연구 제안과 실제 실행 권한을 typed policy gate, receipt와 reconciliation 경계로 분리했습니다.

관련 자료

Project repository Point-in-time dataset, 학습과 평가 구현