⚠ 정정 (2026-06-11): 이 글의 이전 버전(2026-05-25)은 NDX→옥수수 변동성의 5영업일 지연 음의 전이와 이를 활용한 헷징 전략·성과 개선 주장을 제시했습니다. 2000–2026년 6,467 거래일 풀샘플 DCC-GARCH 재검증 결과 해당 구조는 실데이터로 재현되지 않았고, 이전 표의 GARCH 열은 파이프라인 오류로 확인되어 본문 전체를 정정된 수치 기준으로 다시 썼습니다. 재검증 절차와 3중 포렌식 증거는 DCC-GARCH 재검증 부검 글에 공개합니다.

💡 요약 / TL;DR - 나스닥-옥수수 헷징 시점 재검증 핵심 요약 (BLUF)

  • 5일 lag 음의 전이 없음: 풀샘플(2000–2026, 6,467 거래일) 변동성 크로스상관은 전 lag(±10)에서 +0.07~+0.09로 평평합니다. 이전 버전의 r=−0.6355는 17일 소표본 위 산출 오류의 산물로, 실측과 불일치합니다. 판정: 반박.
  • DCC 일별 상관도 사실상 0: lag-0 DCC ρₜ 평균 +0.06(std 0.04, p5–p95 +0.006~+0.146), lag-5 DCC는 상수 ρ≈+0.001로 퇴화 — 헷징에 쓸 시변 음의 구조 자체가 없습니다.
  • 3-레짐은 통계적으로만 유의: Kruskal-Wallis p≈2×10⁻²⁹이지만 레짐 간 Δρ≈0.02, 부호 불변(+0.05~+0.08) → 경제적으로 무의미. 판정: 부분 확인.

독자 한 분이 댓글로 물었습니다. “이거 DCC-GARCH로 다시 돌려보셨나요?” 그래서 다시 돌렸습니다 — yfinance ^NDX·ZC=F 일봉, 2000-07-18부터 2026-06-10까지 공통 거래일 6,472일에서 롤오버 인공물 5일을 제거(USDA 발표일 실제 쇼크 2일은 보존)한 6,467 거래일 풀샘플입니다. 제거한 5일은 7월 구작물/신작물 롤 스프레드 4일(−13.99%~−26.86%)과 9월 롤 1일(+12.76%) — 어떤 트레이더도 실제로 겪지 않은 ‘수익률’입니다. 보존한 2일은 USDA Grain Stocks·Acreage 발표일(2010-06-30, 2011-06-30)의 실제 시장 쇼크입니다. 이전 버전이 핵심 근거로 내세웠던 “5영업일 시차 최대 역상관"은 이 표본 어디에도 없었습니다. 전 lag(±10)에서 변동성 크로스상관은 +0.07~+0.09로 평평하고, lag-5 DCC는 상수 ρ≈+0.001로 퇴화합니다.

백테스트 부검 시리즈는 남의 백테스트만 부검하지 않습니다. 이번 부검 대상은 이 글 자신입니다. 아래 본문은 재검증으로 살아남은 수치만으로 다시 쓴 정정판이며, 무엇이 어떻게 무너졌는지의 절차적 기록은 별도 부검 글에 있습니다.

주장이전 버전 서술재검증 판정핵심 근거 (N=6,467)
C1NDX→ZC 변동성이 5영업일 lag에서 최대 역상관반박전 lag(±10) 크로스상관 +0.07~+0.09로 평평. lag-5 DCC는 상수 ≈+0.001로 퇴화
C2시장은 3개 변동성 레짐으로 구분, 레짐별 관계 상이부분 확인분리는 유의(KW p≈2×10⁻²⁹)하나 Δρ≈0.02, 부호 불변 → 경제적 무의미
C3표의 GARCH(1,1) 추정치가 실제 적합과 일치반박표의 열은 log-선형 R² >0.998의 순수 지수감쇠 — 쇼크 무반응. 파이프라인 오류

나스닥 급락 5영업일 뒤 옥수수가 반대로 움직인다는 주장, 실데이터로 재현되는가?

이전 버전은 VXN 돌파 시점으로부터 5영업일 뒤 옥수수 선물 변동성이 반대 방향으로 동기화된다고 썼습니다(기재 상관 r=−0.6355). 재검증은 실제 GARCH(1,1) 조건부 변동성으로 lag −10부터 +10까지 크로스상관을 전부 다시 측정했습니다. lag k>0은 NDX 선행이며, 정렬된 공통 거래일 인덱스.shift(k)로 정의합니다(달력일이 아닙니다 — 휴장일이 끼면 두 정의는 다른 답을 냅니다). 전 파이프라인에서 미래 참조는 없습니다: 수익률은 t·t−1 종가만, lag-5는 과거 NDX 대 현재 ZC만 사용합니다.

k (거래일)−10−5−30+3+5+10
실데이터 (N=6,467)+0.072+0.079+0.080+0.084+0.087+0.086+0.078
이전 버전 기재값−0.6355−0.0777+0.2728−0.0777−0.6355

전 lag에서 +0.07~+0.09. 골짜기도, 봉우리도, 부호 전환도 없습니다. lag-5에 음의 골이 있어야 할 자리에는 +0.086이 앉아 있습니다. 이 평평한 선 위에 시차 헷징 전략을 얹으면 실거래 체결에서 살아남지 못합니다 — 그리고 이번에는 산술적 투영이 아니라 26년 풀샘플 실측이 그렇게 말합니다. 판정: 반박.

NDX-옥수수 변동성 크로스상관을 lag −10부터 +10까지 측정한 막대 차트. 풀샘플 6,467 거래일에서 전 lag 상관이 +0.07에서 +0.09 사이로 평평하고, 이전 버전이 lag ±5에 기재했던 −0.6355 지점이 빨간 X로 표시되어 실측과의 괴리를 보여준다.

원인: 17일 소표본 위에서 상관계수를 읽었다

이전 버전의 표는 2026년 5월 단 17행이었습니다. 풀샘플에서 같은 17일 윈도우를 6,400여 개 굴려보면, lag-5 상관은 −0.95~+0.99를 오갑니다. 표본이 17개일 때 상관계수의 표집분포는 사실상 전 구간을 덮습니다. 이것을 **소표본 신기루(Small-Sample Mirage)**라 부르겠습니다 — 윈도우를 어디에 놓느냐에 따라 어떤 결론이든 “측정"됩니다.

결과 1: 전체 윈도우의 12.3%가 우연만으로 그 수치에 도달한다

구조가 전혀 없는 풀샘플 위에서도, 17일 롤링 윈도우의 **12.3%**는 우연만으로 이전 버전 기재값(−0.6355) 이하에 도달합니다. 여덟 윈도우 중 하나꼴입니다. 17일 표본의 상관 수치는 증거력이 없습니다.

결과 2: ±5 대칭이라는 형태 자체가 실측과 불일치한다

이전 버전의 17일 표를 그대로 받아 직접 계산해도 그 수치는 나오지 않습니다 — 실제 계산값은 lag +5에서 +0.698, lag −5에서 −0.805입니다. 리드-래그 상관은 본질적으로 비대칭인데, 이전 버전은 ±5에 동일값을 인쇄했습니다. 자체 표와도, 실측과도 불일치하는 형태입니다.

한 줄로 정리하면

5일 lag 음의 전이는 시장의 성질이 아니라 17일 윈도우와 산출 오류의 성질이었습니다. 표본을 6,467일로 늘리는 순간 구조는 사라집니다.

진짜 GARCH(1,1)을 다시 적합하면 무엇이 나오는가?

GARCH(1,1)의 조건부 분산은 $\sigma_t^2 = \omega + \alpha,\varepsilon_{t-1}^2 + \beta,\sigma_{t-1}^2$ 입니다. 수익률 ×100(%) 스케일로 재적합한 실측 파라미터는 다음과 같습니다(표준화 잔차는 스케일 불변이라 후속 DCC 단계에 영향 없음).

자산ωαβα+β수렴Ljung-Box p (z², lag 10 / 20)
NDX0.02900.09850.88890.9875flag=00.090 / 0.061
ZC0.04960.06030.92330.9835flag=00.354 / 0.641

Ljung-Box(표준화 잔차²) 전 구간 p>0.05로 ARCH 효과는 흡수됐습니다. 이전 버전 FAQ가 기재했던 가중치($\alpha=0.15$, $\beta=0.80$)는 이 실측 적합과 불일치합니다.

2026년 5월 같은 구간의 실데이터 GARCH 조건부 변동성(연율%)은 NDX가 17.5 → 21.0 → 18.3으로 등락하고 ZC는 16.9 → 28.4로 상승합니다. 입력 쇼크에 정상 반응한다는 뜻입니다. 이전 버전의 표는 그러지 않았습니다.

이전 표의 ‘GARCH’ 열은 왜 GARCH 산출물이 아닌가

증거NDX 열ZC 열
17일 연속 단조 감소TrueTrue
지수감쇠 적합 (스텝당 감쇠 인자)0.8980.901
log-선형 R²0.999870.99849
자기 입력 변동성과의 상관−0.269−0.687

진짜 GARCH(1,1)은 $\alpha,\varepsilon_{t-1}^2$ 항 때문에 쇼크 직후 조건부 분산이 반드시 상승합니다. 이전 표의 열은 자기 입력(변동성 피크)을 그대로 통과시키며 매일 약 0.9배씩 감소만 했습니다 — $v_{t+1} \approx 0.9,v_t$ 꼴의 순수 지수감쇠이고, log-선형 R²가 0.998을 넘습니다. 거기에 ‘분산’ 열의 초기값이 변동성 레벨과 동일했습니다(22.10, 27.20 — 분산이라면 vol² 스케일이어야 합니다). 마지막으로, 표의 2026-05-25 행은 **메모리얼데이(미 증시·CME 휴장)**라 실데이터에 해당 거래일 자체가 없습니다(5월 실거래는 16일). 판정: 반박 — 표의 열은 유효한 GARCH 산출물이 아니며, 쇼크항이 반영되지 않은 파이프라인 오류입니다.

VXN 대조: 레벨은 진짜, 날짜는 불일치

이전 표의 NDX 변동성 열을 실제 ^VXN 종가와 대조하면 상관 +0.707, 평균 절대오차 0.62pt — 실제 VXN에서 파생된 것으로 보이나 일별 값은 불일치합니다. 결정적으로 25.33은 실제 2026년 5월 VXN 고점 레벨이 맞지만, 실제 기록일은 5월 15일입니다(이전 버전은 5월 12일로 기재). 그 어긋난 날짜 위에 ‘5일 lag’ 서사가 세워져 있었습니다. 판정: 부분 일치 — 레벨은 진짜, 날짜·일별 값은 실측과 불일치.

변동성 국면 동기화 재검증 핵심 지표풀샘플 크로스상관 (전 lag ±10): 45; DCC 일별 상관 ρₜ 평균 (lag 0): 40; 우연만으로 ≤ −0.6355 도달한 17일 윈도우: 100변동성 국면 동기화 재검증 핵심 지표풀샘플 2000–2026 · 6,467 거래일 — 5일 lag 음의 전이는 재현되지 않음풀샘플 크로스상관 (전 lag ±10)+0.07~+0.09DCC 일별 상관 ρₜ 평균 (lag 0)+0.06 ± 0.04우연만으로 ≤ −0.6355 도달한 17일 윈도우12.3%소표본 상관은 증거가 아니다

DCC로 보면 시변 상관 구조는 존재하는가?

크로스상관이 평균의 이야기라면, DCC(1,1)는 일별 상관 $\rho_t$의 이야기입니다. 혹시 평균은 +0.08이어도 특정 국면에서만 깊은 음의 상관이 나타나는 것은 아닐까 — 그 가능성까지 닫아야 검증이 끝납니다.

aba+b무조건 상관ρₜ 분포
lag-00.00320.99380.9970+0.0597평균 +0.06, std 0.04, p5–p95 +0.006~+0.146
lag-50 (경계해)+0.0007CCC 퇴화: 상수 ρ ≈ +0.001
  • lag-0: 수렴은 유효하나 a+b=0.997로 근적분 — 상관이 매우 느리게만 변합니다. 26년 동안 ρₜ 분포의 90%(p5–p95)가 +0.006~+0.146 안에 있습니다. 음의 영역에서 헷지를 제공한 구간은 분포상 식별되지 않습니다.
  • lag-5: a=0 경계해로 시변 구조 자체가 사라지고 상수상관(CCC)으로 퇴화합니다. 그 상수가 ≈+0.001 — 5영업일 시차의 NDX-옥수수 상관은 통계적으로 0입니다.

2000년부터 2026년까지 일별 NDX-옥수수 DCC 상관 시계열. 26년 내내 0 부근에서 +0.2 사이를 느리게 오가며, 이전 버전이 기재한 −0.6355 수준을 표시한 빨간 점선과는 한 번도 만나지 않는다. 배경 음영은 K-Means 변동성 레짐 구간.

3개 변동성 레짐 분류는 살아남았는가?

살아남았습니다 — 절반만. K-Means(K=3, 표준화된 σ_NDX·σ_ZC 평면, k-means++ 초기화, n_init=10, seed=0)로 재분류한 결과입니다. GARCH 조건부 분산 기반 변동성 평면에서 세 군집은 실제로 분리됩니다.

레짐nσ_NDX 평균(일%)σ_ZC 평균(일%)ρₜ 평균(전체)ρₜ 평균(안정구간)해석
R01,6881.242.21+0.075+0.078곡물 변동 확대
R14,0161.181.42+0.055+0.054안정
R27633.011.65+0.058+0.059주식 스트레스

Kruskal-Wallis H=132.2, p≈2.0×10⁻²⁹ — 분리는 압도적으로 유의합니다. 그런데 레짐 간 상관 차이는 Δρ≈0.02이고 부호는 전 레짐에서 양(+0.05~+0.08)으로 불변입니다. 이것이 유의성-효과크기 패러독스입니다: n≈6,400에서 p값은 아무리 사소한 차이도 유의로 잡아냅니다. 통계적 구분이 곧 경제적 의미는 아닙니다. “레짐별로 관계가 다르니 비중을 바꿔라"는 이전 결론은 실용적 수준에서 지지되지 않습니다. 판정: 부분 확인 — 분류 프레임은 유지, 헷징 신호로서의 효용은 기각. (안정구간 평균은 a+b 근적분 보정을 위해 레짐 진입 후 5일을 제외한 값입니다.)

같은 사고를 다시 내지 않으려면 무엇을 점검해야 하는가?

이번 정정에서 추출한 결함-증상-교정 점검표입니다. 같은 방식으로 만들어진 다른 분석에도 그대로 적용됩니다.

결함증상교정
GARCH 열이 입력 쇼크에 무반응17일 연속 단조 감소, log-선형 R² >0.998쇼크일 다음 행에서 조건부 분산이 상승하는지 확인 — $\alpha,\varepsilon^2$ 항이 죽어 있으면 파이프라인 오류
분산-변동성 단위 혼동‘분산’ 열 초기값이 변동성 레벨과 동일(22.10, 27.20)분산은 vol² 스케일인지 단위 검산
휴장일 데이터 행2026-05-25(메모리얼데이) 같은 휴장일 행 존재거래소 캘린더와 행 단위 대조
±lag 대칭 상관lag +5와 −5에 동일값 인쇄리드-래그 상관은 본질적으로 비대칭 — 대칭 동일값은 실측과 불일치 신호
소표본 상관17일 윈도우 단일 상관으로 결론풀샘플 측정 + 롤링 분포 병기 (이번 사례: **12.3%**가 우연만으로 도달)
재현 불가 N표본 수가 데이터 소스 이력보다 큼 — 이전 기재 N=11,149 vs 공통 거래일 6,472일(정제 후 6,467일)소스 시작일과 거래일 수로 N 상한을 검산

발행 전 셀프 부검 5규칙: ① 입력 쇼크 반응 — 파생 열이 자기 입력의 쇼크에 반응하는가, ② 단위 — 분산(vol² 스케일)과 변동성을 혼동하지 않았는가, ③ 실제 거래일 — 모든 행이 거래소 캘린더·휴장일 점검을 통과하는가, ④ 재현 가능한 N — 기재한 N이 실제 확보 가능한 데이터셋과 일치하는가, ⑤ 우연 도달률 — 같은 길이 윈도우 중 몇 %가 우연만으로 기재 상관에 도달하는가.

이 교훈을 실거래 시스템에 어떻게 적용하는가

실무에서 바뀌어야 할 것은 세 가지입니다.

  1. 어떤 윈도우든 믿기 전에 풀샘플로 검증합니다. 17일 위에서 측정된 상관·lag·엣지는 소음 분포에서 뽑힌 표본 하나입니다. 같은 통계량을 가능한 모든 윈도우에서 계산해 내 수치가 어디에 놓이는지 보십시오 — 이번 사례의 이전 기재값 −0.6355는 우연 도달 영역(12.3%) 안에 있었습니다.

  2. 모델 산출물을 그 모델의 정의 속성으로 게이트합니다. 모든 모델에는 반드시 보여야 하는 행동이 있습니다 — GARCH는 쇼크에 반응해야 하고, 리드-래그 상관은 비대칭이어야 하며, 분산은 vol² 스케일이어야 합니다. 그 속성을 코드로 단언(assert)하십시오. 아래 ‘정정 구현’의 적신호 점검 코드가 그 예입니다.

  3. 음의 결과를 완성된 산출물로 취급합니다. 사유를 기록한 데이터 정제 → 재적합 → DCC → 레짐 분석까지 전체 파이프라인이 “전 lag +0.08, 탈 만한 타이밍 없음"으로 수렴했습니다. 이 결론은 어떤 양의 결과 못지않게 실행 가능합니다 — 계좌에서 자본이 빠져나가기 전에 후보 목록에서 전략 하나를 제거해 줍니다.

정정 구현: 풀샘플 크로스상관과 적신호 점검을 직접 재현하는 코드

아래는 정정된 구현입니다 — 정렬된 공통 거래일 인덱스, 실제 GARCH 조건부 변동성, lookahead 없는 lag 정의를 그대로 재현합니다.

# 정정 구현 — NDX-ZC 변동성 크로스상관, 풀샘플 6,467 거래일
import pandas as pd
import numpy as np
from arch import arch_model

# aligned_returns_clean.csv: 공통 거래일 인덱스 (롤 인공물 5일 제거 완료)
rets = pd.read_csv("aligned_returns_clean.csv", index_col=0, parse_dates=True)

def cond_vol(r_pct):
    """GARCH(1,1) 조건부 변동성. ×100(%) 스케일 적합 — 수치 안정성용,
    표준화 잔차는 스케일 불변이라 후속 단계에 영향 없음."""
    res = arch_model(r_pct, vol="GARCH", p=1, q=1, mean="Constant").fit(disp="off")
    return res.conditional_volatility

vol_ndx = cond_vol(rets["ndx"] * 100)   # 실측: ω=0.0290 α=0.0985 β=0.8889
vol_zc  = cond_vol(rets["zc"]  * 100)   # 실측: ω=0.0496 α=0.0603 β=0.9233

# lag k>0 = NDX가 k '거래일' 선행. 달력일이 아니라 정렬 인덱스 위 shift —
# 과거 NDX vs 현재 ZC만 참조하므로 미래 참조 없음.
xcorr = {k: vol_ndx.shift(k).corr(vol_zc) for k in range(-10, 11)}
# 결과: 전 lag +0.07~+0.09 (k=0: +0.084, k=+5: +0.086). 음의 골 없음.

# 적신호 점검 — 'GARCH 열'이 처음부터 끝까지 단조 감소하면 GARCH가 아니다
def is_pure_decay(col):
    col = np.asarray(col, dtype=float)
    mono = (np.diff(col) < 0).all()                  # 쇼크 무반응
    r2 = np.corrcoef(np.arange(len(col)), np.log(col))[0, 1] ** 2
    return mono and r2 > 0.99                        # 지수감쇠 적합
# 이전 표에 적용하면 NDX/ZC 열 모두 True (R² 0.99987 / 0.99849) → 파이프라인 오류

FAQ: 변동성 동기화 재검증과 헷징 전략에 관한 자주 묻는 질문

GARCH(1,1)과 단순 Rolling Vol의 결정적 차이는 무엇인가요?

단순 Rolling Volatility는 과거 일정 기간을 동일 가중으로 평균해 반응이 느리고 이상치 잔상이 오래 남습니다. GARCH(1,1)은 직전 분산과 최신 충격에 별도 가중치를 주는데, 실측 재적합 결과 NDX는 $\alpha=0.0985$, $\beta=0.8889$, ZC는 $\alpha=0.0603$, $\beta=0.9233$입니다. 핵심 점검 기준도 여기서 나옵니다 — 진짜 GARCH 산출물은 $\alpha,\varepsilon^2$ 항 때문에 쇼크 직후 반드시 상승하므로, 단조 감소만 하는 열은 GARCH가 아니라 파이프라인 오류입니다.

17일 표본에서 나온 상관계수를 왜 신뢰하면 안 되나요?

풀샘플 6,467 거래일 위에서 17일 롤링 lag-5 상관을 전부 측정하면 범위가 −0.95~+0.99에 달하고, 전체 윈도우의 **12.3%**는 아무 구조 없이 우연만으로 이전 기재값(−0.6355) 이하에 도달합니다. 표본 17개의 상관계수는 표집분포가 전 구간을 덮어 어떤 결론이든 만들어낼 수 있습니다. 소표본 상관은 반드시 풀샘플 측정과 롤링 분포를 병기해 우연 도달률을 함께 보고해야 합니다.

K-Means 군집이 3개로 분리된 것의 실전 의미는 무엇인가요?

분리 자체는 성립합니다 — 안정(R1, n=4,016), 곡물 변동 확대(R0, n=1,688), 주식 스트레스(R2, n=763)로 나뉘고 Kruskal-Wallis p≈2×10⁻²⁹로 유의합니다. 그러나 레짐 간 NDX-ZC 상관 차이는 Δρ≈0.02에 불과하고 부호는 전 레짐에서 양(+0.05~+0.08)입니다. 어느 레짐에서도 포트폴리오 행동을 바꿀 근거가 없습니다. 통계적 유의성과 경제적 유의성은 다른 질문입니다.

그래도 주식 폭락 때 옥수수 선물이 헷지가 될 수 있나요?

26년 풀샘플에서 NDX-옥수수 변동성 상관은 전 lag +0.07~+0.09, DCC 일별 상관 평균 +0.06입니다. “나스닥 쇼크 5일 뒤 옥수수가 반대로 움직인다"는 타이밍 규칙은 데이터가 지지하지 않습니다. 낮은 양의 상관은 장기 분산투자 관점의 상관 분산 효과를 시사할 수는 있으나, 그것은 시차 신호 기반 헷징과 전혀 다른 주장이며 이 글의 이전 결론은 철회 대상입니다.

재검증 결과가 음의 결과(negative result)라면 이 글의 가치는 무엇인가요?

음의 결과는 미완성이 아니라 완결된 결론입니다. 이번 재검증이 지지하는 것: 낮은 양의 변동성 상관(+0.07~+0.09), 3-레짐 분리의 통계적 성립, VXN 고점 25.33 레벨(실제 기록일 5/15). 기각하는 것: 5영업일 lag 음의 전이, 레짐별 관계 차이의 경제적 효용, 이전 표의 GARCH 열. 여기에 같은 오류를 다른 분석에서 잡아낼 점검표까지가 이 글의 산출물입니다.

발행 전에 GARCH 파이프라인 산출물을 어떻게 검증해야 하나요?

순서대로 다섯 관문입니다. ① 입력 쇼크 반응 — 큰 수익률 다음 행에서 파생 열이 반응해야 합니다. 조건부 분산은 쇼크 직후 상승해야 하며, 단조 감소 시계열(log-선형 R²가 1에 근접)은 모델 산출물이 아니라 감쇠 곡선입니다. ② 단위 — 분산은 vol² 스케일이어야 합니다. ‘분산’ 열이 변동성 열과 같은 레벨에서 시작하면 상류 오류 신호입니다. ③ 실제 거래일 — 모든 행이 거래소 캘린더·휴장일 점검을 통과해야 합니다. 휴장일 행이 인쇄됐다면 데이터를 현실과 대조하지 않았다는 뜻입니다. ④ 재현 가능한 N — 기재한 표본 수가 명시한 소스에서 실제로 확보 가능한 데이터셋과 일치해야 합니다. ⑤ 우연 도달률 — 같은 길이의 윈도우 중 몇 %가 우연만으로 기재 상관에 도달하는지 측정한 뒤에 증거로 취급해야 합니다. 이전 표는 앞의 네 관문에서 모두 탈락했고, 다섯 번째(12.3%)는 헤드라인 수치에 증거력이 없음을 보여줬습니다.


표본이 17일이면 상관계수는 데이터의 목소리가 아니라 소음의 표정입니다. 다음 백테스트에서는 결론보다 N을 먼저 세십시오.

추천 연관 리서치

최종 검증: 2026년 6월

데이터·재현: yfinance ^NDX·ZC=F 일봉, 공통 거래일 2000-07-18~2026-06-10 (6,472일 → 롤 인공물 5일 제거 후 6,467일, USDA 발표일 실제 쇼크 2일 보존). GARCH·DCC는 Python arch, 군집은 scikit-learn K-Means(k-means++). 인용 정정 (2026-06-11): 원글이 국문판에서 “CBOE 변동성 지표(VIX) 명세 가이드 v4”, 영문판에서 “CBOE Volatility Index (VIX) Insights v4"로 표기했던 인용문은 어느 CBOE 발행물에서도 원문이 확인되지 않고 인용된 페이지에 원자재 시장 관련 내용도 없어 삭제했습니다. 참고문헌의 존재하지 않는 위키피디아 “Regime switching” 링크는 실존 문서(Markov-Switching Multifractal)로 교체했습니다.

실측 핵심 수치

6,467 거래일 (2000–2026)
정제 후 공통 표본 크기 (2000–2026)

자주 묻는 질문

시장 국면 전환(Regime Switching) 모델이 무엇인가요?
시장을 하나의 고정된 상태로 보지 않고, 추세 폭발 구간(Trend)과 박스권 횡보 구간(Mean-reversion)의 여러 국면으로 나누어 각각 다른 알고리즘을 적용하는 분석 방식입니다.
횡보장에서 추세추종 지표의 손실을 어떻게 줄이나요?
이동평균선의 각도나 변동성(ATR) 채널 크기를 활용해 횡보 국면을 필터링하고, 해당 구간에서는 거래 진입 횟수를 엄격히 억제해야 합니다.
백테스트 결과가 실제 실계좌 거래와 크게 다른 이유는 무엇인가요?
체결 슬리피지(Slippage), 수수료, 그리고 역사적 데이터 백테스트 시 발생하는 미래 참조 에러(Look-ahead bias)를 반영하지 않았기 때문일 가능성이 큽니다.

출처 및 1차 자료

  1. Markov 전환 멀티프랙탈 모형 (Markov-Switching Multifractal) — Wikipediaen.wikipedia.org
  2. TradingView Pine Script v6 공식 레퍼런스 매뉴얼www.tradingview.com

교육용 콘텐츠이며 투자 권유나 금융 조언이 아닙니다. 데이터·가격·도구 사양은 바뀔 수 있으니, 실거래 전 직접 검증하고 페이퍼 트레이딩으로 확인하시기 바랍니다.