이 스킬
Macro Regime × Sector Momentum Aligned Screen
현재 macro regime × 그 regime 에서 historically outperform sector 의 momentum z-rank top 종목 스크리닝 — 5 regime × sector 매핑 학술 + 모멘텀 결합. 트리거 — 'regime aligned', 'macro screen', 'regime sector', '국면 종목', '사이클 모멘텀'.
이어 가기
절차
실행 순서
- 1
`dartlab.macro("cycle")` — 현재 regime + confidence (engines.macro.regimes 5 enum SSOT)
- 2
`dartlab.quant("sectorMomentum")` — sector 별 60M rolling momentum z
- 3
regime ↔ sector 학술 매핑 (Frazzini-Pedersen + sector rotation 정통)
- 4
regime 분류 lag (HMM 1-3 개월 후행).
- 5
학술 매핑 US 시장 기반 (1956-2012) — KR 일치성 검증 필요.
- 6
sector momentum 60M rolling — regime shift 시 lag.
- 7
단일 sector 우세 시 universe concentration (5 종목 모두 같은 sector).
- 8
universe 종목 → 개별 deep dive (`recipes.fundamental.valuation.damodaran.deepDive`).
- 9
regime 전환 (engines.macro.regimes status 변화) → universe 재산출.
- 10
sector momentum z 상위 sector → `recipes.industry.sectorMomentumLeadership` 결합.
- 11
월 1 회 재실행 + regime 전환 alert.
- 12
`sector : str`
예시
이런 질문이 들어오면 이 skill 을 쓴다
- 현재 regime expansion + 학술 정합 sector + momentum z top 10
- regime 전환 (slowdown → recovery) 시점 universe 변동
공개 호출 방식
import dartlab
import polars as pl
# 1. 현재 macro regime (5 enum)
cycle = dartlab.macro("cycle", market="KR")
regime = cycle.get("regime", "unknown") if isinstance(cycle, dict) else "unknown"
regime_confidence = cycle.get("confidence", 0)
# 2. regime ↔ sector 학술 매핑 (Frazzini-Pedersen + 사이클 sector rotation)
REGIME_SECTORS = {
"expansion": ["technology", "industrials", "consumer_discretionary", "financials"],
"slowdown": ["healthcare", "consumer_staples", "utilities"],
"contraction": ["utilities", "consumer_staples", "healthcare"],
"recovery": ["financials", "industrials", "real_estate", "materials"],
"crisis": ["consumer_staples", "utilities", "gold"],
}
aligned_sectors = REGIME_SECTORS.get(regime, [])
# 3. sector momentum z (60M rolling sector index return z-score)
sector_momentum = dartlab.quant("sectorMomentum", market="KR")
# → DataFrame: sector · momentumZ
# 4. 정합 sector 안 top momentum z 종목
aligned_universe = (
sector_momentum.filter(pl.col("sector").is_in(aligned_sectors))
.sort("momentumZ", descending=True)
.head(20)
)
emit_result(
table=aligned_universe,
values={"regime": regime, "regime_confidence": regime_confidence, "n_sectors": len(aligned_sectors)},
date="2026-05-28",
sources=["dartlab://macro/cycle", "dartlab://quant/sectorMomentum"],
) 호출 동작
1. 결론 도출
현재 macro regime 에서 학술 outperform sector × momentum z-rank top universe — regime × momentum 결합 priority.
2. 핵심 근거 수집
dartlab.macro("cycle")— 현재 regime + confidence (engines.macro.regimes 5 enum SSOT)dartlab.quant("sectorMomentum")— sector 별 60M rolling momentum z- regime ↔ sector 학술 매핑 (Frazzini-Pedersen + sector rotation 정통)
3. 메커니즘 분석
3 source 결합
regime (engines.macro.regimes 5 enum + confidence)
학술 매핑 (regime → aligned_sectors)
sector momentum z (engines.quant.sectorMomentum)
↓
aligned_sectors filter → sector universe
↓
sector 안 momentum z desc top 20
↓
regime × momentum 동시 신호 universe 4. 반례·한계
- regime 분류 lag (HMM 1-3 개월 후행).
- 학술 매핑 US 시장 기반 (1956-2012) — KR 일치성 검증 필요.
- sector momentum 60M rolling — regime shift 시 lag.
- 단일 sector 우세 시 universe concentration (5 종목 모두 같은 sector).
5. 후속 모니터링
- universe 종목 → 개별 deep dive (
recipes.fundamental.valuation.damodaran.deepDive). - regime 전환 (engines.macro.regimes status 변화) → universe 재산출.
- sector momentum z 상위 sector →
recipes.industry.sectorMomentumLeadership결합. - 월 1 회 재실행 + regime 전환 alert.
대표 반환 형태
pl.DataFrame — 컬럼:
sector : strmomentumZ : floatstockCode : str·corpName : str(top 종목)regime : str(모든 row 동일, header context)alignedSector : bool(참고)
연계 절차
- 본 recipe → regime × sector momentum universe.
- universe top →
recipes.fundamental.valuation.damodaran.deepDive개별. - quality 결합 →
recipes.meta.screen.qualityValueScreen(good × cheap × regime aligned triple). - regime 전환 시점 →
engines.macro.regimesstatus 변화 alert. - 월 1 회 재실행 + regime check.
런타임
실행 환경별 호환성
| 환경 | 상태 | 비고 / 제한 |
|---|---|---|
| Local Python | supported | · |
| Server | supported | · |
| MCP | supported | · |
| Web AI | limited | · |
| Pyodide | limited | · |
실패 회피
흔한 실패 · 절대 금지
- regime 전환 시점 lag — HMM 분류는 1-3 개월 후행.
- sector momentum 60M rolling — regime shift 시 momentum 평균 lag.
- 단일 sector 우세 시 universe 1-2 sector 종목만 (concentration).
- regime 분류 = 확정 X (engines.macro.regimes confidence 동행).
- sector momentum z > 1 = 절대 alpha X — regime 정합 추가 신호 결합 후만 universe.
- 5 regime × sector 학술 매핑은 US 시장 기반 (1956-2012) — KR 시장 일치성 검증 필요.