콘텐츠로 이동
4 posts with the tag “포트폴리오”

기본적 분석 8장: 여러 지표를 하나의 점수로 합칠 때

여러 재무지표를 복합 점수로 합치는 장면

한 지표에 의존하면 약점이 분명합니다. PER은 이익의 질을 놓치고, ROE는 가격을 놓치며, 매출 성장률은 현금흐름을 놓칩니다. 복합 점수는 이 약점을 줄이기 위한 방법이지만, 지표를 많이 넣는다고 자동으로 좋은 전략이 되지는 않습니다.

이번 시리즈에서는 각 지표를 같은 표본 안에서 순위화했습니다.

축사용 지표선호 방향
가치PER, PBR낮을수록 좋음
퀄리티ROE, ROA높을수록 좋음
성장매출성장률높을수록 좋음
현금영업현금흐름높을수록 좋음
주주환원배당수익률높을수록 좋음
factors = {
"per": False,
"pbr": False,
"roe": True,
"roa": True,
"revenue_growth": True,
"cash_flow": True,
"div_yield": True,
}
score = 0
for column, high_is_better in factors.items():
score += df[column].rank(ascending=not high_is_better)

실제 구현에서는 결측치 처리, 극단값 winsorization, 산업 중립화, 지표별 가중치를 사전에 정해야 합니다. 특히 전체 표본 중앙값으로 결측치를 채우면 결측이 많은 기업이 실제보다 좋아 보일 수 있습니다.

복합 점수 분위20일 평균20일 중앙값60일 평균60일 중앙값
Q1 강한 신호+7.78%+3.25%+17.54%+4.34%
Q2+6.49%+2.25%+16.59%+1.64%
Q3+3.44%-1.99%+9.82%-7.13%
Q4 약한 신호+3.28%-3.06%-0.90%-19.23%

Q1과 Q4의 차이는 컸지만, 이 결과가 가중치의 최적성을 증명하지는 않습니다. 같은 데이터로 여러 가중치를 시험해 가장 좋은 조합만 고르면 데이터마이닝이 됩니다.

복합 점수의 원자료는 복합 점수 수익률 CSV에서 확인할 수 있습니다.

  1. 중복 측정: ROE·ROA·마진은 비슷한 수익성 정보를 담을 수 있습니다.
  2. 산업 편향: 고배당·저PBR을 넣으면 특정 업종이 과도하게 선택될 수 있습니다.
  3. 시점 선택 편향: 결과를 보고 좋은 팩터만 남기면 검증이 아니라 사후 설명이 됩니다.

따라서 복합 점수는 종목을 자동 추천하는 장치가 아니라, 여러 관점을 같은 규칙으로 정렬하는 도구입니다. 다음 장에서는 이 점수가 업종과 시장 국면에 따라 달라지는지 확인합니다.


이 글은 교육 및 연구 목적의 자료이며 특정 종목의 매수·매도를 권유하지 않습니다.

기본적 분석 11장: 백테스트 결과보다 먼저 검증할 것

기본적 분석 전략의 백테스트를 검증하는 장면

백테스트 표에서 누적수익률이 가장 큰 전략을 찾는 일은 쉽습니다. 어려운 일은 그 수익률이 미래 정보를 사용하지 않았고, 실제로 거래 가능한 방식으로 계산되었는지 확인하는 것입니다.

이번 결과는 탐색용 기준선이다

섹션 제목: “이번 결과는 탐색용 기준선이다”

현재 공개된 기준선은 거래대금 상위 300종목, 2026-01-01~2026-09-04 166거래일, 월별 리밸런싱, 동일가중 상위 25%입니다.

전략누적수익률Sharpe최대낙폭
Value+35.39%1.44-25.52%
Quality+58.26%1.56-34.12%
Composite+48.80%1.63-19.00%

이 수치는 벤치마크와 함께 봐야 하며, 166거래일에 연환산수익률을 크게 표시하면 오해가 커집니다. 짧은 기간의 누적수익률을 1년 성과처럼 받아들이지 않는 것이 중요합니다.

Value 전략 누적수익률

Quality 전략 누적수익률

Composite 전략 누적수익률

2025년 연간 재무지표를 2026년 초부터 사용했다면, 실제 공시일 이전 정보를 사용한 것입니다. 이 시리즈의 현재 데이터에는 기준일과 발표일이 분리되어 있지 않으므로, 위 결과를 실거래 성과로 해석할 수 없습니다.

현재 표본은 분석 시점의 거래대금 상위 300종목입니다. 과거에도 같은 종목만 사용했다면 현재 살아 있는 종목만 남는 생존자 편향이 생길 수 있습니다. 과거 각 리밸런싱 시점의 유니버스를 복원해야 합니다.

신호를 월초 종가로 만들고 같은 종가에 체결하면 안 됩니다. 다음 거래일 시가 또는 현실적인 지정가로 체결하고, 수수료·세금·슬리피지·거래량 제한·상하한가를 반영해야 합니다.

동일한 유니버스·리밸런싱·체결 규칙으로 벤치마크와 전략을 계산해야 합니다. 전략만 거래비용을 부담하고 벤치마크는 비용을 부담하지 않으면 비교가 공정하지 않습니다.

  1. 재무지표에 발표일을 추가합니다.
  2. 월별 시점에서 그날 이용 가능한 값만 사용합니다.
  3. 2024~2025년을 학습 구간, 2026년을 완전히 잠근 테스트 구간으로 둡니다.
  4. 산업 중립 버전과 비중 제한 버전을 함께 실행합니다.
  5. 다른 기간과 비용 가정에서 결과가 유지되는지 확인합니다.

따라서 현재 결과의 정직한 결론은 “이 기간에 Composite의 변동성이 상대적으로 낮았다” 정도입니다. “Quality가 미래에도 가장 좋은 전략”이라는 결론은 아직 뒷받침되지 않습니다.

원자료는 전략 결과 CSV에서 확인할 수 있습니다.


이 글은 교육 및 연구 목적의 자료이며 특정 종목의 매수·매도를 권유하지 않습니다. 과거의 백테스트 결과는 미래 수익을 보장하지 않습니다.

ETF 상관계수만으로 분산효과를 판단하면 안 되는 이유

서로 다른 자산의 움직임과 상관관계를 표현한 연구 공간

ETF를 여러 개 담으면 포트폴리오가 자동으로 안전해질까요? 흔히 ETF 사이의 상관계수가 낮으면 분산효과가 크다고 설명합니다. 방향은 맞지만, 상관계수 하나만으로 실제 위험을 판단하기에는 부족합니다. 평소에는 서로 다르게 움직이던 자산도 시장 충격이 발생하면 함께 하락할 수 있기 때문입니다.

이 글에서는 상관계수의 의미와 한계를 살펴보고, ETF 포트폴리오를 구성할 때 함께 확인해야 할 지표를 정리합니다.

두 ETF의 수익률을 , 라고 할 때 피어슨 상관계수는 다음과 같이 계산합니다.

값이 1에 가까우면 같은 방향으로, -1에 가까우면 반대 방향으로 움직이는 경향이 있다는 뜻입니다. 0에 가까우면 선형적인 동조화가 뚜렷하지 않습니다.

문제는 이 값이 어떤 기간과 수익률 간격을 사용했는지에 따라 달라진다는 점입니다. 일간 수익률로 계산한 상관계수와 월간 수익률로 계산한 상관계수는 서로 다를 수 있습니다. 상승장, 하락장, 금리 변동기처럼 시장 국면을 나누면 결과가 더 크게 달라질 수 있습니다.

낮은 상관계수가 항상 낮은 위험은 아니다

섹션 제목: “낮은 상관계수가 항상 낮은 위험은 아니다”

포트폴리오의 분산은 각 자산의 변동성과 자산 사이의 공분산에 의해 결정됩니다.

따라서 상관계수는 중요한 요소이지만 전체가 아닙니다. 상관계수가 낮아도 한 자산의 변동성이 매우 크면 포트폴리오 위험이 커질 수 있습니다. 반대로 상관계수가 다소 높더라도 변동성이 낮고 비중이 적절하면 전체 변동성을 완화할 수 있습니다.

예를 들어 주식 ETF와 원자재 ETF를 섞었다고 해도, 두 상품의 가격 변동폭과 환율 민감도가 크게 다르면 단순 상관계수만으로 체감 위험을 설명하기 어렵습니다. ETF의 기초자산뿐 아니라 환헤지 여부, 선물 롤오버, 분배금 정책도 함께 봐야 합니다.

위기 때 상관관계가 높아지는 현상

섹션 제목: “위기 때 상관관계가 높아지는 현상”

평상시에는 서로 다른 자산군으로 보이던 상품이 급락장에서 동시에 하락하는 현상을 흔히 관찰할 수 있습니다. 투자자가 위험자산을 한꺼번에 줄이거나, 유동성이 낮은 자산부터 매도하기 때문입니다.

이런 현상을 확인하려면 전체 기간의 상관계수 하나보다 다음 결과를 나누어 보는 편이 낫습니다.

  • 전체 기간의 상관계수
  • 하락한 날만 추린 하방 상관계수
  • 최근 60일 또는 120일 이동 상관계수
  • 두 ETF가 같은 날 손실을 기록한 비율
  • 포트폴리오의 최대낙폭과 회복 기간

특히 하방 상관계수가 전체 상관계수보다 높다면, 평소에는 분산되어 보여도 손실이 커지는 시점에 함께 움직일 가능성을 경계해야 합니다.

ETF 분산효과를 확인하는 실전 순서

섹션 제목: “ETF 분산효과를 확인하는 실전 순서”

먼저 비교할 ETF의 총수익률 기준을 통일해야 합니다. 분배금을 제외한 가격 수익률만 비교하면 실제 투자자가 경험하는 결과와 차이가 생길 수 있습니다. 그다음 동일한 기간과 빈도의 수익률로 상관계수와 변동성을 계산합니다.

returns = prices.pct_change().dropna()
summary = returns[['etf_a', 'etf_b', 'etf_c']].agg(['mean', 'std'])
correlation = returns[['etf_a', 'etf_b', 'etf_c']].corr()
downside_correlation = returns[returns[['etf_a', 'etf_b', 'etf_c']].min(axis=1) < 0].corr()

마지막으로 동일한 비중을 가정한 포트폴리오 수익률을 계산하고, 월별 또는 분기별 리밸런싱을 적용해 결과가 어떻게 바뀌는지 확인합니다. 상관계수가 낮더라도 한 상품이 계속 상승해 비중이 커지면, 시간이 지나면서 포트폴리오의 위험 구조가 달라질 수 있습니다.

상관계수 외에 확인할 체크리스트

섹션 제목: “상관계수 외에 확인할 체크리스트”
  • 기초자산과 지역이 실제로 얼마나 겹치는가
  • 상위 보유종목의 중복 비중은 얼마인가
  • 환율과 환헤지 여부가 성과에 어떤 영향을 주는가
  • 하락장에서 동시 손실 빈도는 어느 정도인가
  • 최대낙폭과 회복 기간이 감당 가능한 수준인가
  • 거래량과 스프레드가 리밸런싱 비용을 키우지 않는가

ETF 이름이 다르거나 운용사가 달라도 상위 보유종목이 비슷하면 실질적인 분산효과는 작을 수 있습니다. 반대로 상관계수가 낮아 보이는 상품도 구조가 복잡하거나 거래비용이 크면 장기 보유에 적합하지 않을 수 있습니다.

상관계수는 ETF 포트폴리오를 분석하는 좋은 출발점이지만, 분산효과의 최종 답은 아닙니다. 기간과 수익률 빈도를 바꾸어도 결과가 유지되는지 확인하고, 하락장 상관관계·변동성·최대낙폭·보유종목 중복도를 함께 살펴야 합니다.

좋은 분산 포트폴리오는 단순히 서로 다른 이름의 ETF를 모은 포트폴리오가 아닙니다. 손실이 커지는 국면에서 위험이 어떻게 겹치는지 설명할 수 있는 포트폴리오에 가깝습니다.

이 글은 ETF와 포트폴리오 분석 방법을 설명하기 위한 자료이며, 특정 상품의 매수·매도를 권유하지 않습니다.

포트폴리오 평가 척도(Portfolio Performance Measures)

이 포스트에서는 주식 투자 등의 금융 투자에서 포트폴리오를 평가하는 주요 척도(Portfolio Performance Measures)를 요약 정리합니다.

포트폴리오의 실현 손익을 의미합니다. 가장 직관적이면서 기본적인 포트폴리오 평가 지표이지만 손익률만으로 포트폴리오를 평가하는 것은 위험할 수 있습니다. 이어서 알고 있으면 좋은 몇 가지 대표적인 포트폴리오 리스크 평가 지표들을 소개합니다.

알파는 시장 대비 주식 포트폴리오 손익률을 의미합니다. 만약 시장(코스피, 코스닥 등) 손익률이 10%이고 포트폴리오 손익률이 15%라면 알파는 5%가 됩니다. 반면 포트폴리오 손익률이 5%라면 알파는 -5%가 됩니다.

베타는 주식 종목 손익률과 시장 손익률의 공분산의 시장 손익률 분산 대비 비율입니다. 베타는 주식 종목과 시장의 방향성이 얼마나 비슷한지를 알려줍니다, 수식은 다음과 같습니다.

특정 기간에서 는 종목 손익률 시계열이고 은 시장 손익률 시계열 입니다. 여기서 분모는 시장 손익률의 분산, 분자는 시장 손익률과 종목 손익률의 공분산입니다.

샤프 비율은 무위험(risk-free) 자산의 손익률 대비 기대 초과 손익률을 의미합니다. 수식은 다음과 같습니다.

포트폴리오 손익률 에 무위험 자산 손익률 를 빼고 위험으로 해석할 수 있는 포트폴리오 손익률의 표준편차 를 나눈 값입니다.

소르티노 비율은 샤프 비율과 비슷한 척도입니다. 소르티노 비율에서는 포트폴리오 손익률 시계열의 표준편차인 대신에 시계열에서 하락(downside) 부분에서의 표준편차 를 분모로 사용합니다. 이는 변동성 중에서 급등과 같은 상승 변동성은 좋은 것으로 여기고 하락 변동성만을 부정 요소로 반영하는 것입니다. 수식은 다음과 같습니다.

아무리 수익률이 높더라도 MDD가 크면 좋은 포트폴리오라고 할 수 없을 것입니다. 실전 투자에서 낙폭이 크면 손절을 하기 쉽상이므로 안정적인 포트폴리오가 필요합니다.