[퀀트] [퀀트투자] 101 Formulaic Alphas 주요 공식 상세 분석 (2/3)
관
관리자
Lv.1
02-10 02:06
·
조회 1
·
추천 0
101 Formulaic Alphas 주요 공식 상세 분석
20개 핵심 알파의 수학적 의미와 트레이딩 직관
Alpha #1 — 변동성 기반 타이밍
rank(ts_argmax(signedpower(((returns < 0) ? stddev(returns, 20) : close), 2.), 5)) - 0.5
해석: 수익률이 음수이면 20일 변동성을, 양수이면 종가를 제곱합니다. 과거 5일 중 이 값이 최대인 날의 위치를 순위화합니다. 최근에 큰 하락 변동성이 있었던 종목을 감지하는 변동성 타이밍 신호입니다.
Alpha #2 — 거래량-가격 다이버전스
-1 * correlation(rank(delta(log(volume), 2)), rank(((close - open) / open)), 6)
해석: 거래량 변화(로그 거래량의 2일 변화)와 일중 수익률(종가-시가/시가)의 6일 상관관계를 음수로 뒤집습니다. 거래량이 증가하면서 가격이 하락하는 종목(또는 그 반대)에 배팅합니다. 전형적인 거래량-가격 다이버전스(괴리) 전략입니다.
Alpha #5 — VWAP 이탈 모멘텀
rank((open - (sum(vwap, 10) / 10))) * (-1 * abs(rank((close - vwap))))
해석: 시가가 10일 평균 VWAP보다 높은 종목일수록 첫 번째 항이 큽니다. 두 번째 항은 종가와 당일 VWAP의 차이(절대값)의 순위에 -1을 곱합니다. 기관 투자자의 매매 기준점인 VWAP 대비 가격 이탈을 측정하여, 과매수/과매도를 포착합니다.
Alpha #9 — 적응형 모멘텀
((0 < ts_min(delta(close,1), 5)) ? delta(close,1) : ((ts_max(delta(close,1), 5) < 0) ? delta(close,1) : (-1 * delta(close,1))))
해석: 조건부 로직입니다:
- 5일간 종가 변화가 모두 양수 → 모멘텀 추종 (delta 그대로)
- 5일간 종가 변화가 모두 음수 → 모멘텀 추종 (delta 그대로)
- 그 외 (등락 혼재) → 평균 회귀 (delta에 -1 곱함)
추세가 명확할 때는 모멘텀, 불명확할 때는 평균 회귀로 전환합니다.
- 5일간 종가 변화가 모두 양수 → 모멘텀 추종 (delta 그대로)
- 5일간 종가 변화가 모두 음수 → 모멘텀 추종 (delta 그대로)
- 그 외 (등락 혼재) → 평균 회귀 (delta에 -1 곱함)
추세가 명확할 때는 모멘텀, 불명확할 때는 평균 회귀로 전환합니다.
Alpha #12 — 거래량 반전 신호
sign(delta(volume, 1)) * (-1 * delta(close, 1))
해석: 가장 직관적인 알파 중 하나입니다. 거래량이 증가(sign=+1)했는데 가격이 올랐다면 → 매도 신호. 거래량이 증가했는데 가격이 내렸다면 → 매수 신호. "거래량 확대 시 가격 반전"이라는 고전적 기술적 분석의 공식화입니다.
Alpha #17 — 3중 순위 복합
((-1 * rank(ts_rank(close, 10))) * rank(delta(delta(close, 1), 1))) * rank(ts_rank((volume / adv20), 5))
해석: 세 가지 순위를 곱합니다:
1. 10일 시계열 순위의 역: 최근 10일 중 종가가 낮은 위치에 있는 종목
2. 가격 가속도: 종가 변화의 변화 (2차 미분) — 감속/가속 감지
3. 상대 거래량: 최근 5일간 거래량이 20일 평균 대비 높아지는 추세
낮은 가격 위치 + 감속하는 하락세 + 거래량 증가 = 반등 신호
1. 10일 시계열 순위의 역: 최근 10일 중 종가가 낮은 위치에 있는 종목
2. 가격 가속도: 종가 변화의 변화 (2차 미분) — 감속/가속 감지
3. 상대 거래량: 최근 5일간 거래량이 20일 평균 대비 높아지는 추세
낮은 가격 위치 + 감속하는 하락세 + 거래량 증가 = 반등 신호
Alpha #22 — 상관관계 변화
-1 * (delta(correlation(high, volume, 5), 5) * rank(stddev(close, 20)))
해석: 고가-거래량 상관관계의 5일 변화에 20일 변동성 순위를 곱합니다. 상관관계가 상승(고가와 거래량이 같이 움직이기 시작)하고 변동성이 높으면 → 매도. 상관관계가 하락하고 변동성이 높으면 → 매수. 시장 레짐 전환을 감지합니다.
Alpha #23 — 고가 돌파 반전
(((sum(high, 20) / 20) < high) ? (-1 * delta(high, 2)) : 0)
해석: 현재 고가가 20일 평균 고가보다 높을 때만 활성화됩니다. 활성화되면 고가의 2일 변화에 -1을 곱합니다. 즉, 20일 고가를 돌파한 후 추가 상승하면 매도, 돌파 후 하락하면 매수합니다. 과열 후 평균 회귀를 노리는 전략입니다.
Alpha #33 — 일중 수익률 역전
rank((-1 * ((1 - (open / close))^1)))
해석: 단순화하면 rank((open/close) - 1)입니다. 시가 대비 종가가 하락한 종목(일중 하락)에 높은 순위를 부여합니다. 일중 하락 종목의 다음 날 반등에 배팅하는 단기 평균 회귀 전략입니다.
Alpha #34 — 변동성 비율 + 모멘텀
rank(((1 - rank((stddev(returns, 2) / stddev(returns, 5)))) + (1 - rank(delta(close, 1)))))
해석: 두 가지 요소의 합:
1. 단기 변동성 비율: 2일 변동성/5일 변동성이 낮을수록 점수 높음 (변동성 축소 = 조용해짐)
2. 1일 가격 변화의 역: 어제 하락한 종목일수록 점수 높음
변동성이 줄어들면서 가격이 하락한 종목 → 반등 준비 완료 신호
1. 단기 변동성 비율: 2일 변동성/5일 변동성이 낮을수록 점수 높음 (변동성 축소 = 조용해짐)
2. 1일 가격 변화의 역: 어제 하락한 종목일수록 점수 높음
변동성이 줄어들면서 가격이 하락한 종목 → 반등 준비 완료 신호
Alpha #35 — 3요소 시계열 순위
ts_rank(volume, 32) * (1 - ts_rank(((close + high) - low), 16)) * (1 - ts_rank(returns, 32))
해석: 세 시계열 순위의 곱:
1. 32일 중 거래량이 높은 위치
2. 16일 중 (종가+고가-저가)가 낮은 위치 (변동폭 축소)
3. 32일 중 수익률이 낮은 위치 (최근 하락)
거래량은 높은데, 변동폭이 줄고, 수익률이 낮은 종목 = 바닥권 매집 패턴
1. 32일 중 거래량이 높은 위치
2. 16일 중 (종가+고가-저가)가 낮은 위치 (변동폭 축소)
3. 32일 중 수익률이 낮은 위치 (최근 하락)
거래량은 높은데, 변동폭이 줄고, 수익률이 낮은 종목 = 바닥권 매집 패턴
Alpha #43 — 거래량 급증 + 하락 모멘텀
ts_rank((volume / adv20), 20) * ts_rank((-1 * delta(close, 7)), 8)
해석: 상대 거래량(volume/adv20)의 20일 시계열 순위와 7일 가격 하락의 8일 순위를 곱합니다. 거래량이 평소보다 크게 증가하면서 최근 7일간 가격이 하락한 종목을 찾습니다. 대량 거래 매도 후 반등을 기대하는 전략입니다.
Alpha #46 — 이중 모멘텀 전환
((0.25 < (((delay(close,20) - delay(close,10))/10) - ((delay(close,10) - close)/10))) ? -1 : ((... < 0) ? 1 : (-1 * (close - delay(close,1)))))
해석: 20→10일 평균 기울기와 10→0일 평균 기울기를 비교합니다:
- 이전 기울기 > 최근 기울기 + 0.25 → 모멘텀 감속 = 매도(-1)
- 최근 기울기가 가속 중(음수) → 매수(1)
- 그 외 → 1일 모멘텀의 역 (단기 반전)
모멘텀 가속/감속에 따라 전략을 전환합니다.
- 이전 기울기 > 최근 기울기 + 0.25 → 모멘텀 감속 = 매도(-1)
- 최근 기울기가 가속 중(음수) → 매수(1)
- 그 외 → 1일 모멘텀의 역 (단기 반전)
모멘텀 가속/감속에 따라 전략을 전환합니다.
Alpha #101 — 가장 심플한 알파
(close - open) / ((high - low) + 0.001)
해석: 일중 수익률(종가-시가)을 일중 변동폭(고가-저가)으로 나눕니다. 값이 +1에 가까우면 "시가=저가, 종가=고가"인 강한 상승, -1이면 반대입니다. 0.001은 0으로 나누기 방지용입니다. 일중 방향성의 강도를 측정하는 가장 기본적인 알파입니다.
알파 설계 패턴 요약
| 패턴 | 핵심 아이디어 | 자주 쓰이는 연산자 |
|---|---|---|
| 평균 회귀 | 급등/급락 후 반대 방향 배팅 | delta, rank, -1* |
| 모멘텀 | 추세 방향 추종 | ts_rank, sum, delay |
| 거래량 분석 | 스마트 머니 추적 | correlation, adv20, volume |
| 변동성 활용 | 변동성 축소/확대 패턴 | stddev, ts_max, ts_min |
| 조건부 전환 | 시장 상황에 따라 전략 변경 | 삼항 연산자 (? :) |
다음 글: Python으로 주요 알파 팩터를 구현하는 전체 코드를 제공합니다. pandas와 numpy를 활용한 실전 구현입니다.
💬 0
로그인 후 댓글 작성
첫 댓글을 남겨보세요!
실시간 채팅
7개 메시지
관
관리자
09:57
/검색 투자
관
관리자
09:57
/검색 투자
관
관리자
09:57
/검색 투자
관
관리자
09:57
/검색 투자
관
관리자
09:58
/검색 미국
관
관리자
09:59
/검색 미국
관
관리자
09:59
/검색 테스트