본문 바로가기

이 글은 매일 올라오는 기록을 처음 보는 분을 위한 안내입니다. 한 번 읽어두면

매일 글의 표와 숫자가 무엇을 말하는지 알 수 있습니다.
주식 배경지식이 없어도 읽을 수 있게 썼습니다.

먼저 밝혀둡니다. 이 블로그는 전망을 판매하지 않습니다. 어떤 종목이 오를지 내릴지 말하지 않고, 매수·매도를 권하지 않습니다. 
하는 일은 하나입니다. 미국 시장의 하루를 숫자로 기록하고, 전날 세운 가설을 다음 날 공개 채점하는 것.
맞은 날과 틀린 날을 모두 그대로 남깁니다.
개인 연구관심있는 독자들을 위해 기록으로 남깁니다.

 


1. 왜 이런 블로그를 만들었나

시장 해설 글은 대부분 이렇게 씁니다. "미국 증시가 금리 우려로 하락했다."

문제가 있습니다. 그 문장은 검증할 수 없습니다. 금리 때문인지, 실적 때문인지,

아무 이유 없는 변동인지 사후에 확인할 방법이 없습니다.
그래서 매일 다른 이유를 갖다 붙여도 아무도 틀렸다고 말할 수 없습니다.

이 블로그는 금융공학적, 학문적 모형을 기반으로 분석 후 설명합니다.

1. 하루의 시장을 숫자 한 세트로 고정합니다 (사후에 바꿀 수 없게).

2. "뉴스가 좋았던 종목이 다음 날 더 올랐는가"라는 채점 가능한 가설만 세웁니다.

3. 다음 날 실제 결과로 채점하고 그 기록을 지우지 않습니다.

시간이 지나면 "이 방법이 실제로 작동하는가"에 대한 실시간 기록이 쌓입니다.

이 블로그의 목적이자 제 연구의 기록이 됩니다.


2. 핵심 개념 — 수익률, 팩터, 잔차

이 셋만 이해하면 매일 글의 90%가 읽힙니다. 순서대로 보겠습니다.

어떤 종목이 5% 올랐다. 이게 좋은 소식인가?

답은 "그날 시장이 어땠는지 봐야 안다" 입니다.

· 시장 전체가 5% 오른 날에 5% 올랐다면 → 그냥 남들 따라간 것입니다.

· 시장 전체가 3% 빠진 날에 5% 올랐다면 → 그 종목에 무슨 일이 있었던 겁니다.

같은 +5%인데 의미가 전혀 다릅니다. 그래서 "시장 대비 얼마나 달랐나" 를 봐야 합니다.

그런데 '시장'만 걷어내면 부족하다

시장 말고도 여러 종목을 한꺼번에 같이 움직이는 힘이 여럿 있습니다.

예를 들어 "오늘은 작은 회사들이 다 같이 올랐다", "오늘은 최근 잘 오르던 종목들이

다 같이 빠졌다" 같은 날이 실제로 있습니다.

이렇게 여러 종목을 공통으로 움직이는 힘팩터(factor) 라고 부릅니다.

학계에서 40년 넘게 연구된 개념이고, 이 블로그는 그중 6개를 씁니다.

잔차 = 팩터로 설명한 뒤 남은 것

팩터로 설명되는 부분을 걷어내고 남은 차이잔차(residual) 라고 합니다.

잔차 = 실제 수익률 (팩터 노출로 설명되는 수익률)
쉽게 말하면 "시장·규모·모멘텀 같은 공통 요인만으로 움직였다면 이랬을 텐데, 실제로는 이만큼 달랐다"의 차이입니다.

이 잔차가 이 블로그의 주인공입니다.
왜냐하면 잔차에는 그 종목만의 사건 —실적 발표, 가이던스 수정, 인수합병, 소송 — 이 담겨 있을 가능성이 높기 때문입니다.

뉴스와 맞춰봐야 하는 대상은 수익률이 아니라 이 잔차입니다.

실제 예시

2026년 7월 29일, 시장(S&P 500)이 -1.54% 하락한 날입니다.

종목 실제 수익률 잔차 읽는 법
Garmin (GRMN) +16.23% +17.11% 시장이 빠진 날 크게 올랐으니 잔차가 더 크다. 그 종목만의 사건
Lennox Intl (LII) -20.97% -19.82% 시장 하락분을 빼도 -19.8%. 시장 탓이 아니다

두 종목 모두 실적 발표일이었습니다. 잔차가 이 부분을 잡아낸 것입니다.


3. 팩터 6개 — 각각 무엇인가

팩터는 "A 그룹 수익률 − B 그룹 수익률" 형태로 만듭니다. 그래서 부호를 읽으려면

무엇에서 무엇을 뺐는지를 알아야 합니다. 이게 팩터를 읽을 때 가장 중요합니다.

팩터 계산 양(+)이면
시장 (MKT) 시장 전체 − 무위험이자율 시장이 올랐다
규모 (SMB) 소형주 − 대형주 작은 회사가 우위였다
가치 (HML) 저평가주 − 성장주 싼 주식이 우위였다
수익성 (RMW) 고수익성 − 저수익성 돈 잘 버는 회사가 우위였다
투자 (CMA) 저투자 − 고투자 보수적으로 투자하는 회사가 우위였다
모멘텀 (UMD) 최근 오른 주식 − 최근 내린 주식 오르던 게 더 올랐다

앞의 5개는 Fama-French 5팩터 모형입니다. Eugene Fama는 이 연구로 2013년 노벨경제학상을 받았습니다.

마지막 모멘텀은 Carhart(1997) 가 추가한 것입니다.


4. 모멘텀을 따로 설명합니다

매일 글에 가장 자주 등장하고, 가장 오해하기 쉬운 팩터입니다.

모멘텀이란

최근에 많이 오른 주식들이 계속 더 오르는 경향을 말합니다. 반대로 최근 많이

빠진 주식은 계속 더 빠지는 경향이 있습니다. 상식적으로는 "많이 올랐으면 이제

떨어질 차례"일 것 같은데, 데이터는 반대로 나옵니다. 이건 여러 나라, 여러 자산에서

반복 확인된 현상이고 여전히 완전히 설명되지 않았습니다.

어떻게 숫자로 만드나

1. 모든 종목을 최근 약 1년간 수익률 순서로 줄 세웁니다.

2. 상위 그룹(승자)을 사고, 하위 그룹(패자)을 파는 가상의 포트폴리오를 만듭니다.

3. 그 포트폴리오의 하루 수익률이 그날의 모멘텀 팩터 값입니다.

이름 UMD는 Up Minus Down(오른 것 − 내린 것)의 약자입니다.

부호를 어떻게 읽나

그날 모멘텀 무슨 일이 있었나 흔히 붙는 이름
양(+) 잘 오르던 종목이 그날도 더 올랐다 추세 지속
음(−) 잘 오르던 종목이 그날 더 많이 빠졌다 되돌림 (reversal)

음수일 때가 특히 중요합니다.

최근 상승세가 강했던 종목들이 한꺼번에 꺾이는 날인데,

이런 날은 최근 많이 오른 종목을 많이 들고 있던 투자자에게 손실이 집중됩니다.

개별 종목 뉴스와 무관하게 발생하는데도 "왜 내 주식만 빠지지" 하고 느끼기 쉽습니다.

왜 굳이 모멘텀을 추가하나

Fama-French 5팩터 모형에는 모멘텀이 없습니다. 그런데 빼놓으면 문제가 생깁니다.

모멘텀을 빼면, 모멘텀 때문에 생긴 움직임이 잔차에 그대로 남습니다.

그러면 "뉴스로 설명되지 않는 특이한 움직임"이라고 착각하게 됩니다.

실제로는 뉴스가 아니라 모멘텀 때문인데도요.

뉴스 효과를 측정하는 게 목적이므로 이 오염을 반드시 걷어내야 합니다.

그래서 5팩터 + 모멘텀 = 6팩터를 씁니다.

참고로 가치(HML) 팩터는 Fama와 French 본인들이 2015년 논문에서
"미국 데이터에서는 다른 팩터에 상당 부분 흡수된다"고 보고했습니다.
그래서 이 블로그는 HML 계수를 보수적으로 해석합니다.

5. "데일리노트" 게시글의 5블록 구조

블록 답하는 질문 성격
1. 무엇이 움직였나 그날 지수·섹터·금리·변동성은? 숫자만. 해석 없음
2. 무엇이 설명했나 그 움직임이 공통 요인으로 설명되나? 귀인. 인과 주장 안 함
3. 설명되지 않은 움직임 팩터로 설명 안 되는 종목은? 뉴스가 있나? 잔차 이례치
4. 어제 신호 채점 전날 세운 가설이 맞았나? 이 블로그의 존재 이유
5. 다음 거래일 일정 다음 날 해석이 어려워질 날인가? 예고. 전망 아님

5번 블록을 오해하기 쉬워 덧붙입니다. 이건 "다음 날 시장이 어떻게 될까"가 아닙니다.

FOMC나 물가지표 발표일에는 거의 모든 종목이 같은 방향으로 움직입니다.
그런 날은 개별 종목 뉴스 효과와 매크로 충격이 뒤섞여 3번 블록의 해석이 오염됩니다.
그걸 미리 표시해 두는 것입니다.


6. '이례치'와 z 값

3번 블록에 z라는 숫자가 나옵니다.

z = 그 종목의 잔차 ÷ 그 종목이 평소에 흔들리는 폭

같은 잔차 +5%라도 의미가 다릅니다. 평소 하루에 5%씩 움직이는 종목이라면 평범한

하루입니다. 평소 0.5%만 움직이던 종목이라면 대사건입니다. z는 이걸 보정합니다.

· z = +3 → 평소 흔들림의 3배만큼 위로 벗어났다

· |z| > 2 → 이 블로그가 '이례치'로 분류하는 기준

수익률이 정규분포라면 |z| > 2는 전체의 약 4.6%만 나와야 합니다. 실제로는 그보다

훨씬 많이 나오는 날이 있습니다(예: 12%). 그런 날은 실적 발표가 몰렸거나, 수익률

분포의 꼬리가 정규분포보다 두껍다는 신호입니다.


7. 뉴스를 어떻게 종목에 붙이나

3번 블록에서 "이 종목의 이례치 옆에 이 뉴스가 있다"고 보여주려면, 뉴스가 어느

종목에 관한 것인지 판정해야 합니다. 생각보다 어렵습니다.

왜 어려운가

기사 본문에서 회사명이나 티커를 찾는 단순한 방법은 오탐이 심합니다.
미국 티커에는 일상 단어와 같은 것들이 있습니다 — A, ALL, CAT, KEY, ON, IT.
"IT 업계"라는 문구에서 IT를 종목으로 잡아버립니다.

어떻게 해결했나

Alpha Vantage 뉴스 API가 기사마다 "이 기사가 각 종목과 얼마나 관련 있는지"를 0~1 점수(relevance score)로 제공합니다.
이걸 쓰면 단어 매칭 오탐이 사라집니다.

추가로 두 가지를 씁니다.

· novelty(신규성): 같은 사건을 다시 쓴 기사는 가중치를 낮춥니다.
안 그러면 같은 뉴스가 10번 반복되면서 감성 점수가 10배로 부풀려집니다.

· Loughran-McDonald 금융 감성 사전: 기사의 긍정/부정을 판정합니다.
일반 감성 사전은 금융 문맥에서 틀립니다 — "liability(부채)"나 "tax(세금)"는 일반적으로는 부정어지만 재무제표에서는 중립입니다.

LM 사전은 금융 문서로 만들어졌고, 누구나 같은 사전으로 재현할 수 있습니다.

Alpha Vantage 자체 감성 점수도 함께 저장하지만 주 분석에는 쓰지 않습니다.

계산 방식이 공개되지 않아 재현할 수 없기 때문입니다.


8. 미래 정보를 쓰지 않기 위한 장치

과거 데이터로 분석할 때 가장 흔하고 치명적인 실수가 look-ahead bias — 그 시점에 알 수 없었던 정보를 몰래 쓰는 것입니다.

이걸 하면 성과가 실제보다 좋게 나오고, 실전에서는 재현되지 않습니다.

두 지점에서 막습니다.

1. 뉴스 시간 창을 자릅니다. 그날의 뉴스는 [전일 오후 4시 ~ 당일 오후 4시(미국 동부)]에 나온 것만 씁니다.

장 마감 후에 나온 뉴스를 그날 수익률 설명에 쓰지 않습니다.

2. 팩터 민감도 추정에서 당일을 제외합니다. 그 종목이 팩터에 얼마나 민감한지는 과거 250거래일로 계산하는데, 당일을 포함하지 않습니다. 포함하면 그날의 뉴스 충격이 민감도에 흡수되어 잔차가 작아지고, 정작 찾으려는 것이 사라집니다.


9. 채점은 어떻게 하나 (4번 블록)

매일 이 절차를 반복합니다.

1. 전날 뉴스 감성 점수로 종목을 5개 그룹(5분위) 으로 나눕니다.

2. 다음 거래일에 최상위 그룹과 최하위 그룹의 잔차 평균을 계산합니다.

3. 그 차이(스프레드)가 양수면 "방향 일치", 음수면 "방향 불일치"로 기록합니다.

동일가중이며 거래비용을 반영하지 않습니다. 실제로 집행 가능한 전략 수익률이 아니라 신호의 방향성 기록입니다.

과장을 막기 위한 통계 장치

기록이 쌓이면 주간 회고에서 통계 검정을 합니다. 여기서 세 가지를 강제합니다.

· Newey-West 표준오차: 일별 스프레드는 서로 상관이 있습니다. 보통 방식으로 계산하면 통계량이 부풀려집니다.

· 이항검정: "적중률 60%"만 쓰면 5일 기록인지 200일 기록인지 알 수 없습니다.

표본 크기를 반영합니다.

· |t| > 3.0 기준: 관행적으로 t = 2.0을 유의 기준으로 씁니다. 그런데 Harvey, Liu & Zhu(2016)는 수많은 조합을 시험하다 보면 2.0 기준으로는 우연히 유의해 보이는 결과가 대량 생산된다고 지적했습니다.

매주 여러 방식을 들여다보는 이 블로그는 정확히 그 함정에 취약하므로 더 엄격한 기준을 씁니다.

표본이 20거래일 미만이면 무조건 판단 보류로 표시합니다.


10. 이 방법의 한계 

한계 내용
뉴스 커버리지 무료 뉴스 소스는 모든 종목을 다루지 않습니다. 이례치 종목 중 일부는 뉴스가 없어서 '미설명'이 됩니다. "뉴스로 설명되지 않는다"와 "뉴스를 못 구했다"는 다릅니다. 구분해서 표기합니다
팩터 데이터 지연 공식 팩터 데이터(Kenneth French)는 몇 주 늦게 갱신됩니다. 당일은 ETF로 근사하고, 확정치가 오면 소급 교체합니다. 근사값은 서술용이고 정식 추정에는 확정치를 씁니다
생존편향 현재 지수 구성종목을 씁니다. 과거에 상장폐지된 기업이 빠져 있어 과거 성과가 좋게 보일 수 있습니다. 매일 구성종목을 저장해 두고 있어 시간이 지나면 시점별 명단을 쓸 수 있게 됩니다
하루 단위의 한계 뉴스에 대한 반응은 분 단위로 일어나는데 종가로만 보면 상당 부분 씻겨나갑니다
지표 잠정치 경제지표는 나중에 수정됩니다. 현재는 최신값으로 덮어쓰므로 "발표 당시 무엇을 보고 있었나"는 재현되지 않습니다

11. 용어 사전

용어
팩터 (factor) 여러 종목을 공통으로 움직이는 요인
잔차 (residual) 팩터로 설명한 뒤 남은 부분. 그 종목 고유의 사건을 담는다
z 잔차를 그 종목의 평소 변동폭으로 나눈 값. ±2 넘으면 이례치
σ (시그마) 표준편차. 흔들림의 크기
bp 베이시스포인트. 1bp = 0.01%
모멘텀 / UMD 최근 오른 주식 − 최근 내린 주식. 음(−)이면 되돌림
5분위 전체를 5개 그룹으로 나눈 것
스프레드 두 그룹의 수익률 차이
in-sample 같은 데이터로 추정하고 평가한 것. 실전 성과보다 좋게 나온다
out-of-sample 추정에 쓰지 않은 데이터로 평가한 것. 이 블로그의 매일 채점이 여기 해당
look-ahead bias 그 시점에 알 수 없었던 정보를 쓰는 오류
OAS 회사채와 국채의 금리 차이. 커지면 신용위험 우려가 커진 것
VIX S&P 500 옵션에서 계산한 예상 변동성 지수

12. 데이터와 재현

항목 내용
가격 Yahoo Finance (배당·분할 조정 후)
경제지표 FRED (세인트루이스 연은)
팩터 Kenneth R. French Data Library
공시 SEC EDGAR
뉴스 Alpha Vantage, 공개 RSS

모든 코드와 원본 데이터를 공개합니다.
매일 글 하단에 그 글을 생성한 정확한 코드 버전(커밋) 링크가 붙습니다.
같은 코드로 같은 결과를 재현할 수 있습니다.

· 저장소: https://github.com/choijihee0619/us-market-daily


13. 필자와 면책

디지털금융·핀테크·블록체인 등 금융공학 전공 박사과정 재학 중이며, 이 블로그는 연구 기록을 공개하는 공간입니다.

본 글은 공개 데이터를 자동 수집·분석한 연구 기록이며 투자자문이 아닙니다.
특정 종목의 매수·매도를 권유하지 않으며, 필자는 언급된 종목을 보유하고 있을 수 있습니다.
모든 수치는 발행 시점 기준이며 사후 수정될 수 있습니다.
투자 판단과 그 결과에 대한 책임은 투자자 본인에게 있습니다.

 

#방법론 #팩터투자 #파마프렌치 #모멘텀 #퀀트 #잔차분석 #미국주식 #금융공학