Uptrend Analyzer 스킬
목적
Monty의 Uptrend Ratio Dashboard(약 2,800개 미국 주식, 11개 섹터 추적)를 사용하여 시장 폭 건강도를 진단합니다. 0-100 복합 점수(높을수록 건강)와 익스포저 가이던스를 생성합니다.
Market Top Detector(API 기반 위험 점수)와 달리, 이 스킬은 무료 CSV 데이터를 사용하여 '참여 폭'을 평가합니다. 즉, 시장 상승이 광범위한지 좁은지를 판단합니다.
사용 시기
한국어:
- 사용자가 "시장 폭이 건강한가요?" 또는 "상승장의 폭이 얼마나 넓나요?"라고 질문할 때
- 사용자가 섹터별 업트렌드 비율을 확인하려 할 때
- 사용자가 시장 참여율이나 폭 조건에 대해 질문할 때
- 사용자가 폭 분석에 기반한 익스포저 가이던스가 필요할 때
- 사용자가 Monty의 Uptrend Dashboard나 업트렌드 비율을 언급할 때
사전 요구 사항
- Python 3.9+ 및
requests라이브러리(CSV 파싱은 stdlibcsv/io모듈 사용) - GitHub에서 CSV 데이터를 가져오기 위한 인터넷 연결(API 키 불필요)
- 유료 API 구독 불필요
Market Top Detector와의 차이점
| 측면 | Uptrend Analyzer | Market Top Detector |
|---|---|---|
| 점수 방향 | 높을수록 건강 | 높을수록 위험 |
| 데이터 소스 | 무료 GitHub CSV | FMP API(유료) |
| 초점 | 폭 참여율 | 상단 형성 위험 |
| API 키 | 불필요 | 필요(FMP) |
| 방법론 | Monty Uptrend Ratios | O'Neil/Minervini/Monty |
실행 워크플로
1단계: Python 스크립트 실행
분석 스크립트 실행(API 키 불필요):
python3 skills/uptrend-analyzer/scripts/uptrend_analyzer.py
스크립트는 다음을 수행합니다:
- Monty의 GitHub 저장소에서 CSV 데이터 다운로드
- 5가지 구성 요소 점수 계산
- 복합 점수 및 보고서 생성
2단계: 결과 표시
생성된 마크다운 보고서를 사용자에게 표시하고, 다음을 강조합니다:
- 복합 점수 및 영역 분류
- 익스포저 가이던스(전체/정상/축소/방어/보존)
- 가장 강한 섹터와 가장 약한 섹터를 보여주는 섹터 히트맵
- 주요 모멘텀 및 순환 신호
5가지 구성 요소 점수 시스템
| # | 구성 요소 | 가중치 | 주요 신호 |
|---|---|---|---|
| 1 | 시장 폭(전체) | 30% | 비율 수준 + 추세 방향 |
| 2 | 섹터 참여율 | 25% | 업트렌드 섹터 수 + 비율 분산 |
| 3 | 섹터 순환 | 15% | 경기민감 vs 방어주 균형 |
| 4 | 모멘텀 | 20% | 기울기 방향 + 가속도 |
| 5 | 역사적 맥락 | 10% | 역사적 백분위 순위 |
점수 영역
| 점수 | 영역 | 익스포저 가이던스 |
|---|---|---|
| 80-100 | 강한 상승장 | 전체 익스포저 (100%) |
| 60-79 | 상승장 | 정상 익스포저 (80-100%) |
| 40-59 | 중립 | 축소 익스포저 (60-80%) |
| 20-39 | 신중 | 방어적 (30-60%) |
| 0-19 | 하락장 | 자본 보존 (0-30%) |
7단계 영역 세부 정보
각 점수 영역은 보다 세밀한 평가를 위해 하위 영역으로 나뉩니다:
| 점수 | 영역 상세 | 색상 |
|---|---|---|
| 80-100 | 강한 상승장 | 녹색 |
| 70-79 | 상승장-상위 | 연두색 |
| 60-69 | 상승장-하위 | 연두색 |
| 40-59 | 중립 | 노란색 |
| 30-39 | 신중-상위 | 주황색 |
| 20-29 | 신중-하위 | 주황색 |
| 0-19 | 하락장 | 빨간색 |
경고 시스템
활성 경고는 복합 점수가 높은 경우에도 가이던스를 강화하는 익스포저 페널티를 트리거합니다:
| 경고 | 조건 | 페널티 |
|---|---|---|
| 후기 순환 | 원자재 평균 > 경기민감 및 방어주 평균 모두 | -5 |
| 높은 분산 | 최대-최소 섹터 비율 분산 > 40pp | -3 |
| 다이버전스 | 그룹 내 표준편차 > 8pp, 분산 > 20pp, 또는 추세 반대자 | -3 |
페널티는 합산됩니다(최대 -10). 다중 경고 할인(2개 이상 활성 시 +1)이 적용됩니다. 복합 점수 계산 후 적용됩니다.
모멘텀 평활화
기울기 값은 점수 계산 전에 EMA(3)(지수 이동 평균, 스팬=3)를 사용하여 평활화됩니다. 가속도는 평활화된 기울기의 최근 10-포인트 평균과 이전 10-포인트 평균을 비교하여 계산되며(10v10 윈도우), 데이터 포인트가 20개 미만인 경우 5v5로 대체됩니다.
역사적 신뢰도 지표
역사적 맥락 구성 요소는 다음을 기반으로 한 신뢰도 평가를 포함합니다:
- 표본 크기: 사용 가능한 역사적 데이터 포인트 수
- 레짐 적용 범위: 관측된 고유 시장 레짐(상승/하락/중립)의 비율
- 최신성: 최신 데이터 포인트의 최신 정도
신뢰도 수준: 높음, 중간, 낮음.
API 요구 사항
필요: 없음(무료 GitHub CSV 데이터 사용)
출력 파일
- JSON:
uptrend_analysis_YYYY-MM-DD_HHMMSS.json - 마크다운:
uptrend_analysis_YYYY-MM-DD_HHMMSS.md
참고 문서
references/uptrend_methodology.md
- 업트렌드 비율 정의 및 임계값
- 5가지 구성 요소 점수 방법론
- 섹터 분류(경기민감/방어주/원자재)
- 역사적 보정 노트
참고 문서 로드 시기
- 첫 사용: 전체 프레임워크 이해를 위해
uptrend_methodology.md로드 - 정기 실행: 참고 문서 불필요 - 스크립트가 점수 처리를 담당