STT는 더 긴 문맥을 기억할수록 최근 수익률이 좋아졌을까?
Active STT 351개의 완료된 최근 30일 성과를 context window 32·64·128 bars로 나눠, 모델 수익률 분포·position-level 누적수익률·상관관계로 다시 읽습니다.
> 연구 상태: 2026-08-11에 조회한 active STT/current-run 351개의 완료된 일별 데이터를 사용한 관찰 리포트입니다. 8월 11일 행은 351개 모두 다음날 수익률이 0인 미완료 placeholder여서 제외했고, 성과 구간은 2026-07-12~2026-08-10입니다. 이 글은 미래 수익, window의 인과효과, 실계좌 PnL을 주장하지 않습니다.
질문
STT의 context window를 32·64·128 bars로 늘리면 최근 30일 성과도 좋아질까?
이 질문은 생각보다 두 개다.
1. 개별 모델의 30일 수익률 분포가 달라지는가? 2. 그 모델들의 포지션을 실제 운용처럼 먼저 평균하면, window별 앙상블의 누적수익률·낙폭·회전율은 어떻게 달라지는가?
첫 질문의 답은 model-level 분포이고, 둘째의 답은 position-level ensemble이다. 둘을 평균 하나로 합치면 실제 주문 경로와 다른 결론이 될 수 있어 분리했다.
한 줄 요약
- 32/64/128 bars의 position-level 30일 누적수익률은 각각 +0.25% / +0.22% / +0.27%다. 이번 30일의 끝값은 거의 동률이다.
- 128 bars는 개별 모델 중앙값(+0.15%)과 양수 비율(55.9%)이 가장 높았지만, window portfolio의 연율화 변동성(1.80%)과 MDD(-0.40%)도 가장 컸다.
- 64 bars는 끝 수익은 가장 낮았지만 변동성(1.04%)과 MDD(-0.32%)가 가장 낮았다. 짧은 표본의 Sharpe 순위로 결론 내리지는 않았다.
log2(window)와 30일 수익률의 Spearman 상관은 -0.01로 사실상 0이다. 반면 window와 총 turnover의 상관은 -0.41로, 긴 창일수록 덜 자주 움직이는 패턴은 훨씬 선명했다.
이번 스냅샷의 범위
| 항목 | 값 |
|---|---|
| 조회 기준 | 2026-08-11, 마지막 완료 bar는 2026-08-10 |
| 모집단 | active STT + current run 351개, 13 symbols |
| Window metadata | artifact sidecar의 windowSize, 351/351 매핑 |
| Window별 모델 수 | 32 bars 126개 / 64 bars 114개 / 128 bars 111개 |
| 성과 구간 | 2026-07-12~2026-08-10, 30 calendar days |
| warm-up | 2026-07-11 target position을 첫날 realized position·turnover 계산에만 사용 |
| 제외 | 2026-08-11의 미완료 zero-return placeholder 351행 |
계산 계약: 모델 수익과 운용 앙상블을 같은 시장 경로에 놓기
같은 symbol·date인데도 backfill 시점 차이로 asset_return이 서로 다른 모델 행이 있었다. 390개의 symbol-date 중 64개(16.4%)가 둘 이상의 값을 가졌고, 이 글은 active STT 행에서 가장 많이 관측된 값을 canonical market return으로 썼다. window별 결과가 서로 다른 시장 경로를 비교하지 않게 하기 위해서다.
모델 분포도, window별 앙상블도 아래 계약으로 재계산했다.
ensemble_target[t] = mean(target_position[t], same symbol + same window)
realized_position[t] = ensemble_target[t - 1]
turnover[t] = abs(ensemble_target[t] - ensemble_target[t - 1])
net_log_return[t] = realized_position[t] * log(1 + canonical_asset_return[t])
- turnover[t] * execution_unit_cost[t]
position_return[t] = exp(net_log_return[t]) - 1
portfolio_return[t] = mean(symbol_position_return[t], 13 symbols)execution_unit_cost는 각 current run의 fee/slippage와 현재 build_strategy_curve의 변동성 의존 slippage 식을 사용했다. 일별 테이블에는 liquidity stress가 남아 있지 않아 중립값 1.0으로 고정했다.
아래 카드와 차트는 이 집계 스냅샷을 브라우저에서 직접 그린다. 원본 model row나 실험 CSV/PNG를 따로 게시하지 않는다.
분석 코호트
351개 active STT
13 symbols · window metadata 100% 매핑
완료된 관측 구간
30일
2026-07-12 → 2026-08-10
해석 원칙
관찰된 30일 성과이며 미래 수익 예측이 아닙니다.
32 bars
n=126+0.25%
position-level 누적 수익률
- 모델 중앙값
- +0.09%
- 양수 비율
- 53.97%
- MDD
- -0.33%
- 30D turnover
- 1.59x
64 bars
n=114+0.22%
position-level 누적 수익률
- 모델 중앙값
- 0.00%
- 양수 비율
- 48.25%
- MDD
- -0.32%
- 30D turnover
- 1.22x
128 bars
n=111+0.27%
position-level 누적 수익률
- 모델 중앙값
- +0.15%
- 양수 비율
- 55.86%
- MDD
- -0.40%
- 30D turnover
- 1.15x
30일 모델 수익률 분포
개별 target position을 같은 canonical 시장 경로·비용 계약으로 다시 계산했습니다. 막대는 각 수익률 구간에 속한 모델 수입니다.
window별 position-level 누적수익률
같은 symbol·날짜 안에서 target position을 먼저 평균하고, 전일 target을 실제 노출로 적용했습니다. 비용은 netting된 turnover에 한 번만 반영했습니다.
backbone × window
셀은 모델 30일 수익률 중앙값이며, 작은 n은 일반화 근거가 아닙니다.
-0.08%
n=33 · +45.45%
+0.77%
n=33 · +66.67%
+0.14%
n=34 · +61.76%
+0.77%
n=43 · +65.12%
-0.36%
n=37 · +43.24%
+0.44%
n=36 · +52.78%
+0.06%
n=9 · +55.56%
0.00%
n=7 · +14.29%
0.00%
n=5 · +20.00%
-0.01%
n=41 · +48.78%
-0.05%
n=37 · +43.24%
+0.17%
n=36 · +58.33%
변수 간 상관관계
Spearman 순위상관입니다. 색은 방향과 크기, 숫자는 상관계수입니다.
window만의 효과로 읽으면 안 되는 이유
active 코호트에는 서로 다른 train fraction 세대가 섞여 있습니다. 아래는 같은 window 안에서 train fraction별 모델 평균 수익률을 다시 본 값입니다.
| Train fraction | 32 bars | 64 bars | 128 bars |
|---|---|---|---|
| 10.00% | +0.63%n=44 | -0.04%n=34 | +0.29%n=27 |
| 30.00% | +0.00%n=82 | +0.34%n=80 | +0.15%n=84 |
수익률 분포는 model-level 결과, 누적 곡선은 window별 position-level ensemble 결과입니다. 서로 다른 질문에 답하므로 한 숫자로 섞어 해석하지 않습니다. 기준일 2026-08-10.
차트를 읽으면 보이는 것
1. 128 bars는 “더 좋은 끝값”보다 “다른 경로”에 가깝다
128 bars의 모델 중앙값은 +0.15%, 양수 모델 비율은 55.9%로 세 window 중 가장 높다. 다만 window별 portfolio 끝값은 32 bars +0.25%, 64 bars +0.22%, 128 bars +0.27%로 차이가 0.05%p 안에 있다.
128 bars의 누적선은 7월 중순 -0.35% 부근까지 내려갔다가 8월 초에 회복한다. 그 결과 MDD는 -0.40%, 연율화 변동성은 1.80%다. 끝값만 보면 1위지만, 이번 구간에서 더 부드러운 포트폴리오였다는 뜻은 아니다.
64 bars는 최고점이 더 높았던 구간도 있었지만, 끝 수익은 +0.22%로 가장 작다. 대신 변동성 1.04%, MDD -0.32%로 세 window 중 가장 낮다. “덜 흔들린다”는 관찰은 가능하지만, 30일 연율화 Sharpe를 승자 판정에 쓰기에는 표본이 너무 짧다.
2. 긴 window와 성과의 단순 상관은 없다. turnover와의 관계는 있다
상관 행렬의 log2(window) × 30D return은 -0.01이다. 이 active snapshot에서 window를 길게 했다는 사실만으로 최근 수익률을 설명할 수 없다는 뜻이다.
반면 log2(window) × total turnover는 -0.41이다. window별 position-level total turnover도 32 bars 1.59x, 64 bars 1.22x, 128 bars 1.15x로 내려간다. 긴 창이 수익을 높였다는 증거가 아니라, 신호 변경 빈도를 낮추는 쪽으로 작동했다는 더 직접적인 관찰이다.
또 하나 눈에 띄는 관계는 변동성과 평균 절대 포지션의 상관 +0.76이다. 더 큰 |position|이 더 큰 30일 변동성과 연결됐지만, 수익률과 평균 절대 포지션의 상관은 +0.02로 거의 0이다. 이 기간의 수익 차이를 단순히 “더 크게 베팅했다”로 설명하기도 어렵다.
3. backbone과 학습 세대가 window 효과를 섞는다
backbone × window 표는 한 방향의 window 효과를 보여 주지 않는다. 예를 들어 FASCL의 중앙값은 32 bars -0.08%, 64 bars +0.77%, 128 bars +0.14%이고, Franceschi는 32 bars +0.77%, 64 bars -0.36%, 128 bars +0.44%다. TS2Vec는 128 bars에서 +0.17%지만 32/64 bars는 거의 0 또는 음수다.
또한 active 코호트에는 train fraction 10% 모델 105개와 30% 모델 246개가 함께 있다. 같은 window 안에서도 두 세대의 평균 수익률이 다르다. 예를 들어 32 bars는 train fraction 10%가 +0.63%, 30%가 거의 0%였고, 64 bars는 반대 방향이다.
따라서 “128 bars가 좋아 보인다”는 결과는 window 하나의 인과효과가 아니라 backbone·학습 fraction·모델 세대가 섞인 active snapshot의 관찰로 해석해야 한다.
4. 과거 gate 점수와 이번 30일은 별개의 질문이다
5Y gate Sharpe와 최근 30일 수익률의 Spearman 상관은 +0.03이다. 이 숫자는 gate가 무의미하다는 판정이 아니다. 단지 현재 active STT의 한 달 횡단면에서 과거 gate 점수만으로 최근 수익률의 순위를 거의 설명하지 못했다는 뜻이다.
이 차이는 자연스럽다. gate는 긴 구간의 선별 지표이고, 여기서는 30일짜리 짧은 관찰 구간을 본다. 둘을 같은 성과 지표처럼 바꾸어 말하면 안 된다.
검증됨, 미검증, 다음 관측
- 검증됨: 351개 active STT에서 32·64·128 bars window별 position-level 30일 수익은 모두 양수였고, 범위는 +0.22%~+0.27%였다.
- 검증됨: 128 bars는 개별 모델의 중앙값·양수 비율이 가장 높았지만, portfolio 변동성과 MDD도 가장 컸다.
- 검증됨: window가 길수록 turnover가 낮아지는 관계가 이번 snapshot에서 뚜렷했다.
- 미검증: 긴 context window가 최근 수익을 원인으로서 개선한다는 주장.
- 미검증: 이 30일 결과가 향후 30일·90일 또는 실제 계좌 PnL로 이어진다는 주장.
- 다음 관측: backbone·symbol·train fraction·seed를 맞춘 paired cohort를 미리 고정하고, 이후 완료 bar만으로 30/90일 forward 재집계를 반복한다.
한계
- 현재 active 모델을 과거 30일에 다시 적용한 snapshot이라 생존편향이 있다.
- active STT 모델들은 독립 표본이 아니다. 같은 family·symbol·학습 세대의 checkpoint가 함께 들어 있다.
- funding, 미체결, latency, 실제 계좌 레버리지·리스크 한도는 반영하지 않았다.
- 동일 symbol-date의 과거 backfill market return이 일부 달라 canonical mode로 맞췄다. 이는 비교를 공정하게 하지만 원래 행의 데이터 버전을 복원하지는 않는다.
- STT의 random sliding-window train/test와 full-period gate는 엄밀한 독립 OOS 증거와 다르다. 이 글은 그 gap을 30일 관찰 성과로 덮지 않는다.
본 자료는 연구 기록이며 투자 권유가 아닙니다.