콘텐츠로 이동

글로벌 자산·매크로 데이터의 퀀트 활용 리서치 (Round 6)

작성: 2026-05-24 (Sun) | 선행: Round 1~5 주제: 우리가 수집하는 글로벌 자산·금리·원자재·FX·파생 포지셔닝을 한국 발굴 시스템 퀀트 신호로 어떻게 활용하는가 배경: R4 funnel(가격편향) + R5 펀더멘털·이벤트 보강 후 갭 = 글로벌 매크로 데이터의 퀀트 활용. 본 라운드가 그 갭. 프레임 (PM): 우리가 이미 수집하는 데이터(fetch_global_assets.py/collect_macro_series.py/fetch_derivatives_sentiment.py)를 퀀트 발굴에 어떻게 활용할 것인가.


0. 한 줄 결론

매크로 자산 데이터는 edge 자체가 아니라 regime gate다. R4 CF4의 결론과 동일 — funnel 압축 / 후보 수 조정 / 섹터 tilt / conditional base-rate로 작동. 6개 영역(Intermarket·Curve·Vol·Commodity·COT·Regime)에서 즉시 산출 가능한 산식 30+개 확보. 단 임계값·회귀계수 대부분은 한국 자체 추정 필요 — 학습 데이터 기반 직수입 금지. 가장 단단한 검증된 신호 4건: - VIX→KOSPI Granger 단방향 인과 (PLOS One, EconStor 검증) - SPX overnight → KOSPI 시초가 갭이 mean/skew/kurtosis spillover 흡수 (Choi-Kim KEA 2010) - Copper → 글로벌 PMI 3개월 선행, ρ≈0.79 (S&P Global) - 외국인 KTB 선물 가격발견 선도 (ADB, BIS)


1. 핵심 발견 (영역 횡단)

CF1. 매크로 데이터는 funnel 앞단의 regime gate, edge 아님

R4 CF4 "퀀트는 후보 압축, edge는 LLM 해석"이 매크로에도 동일. 매크로 신호는 (a) 후보 수 동적 조정 (b) 섹터 tilt 가중 (c) conditional base-rate 분기에 작동. 매크로 변수가 "이 종목 산다"고 단정 X.

CF2. 한국시장은 미국 변동성에 단방향 종속

  • VIX → VKOSPI Granger 단방향 인과 (PLOS One). 한국 자체 변수보다 SPX/VIX 설명력이 우위 (EconStor).
  • SPX overnight → KOSPI 시초가 갭이 mean·skew·kurtosis spillover를 거의 흡수 (Choi-Kim 2010). 시초가가 글로벌 정보 채널.
  • 한국 위험 게이트는 1차 입력으로 US VIX/VIX 텀구조 사용. 자체 VKOSPI는 보조.

CF3. 모든 임계값은 한국 자체 추정 필수

  • Williams COT Index 80/20, P/C ratio 1.2, VKOSPI 25 — 모두 휴리스틱, 학술 검증 없음. (F5 CF2)
  • HY 500bp 트리거 같은 절대 임계는 출처 미확인. z-score 동적 기준이 학술 합의. (F2 CF2)
  • KOSPI200 옵션 P/C 임계는 자체 분포 percentile 80/20 권장. 미국 직수입 금지.

CF4. Look-ahead 차단 + DSR + Walk-forward는 1일차 못박는다 (R4 CF5 재확인)

  • Regime classifier는 t-1까지만 사용. expanding window CV.
  • 최소 표본 cell당 n≥30. 부족 시 인접 regime 통합.
  • 표본 외 regime label 일치율 ≥ 70%.

CF5. 추정 vs 검증 구분 명시 의무

F1~F6 6개 리서치에서 학술 직접 출처가 없는 항목은 모두 "추정/가설/자체 검증 필요"로 표기. - 검증된 것: VIX→VKOSPI 인과 / SPX→KOSPI 갭 / Cu→PMI 선행 / Estrella probit / Hamilton MSM / Choi-Kim functional spillover - 자체 추정 필요: US10Y → KOSPI lag, DXY → 외국인 lag, 한국 종목 FX β, KOSPI200 옵션 P/C 임계, regime별 conditional base-rate

CF6. 한국 데이터의 보강 갭 3건

F1~F6 종합 발견: - FRED DGS3MO 추가 (Estrella probit 정식 산식, 현재 DGS10-DGS2만 수집) - FRED T10YIE / DFII10 추가 (real yield = US10Y - breakeven) - 외국인 KTB 선물 net position 추가 (현재 close/chg/oi만, ADB 검증 가격발견 변수)


2. 영역별 핵심 (산식·룰)

2-1. Intermarket (F1)

Murphy 4관계 (인플레 환경 의존) - 채권↔주식 / 주식↔원자재 / 원자재↔달러 / 달러↔채권 - 인플레: 채권·주식 +상관 / 디스인플레: -상관

Lead-lag 회귀 (즉시 산출 가능)

KOSPI_open_gap_t = α + β1·SPX_overnight_t + β2·NQ_overnight_t
                 + β3·ΔDXY_overnight_t + β4·ΔUS10Y_overnight_t + ε
SPX_overnight = ln(ES_settle_t / SPX_close_{t-1})

Granger / CCF / Hayashi-Yoshida — 비동기 자산쌍 lag 측정. KOSPI는 SPX/구리/DXY에 대해 k=0~+2 영업일 피크 (추정).

Intermarket regime gate

regime_inflation = (DXY_20d_chg<0) AND (Copper_20d_chg>0) AND (US10Y_20d_chg>0)
                    → 산업재/소재/에너지 over-weight
regime_disinflation = 역 → 성장주/장기듀레이션
risk_off = (HY_chg_20d>0) AND (VIX>60d_MA)

Copper/Gold macro gate

CG_ratio = HG=F / GC=F
CG_z_252 > +1.0 → US10Y 상승 신호 (단 COVID 이후 corr 0.18로 약화)

2-2. Yield Curve / Credit (F2)

Estrella-Mishkin probit (3M-10Y 기반)

P(recession) = Φ(-0.5333 - 0.6629 × slope_3m10y)
slope_3m10y = DGS10 - DGS3MO   # FRED DGS3MO 신규 수집 필요
1959~1995 NBER 추정, 6~18M 선행. 1950s 이후 모든 침체 선행.

HY 스프레드 regime (z-score 동적)

hy_z60 = (BAMLH0A0HYM2 - MA60) / STD60
hy_d20 = BAMLH0A0HYM2 - shift(20)

if hy_z60>+2 and hy_d20>+50bp:  regime = STRESS
elif hy_z60>+1:                  CAUTION
elif hy_z60<-1 and HY<350:       EUPHORIA
else:                            NORMAL

Real Yield (성장주/금 valuation)

real_yield_10y = DGS10 - T10YIE   # FRED T10YIE 신규 수집

Curve regime classifier

slope_2s10s = DGS10 - DGS2
d_slope_20 = slope - shift(20)
BULL_STEEPEN if slope<0 and d_slope_20>0 → 한국 은행/보험 tilt+
STEEPENING / FLATTENING / 동일 룰

2-3. Volatility Regime (F3)

VIX 텀구조 classifier

slope9_3M = VIX9D / VIX3M
STRONG_CONTANGO  < 0.85
CONTANGO         0.85~0.95
WARNING          0.95~1.00
BACKWARDATION    1.00~1.10  (단기 공포, S&P 향후 양수 통계)
PANIC_BACKWARD   >= 1.10

VRP (Volatility Risk Premium)

VRP = VIX - HV20
HV20 = std(log_ret, 20) × √252
VRP 극단 양수 → 향후 주식 수익률 양(+) historical

VKOSPI regime (절대 임계)

CALM      <15
NORMAL    15~20
ELEVATED  20~25
WARNING   25~30
STRESS    30~50
PANIC     >50
한국은 VIX 대비 평균 1.5~3pt 높음.

VKOSPI 한국 적용 (BUY_STRONG conditional)

if VKOSPI >= 25:  BUY_STRONG → size 50% 축소 / candidate ×0.6
if VKOSPI >= 30:  BUY_STRONG → HOLD / ATR_z 필터 강화
if VKOSPI >= 50 and dVKOSPI_5d > +30%:  contrarian setup (pos 25% cap)

ATR z-score 종목 필터

ATR14_z_252 > +2 → 변동성 극단, 진입 보류
ATR14_z_252 < -2 → squeeze, 돌파 사전 후보

2-4. Commodity / FX → Korea Sector (F4)

섹터 매핑 표 (β 추정치, 자체 회귀로 재산출 필요)

Factor 한국 종목 방향 추정 β Lag 신뢰도
WTI↑ S-Oil/SK이노 + 0.4~0.7 0~5d
WTI↑ 대한항공 - -0.3~-0.5 1~2w
HG↑ LS ELECTRIC/대한전선 + 0.8~1.2 0~5d
HG z>+1.5σ 삼전/하이닉스 (PMI proxy) + 0.3~0.5 8~12w
DXY↓ KOSPI + 외인 net + -0.5~-0.8 0~10d
Wheat z>+1σ 농심/오뚜기/CJ제일제당 - margin -0.2~-0.4 3~6m
USDKRW↑ 대한항공 (외화부채) - -0.5~-0.8 분기

Rolling Beta

Sector_ret_t = α + β·Factor_ret_t + ε
window = 60 trading days, daily log returns

DXY 양방향 분기 (수출주 vs 자본유출)

DXY_chg_5d > +1.5% AND 외인_5d < 0 → KOSPI underweight
DXY_chg_5d > +1.5% AND 외인_5d > 0 → 수출주 overweight (KRW약세 수혜)

Naphtha crack (화학주)

crack = Naphtha_CIF_NWE - Brent_1st
crack_z_60 > +1σ 4주 지속 → LG화학/롯데케미칼 진입

2-5. COT / Derivatives Positioning (F5)

Net Position 시리즈

net_t = long_t - short_t
net_z_N = (net - mean(N)) / std(N)    # N=20/60/252
COT_Index_N = (net - min(N)) / (max(N) - min(N)) × 100

한국 외국인 KOSPI200 선물 매핑

fx_fut_cum_t = Σ(외국인 선물 순매수, t-N+1 ~ t)
fx_fut_z_20 = (cum_5 - μ_5y) / σ_5y
basis_t = futures - spot

극단 신호 AND 룰 (단독 사용 금지)

롱 reversal (천장):
  fx_fut_z_20 > +2 AND basis ≤ 0 AND price_5d_chg < +0.5%
숏 reversal (바닥):
  fx_fut_z_20 < -2 AND VKOSPI > 25 AND P/C OI > 1.2

Composite z (다자산)

composite_z = mean(z_oil, z_gold, z_10y, z_eurusd, z_es)
한국 composite = mean(외인선물_z, basis_z, VKOSPI_z, 프로그램차익_z)

Max Pain (참고 지표, 만기 D-2부터만)

max_pain = argmin_K [Σ max(K-K_i,0)·OI_put_i + Σ max(K_i-K,0)·OI_call_i]
KOSPI200 pinning은 학술 미검증. 단독 신호 금지.

2-6. Macro Regime Detection (F6)

3-state HMM (Bull / Normal / Crisis)

관측 o_t = [KOSPI_ret, ΔVKOSPI, ΔUS10Y, ΔCu/Au, ΔHYG/LQD]
K=3 Gaussian HMM, Baum-Welch EM
expanding window 60M, t-1까지
출력: P(state=k|o_{1:t-1}), transition Π
한국 KOSPI에서 Bull/Normal/Crisis 3-state 검증 (arXiv 2601.05716).

4축 z-score → 6-regime 압축 - 성장 G: PMI / Cu/Au / 신규주문 - 인플레 I: CPI YoY / 5Y breakeven / CRB - 유동성 L: M2 / Fed B/S / RRP / US2Y - 신용 C: HY OAS / IG OAS / HYG/LQD / US10Y-2Y

Regime 조건 평균 지속
R1 Goldilocks G+ I- L+ C+ 12~24M
R2 Reflation G+ I+ L+ C+ 6~12M
R3 Overheat G+ I+ L- C0 3~9M
R4 Stagflation G- I+ L- C- 3~6M
R5 Defl. Bust G- I- L- C- 3~9M
R6 Recovery G0→+ I- L+ C+ 6~12M

한국 cycle overlay - 외국인 KOSPI200 선물 누적 z>+1σ → G+ 가산 - USD/KRW z>+1σ → L- 가산 - VKOSPI z>+1.5σ → R4/R5 확률 가산 - 반도체 ER 사이클 sub-flag (KOSPI 이익 메모리 의존)

Regime gate (발굴 시스템 적용)

if regime in {R4, R5}:
  candidate ×0.3 / BUY_STRONG threshold ×1.5
  tilt = {방어주↑, 산업재↓}
elif regime == R2:
  tilt = {산업재+소재+에너지↑, 성장주↓}
elif regime == R1:
  tilt = {IT+성장주↑, 방어주↓}
elif regime == R6:
  tilt = {경기소비재+금융+소형주↑}

Change-point 보조 - CUSUM Page test → regime 전환 후보 알람 - Bai-Perron sup-Wald 월 1회 재추정


3. 설계 시사점

# 시사점
M1 매크로 데이터는 funnel regime gate 역할. 후보 수·강도·섹터 tilt에 작동. edge 아님 (R4 CF4 재확인)
M2 모든 임계값은 한국 자체 추정 필수. 학습 데이터 직수입 금지. 미국 임계 → 한국 자체 분포 percentile
M3 한국시장은 미국 변동성·SPX에 단방향 종속. VIX/SPX overnight을 1차 입력, VKOSPI는 보조
M4 Look-ahead 차단 + DSR + Walk-forward WFE + 다중검정 FDR + base rate 대조 — 1일차 못박는다
M5 표본 cell n<30 → 인접 regime 통합 또는 "표본 빈약" 플래그. regime label OOS 일치율 ≥70%
M6 외국인 선물·basis 신호는 단독 금지. 가격 divergence·VKOSPI·P/C와 AND 룰. 프로그램 매매는 후행지표
M7 데이터 보강 갭 3건: FRED DGS3MO / FRED T10YIE / 외국인 KTB 선물 net position. 우선순위 수집
M8 conditional base-rate "regime × verdict × horizon"이 LLM 입력 변수. macro_context yaml 표준화
M9 섹터 β 추정치는 60일 rolling OLS로 자체 산출. 표(F4)는 시작점, 실제값으로 교체 의무
M10 Murphy 4관계는 인플레 환경 의존. 정상 / 디스인플레 / 디플레 3 환경별 분기 적용

4. R4 / R5 / R6 종합 — 발굴 시스템 5층 (R6 추가)

단계 리서치 역할
① 발굴 funnel R4 수천 종목·테마 → 후보 수십 개 압축 (퀀트, 상대 랭킹)
② 펀더·이벤트 신호 R5 EarnAccel / DART 이벤트 / 매출 궤적·임박도
매크로 regime gate R6 (본 문서) funnel 입력 조절 + 섹터 tilt + conditional base-rate
④ 분석기법 레이어 R3 차트·수급 정규화·구조화·확률화 (Layer A/B/C)
⑤ LLM 에이전트 종합 R1·R2 구조화 사실 종합 → D+N verdict
⑥ base-rate 엔진 + 검증 R3·R4·R6 과거 데이터로 conditional 확률 측정 + walk-forward

입력 5영역 균형: 가격(차트·수급) + 펀더·이벤트 + 매크로 regime + 대체데이터 + LLM 해석.

R6의 발굴 시스템 통합 경로: 1. regime classifier 매일 산출 → 현재 regime 라벨 + transition prob top 3 2. regime gate funnel Stage 0에 삽입 (R4 종목 트랙 Stage 0 "시장 게이트") 3. 섹터 tilt funnel Stage 2 멀티팩터 가중치 조정 (regime-conditioned) 4. conditional base-rate matrix (regime × verdict × horizon)를 LLM 최종 판정 입력으로 주입 5. 검증 regime 전환 시점·OOS 일치율·cell 표본 충분도


5. 즉시 구현 가능 vs 보강 필요

즉시 구현 (현재 수집 데이터로 OK)

  1. VIX 텀구조 classifier (VIX9D/VIX3M ratio)
  2. VRP (VIX - HV20)
  3. VKOSPI regime (절대 임계 + z-score)
  4. HY z-score regime (BAMLH0A0HYM2)
  5. Curve regime (DGS10-DGS2 slope + Δ)
  6. Copper/Gold ratio + z-score 252
  7. DXY 양방향 분기 (외인 net과 결합)
  8. Sector rolling β (WTI/HG/DXY/USDKRW × 12종목)
  9. 외국인 선물 z (5/20/60일 누적)
  10. basis_z + COT Index 52주
  11. 3-state HMM (KOSPI/VKOSPI/US10Y/Cu·Au/HYG·LQD)
  12. 6-regime 분류기 (4축 z-score)

데이터 보강 필요 (Stage 1 우선)

  1. FRED DGS3MO — Estrella probit 정식 산식
  2. FRED T10YIE 또는 DFII10 — Real yield
  3. 외국인 KTB 선물 net position — ADB 검증 가격발견 변수
  4. KRX 회사채 AA- 스프레드 / CDS 5Y — 한국 신용 축
  5. CBOE SKEW / VVIX (현재 VIX9D/VIX3M만)
  6. CRB / 5Y breakeven — 인플레 축 proxy
  7. Naphtha-Brent crack swap — 화학주 트리거
  8. KOSPI200 옵션 자체 P/C 분포 (percentile 80/20)

6. 다음 작업

  1. docs/planning/feature_data_mapping.md 신설 — R4/R5/R6 모든 피처를 우리 데이터에 ✅/🔧/❌ 매핑
  2. R6 신규 피처 spec 추가discovery_feature_spec.md에 §3 "Layer M = Macro Regime Gate" 추가
  3. 데이터 보강 갭 8건 수집기 신설 계획
  4. 첫 백테스트 — Estrella probit + HY z regime + VKOSPI regime 3-gate가 한국 코퍼스에서 보이는 conditional alpha
  5. 3-state HMM 학습 + regime label 시계열 산출 (DSR + expanding window)
  6. 섹터 rolling β 12종목 × 4 factor 표 자동 갱신

부록: 전체 출처 (R6 통합)

F1 Intermarket

F2 Curve / Credit

F3 Vol Regime

F4 Commodity / FX → Korea

F5 COT / Positioning

F6 Macro Regime