Lab
Research Archive·투자 통계·2026-09-11

[통계와 투자 03] 얼마씩 사야 가장 좋을까 — 마코위츠 포트폴리오 최적화

앞선 글에서는 삼성전자, SK하이닉스, NAVER 세 종목을 똑같이 나누어 샀다.

앞선 글에서는 삼성전자, SK하이닉스, NAVER 세 종목을 똑같이 나누어 샀다.

그리고 기대수익률과 변동성, 종목 사이의 상관관계를 이용해 포트폴리오의 변동성을 계산했다.

그 결과 개별 종목 변동성의 단순 평균은 25%였지만, 포트폴리오 전체의 변동성은 약 19.7%로 낮아졌다.

여기까지 오면 자연스럽게 다음 질문이 생긴다.

그런데 왜 꼭 세 종목을 똑같이 사야 할까?

삼성전자 60%, SK하이닉스 20%, NAVER 20%로 살 수도 있다.

반대로 SK하이닉스에 훨씬 큰 비중을 둘 수도 있다.

같은 세 종목인데도 투자비중을 바꾸면 수많은 포트폴리오를 만들 수 있다.

그렇다면 그 많은 조합 중에서 어떤 비중이 가장 좋은가?

바로 이 질문에서 포트폴리오 최적화가 시작된다.

위험을 계산하는 것과 최적화하는 것은 다르다

앞선 글에서는 투자비중이 이미 정해져 있었다.

그러니 그 값을 넣어 기대수익률과 위험을 계산하기만 하면 됐다.

포트폴리오의 기대수익률은

이고,

포트폴리오 분산은

이다.

여기서 는 각 종목의 기대수익률이고, 는 각 종목의 분산과 종목 사이의 공분산을 담은 행렬이다.

앞선 글에서 사용했던 가정값을 그대로 이용하면

이다.

삼성전자 8%, SK하이닉스 12%, NAVER 10%의 기대수익률을 가정한 것이다.

그리고 변동성과 상관계수로부터 공분산 행렬을 만들면

가 된다.

이제 만 정하면 수익과 위험을 모두 계산할 수 있다.

그런데 이번에는 를 먼저 정하지 않는다.

오히려 **우리가 찾고 싶은 값이 다.**

즉 문제의 방향이 뒤집힌다.

“이 비중의 위험은 얼마인가?”

에서

“어떤 비중을 선택해야 위험이 가장 작은가?”

로 바뀌는 것이다.

가장 덜 흔들리는 포트폴리오를 찾아보자

가장 단순하게 생각하면 목표는 분명하다.

포트폴리오의 변동성을 최대한 줄이면 된다.

그러면 최적화 문제는

가 된다.

단, 투자한 돈의 합은 100%여야 하므로

이라는 조건을 붙인다.

공매도를 하지 않는다면

이라는 조건도 추가한다.

이제 컴퓨터는 가능한 수많은 투자비중을 비교해 그중 가 가장 작은 조합을 찾는다.

이렇게 얻은 포트폴리오를 글로벌 최소분산 포트폴리오(Global Minimum Variance Portfolio)라고 한다.

말 그대로 만들 수 있는 포트폴리오 중 가장 덜 흔들리는 포트폴리오다.

실제로 세 종목의 비중을 최적화해보자

앞서 사용한 삼성전자·SK하이닉스·NAVER의 가정값을 그대로 사용해보자.

공매도는 하지 않고 투자비중의 합을 100%로 제한한 뒤, 오직 포트폴리오 분산만 최소화해보면 이 가정에서는 대략 다음과 같은 비중이 나온다.

즉 삼성전자 약 65.5%, SK하이닉스 0%, NAVER 약 34.5%다.

이 포트폴리오의 변동성은 약

까지 낮아진다.

앞에서 동일비중으로 투자했을 때의 변동성이 약 19.7%였으므로 위험만 놓고 보면 더 나은 조합을 찾은 셈이다.

그런데 문제가 하나 생긴다.

이 포트폴리오의 기대수익률을 계산하면

이고,

즉 약 8.7%다.

위험은 낮아졌지만 기대수익률도 낮아졌다.

여기서 중요한 사실이 드러난다.

가장 위험이 작은 포트폴리오가 반드시 투자자에게 가장 좋은 포트폴리오는 아니다.

나는 10%는 벌고 싶은데?

투자가 단순히 흔들리지 않는 것이 목표라면 최소분산 포트폴리오를 선택하면 된다.

하지만 투자자는 보통 수익도 원한다.

예를 들어 이렇게 말한다고 해보자.

“나는 적어도 10%의 기대수익률은 원한다. 그 조건에서 가장 위험이 작은 비중을 찾아줘.”

그러면 최적화 문제에 새로운 조건을 붙인다.

단,

이다.

첫 번째 식은 위험을 최소화하라는 뜻이고,

두 번째 식은 기대수익률 10%를 맞추라는 조건이다.

이제 최적화는 아무리 안전하더라도 기대수익률이 10%보다 낮은 포트폴리오는 후보에서 제외한다.

그리고 남은 포트폴리오들 중 가장 위험이 작은 비중을 찾는다.

앞에서 사용한 가정값으로 계산하면 대략

가 나온다.

즉 삼성전자 약 26.7%, SK하이닉스 약 26.7%, NAVER 약 46.6%다.

이 비중의 기대수익률은

이고, 변동성은 약

다.

재미있는 점은 동일비중 포트폴리오도 기대수익률이 10%였다는 것이다.

동일비중에서는

였고 변동성이 약

였다.

그런데 비중을 최적화하자 같은 10%의 기대수익률을 유지하면서 변동성이

로 조금 더 낮아졌다.

차이가 엄청나게 크지는 않다.

하지만 바로 이것이 최적화가 하는 일이다.

종목을 새로 찾은 것이 아니다. 같은 세 종목 안에서 비중을 바꿔 조금 더 효율적인 조합을 찾아낸 것이다.

목표수익률을 바꾸면 답도 바뀐다

그런데 왜 목표수익률을 꼭 10%로 정해야 할까?

어떤 투자자는 8%면 충분할 수 있고, 어떤 투자자는 11%를 원할 수도 있다.

그래서 목표 기대수익률을 조금씩 바꿔가며 같은 최적화를 반복할 수 있다.

목표가 8%라면 그 수익률에서 위험이 가장 작은 비중을 찾고,

목표가 9%라면 다시 새로운 비중을 찾는다.

10%, 11%, 12%도 마찬가지다.

각 목표수익률마다 다음 문제를 반복해서 푸는 것이다.

단,

이다.

그러면 각각의 목표수익률에 대해 그 수익률을 얻기 위해 감수해야 하는 최소 위험이 하나씩 나온다.

이 점들을 위험과 기대수익률을 축으로 하는 그래프 위에 표시하면 하나의 경계선이 만들어진다.

바로 효율적 프런티어(Efficient Frontier)다.

효율적이라는 것은 무엇일까

두 포트폴리오가 있다고 하자.

둘 다 기대수익률은 10%다.

그런데 A의 변동성은 18%이고 B의 변동성은 24%다.

그렇다면 굳이 B를 선택할 이유가 없다.

똑같은 기대수익을 얻는데 A가 덜 위험하기 때문이다.

반대로 변동성이 똑같이 18%인데 A의 기대수익률은 10%, B는 8%라면 이번에도 B는 선택할 이유가 없다.

그래서 효율적 프런티어 위에 있는 포트폴리오는 한 가지 특징을 가진다.

같은 수익을 얻으면서 더 위험이 낮은 포트폴리오가 없거나, 같은 위험을 감수하면서 더 높은 기대수익을 주는 포트폴리오가 없다.

마코위츠 최적화의 목적은 단순히 가장 안전한 포트폴리오 하나를 찾는 것이 아니다.

투자자가 원하는 수익과 감당할 위험 사이에서 선택할 수 있는 가장 효율적인 조합들을 찾아내는 것이다.

결국 최적화는 ‘얼마씩 살까’를 푸는 문제다

포트폴리오 위험은

로 계산할 수 있다.

기대수익률도

로 계산할 수 있다.

최적화가 필요한 이유는 이 두 값을 계산하기 위해서가 아니다.

**투자비중 를 결정하기 위해서다.**

종목이 세 개뿐이어도 가능한 비중은 매우 많다.

종목이 수십 개, 수백 개가 되면 사람이 모든 조합을 하나씩 비교하는 것은 사실상 불가능하다.

그래서 문제는

라는 최적화 문제로 바뀐다.

마코위츠가 분산투자를 한 단계 발전시킨 지점도 여기에 있다.

“무엇을 살 것인가?”

에서 끝나는 것이 아니라,

“선택한 자산을 얼마씩 살 것인가?”

까지 수학의 문제로 만든 것이다.

그런데 요즘도 이 방법을 그대로 사용할까

마코위츠의 기본 구조는 지금도 포트폴리오 최적화의 출발점으로 남아 있다.

하지만 현실에서는 원래의 평균-분산 최적화를 아무 수정 없이 사용하는 것보다 입력값의 추정오차와 현실적인 제약조건을 보완한 형태가 많이 사용된다.

가장 큰 문제는 최적화에 집어넣는 기대수익률 와 공분산 행렬 를 미래에 대해 정확히 알 수 없다는 점이다.

특히 기대수익률을 조금만 다르게 추정해도 최적화된 비중이 크게 달라질 수 있다.

그래서 Black–Litterman 모형은 시장의 균형수익률과 투자자의 전망을 결합해 기대수익률 추정의 불안정성을 줄이려 한다.

종목 수가 많고 데이터가 부족하면 표본 공분산 행렬도 불안정해질 수 있다.

Ledoit–Wolf Shrinkage는 표본 공분산 행렬을 보다 안정적인 구조 쪽으로 축소해 이런 문제를 완화하는 대표적인 방법이다.

Robust Optimization은 기대수익률과 공분산이 정확한 하나의 값이라고 가정하지 않고, 어느 정도의 추정오차가 존재할 수 있다는 전제에서 포트폴리오를 구성한다.

Risk Parity는 미래 기대수익률을 정확히 예측하는 대신 각 자산이 포트폴리오 전체 위험에 얼마나 기여하는지에 초점을 둔다.

또한 CVaR 최적화처럼 분산 대신 큰 손실이 발생하는 꼬리위험에 더 집중하는 방법도 사용된다.

최근에는 머신러닝을 이용해 기대수익률, 변동성, 공분산, 시장 국면 등을 추정한 뒤 기존의 포트폴리오 최적화와 결합하는 연구도 활발하다.

즉 현대의 포트폴리오 이론은 마코위츠를 버린 것이 아니다.

오히려

로 확장되어 왔다고 보는 편이 정확하다.

70년이 넘게 지났지만 기본적인 질문은 여전히 남아 있다.

“어떤 자산을 얼마씩 보유할 것인가?”

다만 현대 투자에서는 그 질문 뒤에 하나가 더 붙는다.

“그 계산에 넣은 숫자를 우리는 얼마나 믿을 수 있는가?”

그리고 바로 여기서 다음 문제가 시작된다.

앞에서는 삼성전자 8%, SK하이닉스 12%, NAVER 10%라는 기대수익률을 이미 알고 있다고 가정했다.

하지만 현실에서는 미래의 기대수익률을 아무도 미리 알지 못한다.

그렇다면 포트폴리오 최적화에 넣을 미래 기대수익률은 도대체 어떻게 추정해야 할까?

참고문헌

  • Markowitz, H. (1952). Portfolio Selection. The Journal of Finance, 7(1), 77–91.
  • Black, F., & Litterman, R. (1992). Global Portfolio Optimization. Financial Analysts Journal, 48(5), 28–43.
  • Goldfarb, D., & Iyengar, G. (2003). Robust Portfolio Selection Problems. Mathematics of Operations Research, 28(1), 1–38.
  • Ledoit, O., & Wolf, M. (2004). A Well-Conditioned Estimator for Large-Dimensional Covariance Matrices. Journal of Multivariate Analysis, 88(2), 365–411.
  • Maillard, S., Roncalli, T., & Teïletche, J. (2010). The Properties of Equally Weighted Risk Contribution Portfolios. The Journal of Portfolio Management, 36(4), 60–70.
  • Rockafellar, R. T., & Uryasev, S. (2000). Optimization of Conditional Value-at-Risk. The Journal of Risk, 2(3), 21–41.
  • Lee, Y., Kim, J. H., Kim, W. C., & Fabozzi, F. J. (2024). An Overview of Machine Learning for Portfolio Optimization. The Journal of Portfolio Management, 51(2), 131–148.