The Efficient Frontier from a LASSO Solver
Thomas Schmelzer
머신러닝에서 변수를 골라 내는 데 쓰는 'LASSO'라는 도구가, 투자 세계의 고전 '효율적 프런티어'를 사실상 같은 방법으로 그려 낸다는 것이 밝혀졌습니다. 이번 논문은 그 사실을 실무에서 바로 쓸 수 있게 정리한, 계산기 하나로 퀀트 업무를 빠르게 만드는 이야기입니다.
들어가며
맛집 앱을 열면 흔히 보이는 화면이 있습니다. "가성비 좋은 순서대로 정렬". 맛과 가격이 모두 만족스러운 집부터, 조금 비싸지만 확실히 맛있는 집, 저렴하지만 무난한 집까지 — 어떤 선택지가 '균형점'인지 곡선으로 보여 주는 것이죠.
투자에서도 똑같은 화면이 있습니다. 이름하여 효율적 프런티어(efficient frontier). 기대수익이 큰 포트폴리오일수록 위험(변동성)도 커지는데, "이 정도 위험을 감수하면 이 정도 수익을 기대할 수 있다"는 최전선(frontier)을 그린 곡선입니다. 1952년 마코위츠가 제안한 이 개념은 노벨경제학상을 받았을 만큼 유명한데, 정작 실무자들은 이 곡선을 그리는 계산이 귀찮다고 말합니다. 자산이 수백 개가 되면 전용 최적화 프로그램을 돌려야 하고, 계산 시간도 만만찮거든요.
그런데 2026년 9월 공개된 한 논문이 이렇게 말합니다. "효율적 프런티어? 머신러닝 기본 도구인 LASSO 돌리면 그대로 나옵니다. 그것도 밀리초 단위로."
무엇이 문제였나
포트폴리오 최적화의 고전적인 계산 방식은 이렇습니다.
- 자산별 기대수익률과 위험(공분산)을 추정한다.
- "위험 대비 수익이 가장 좋은 무게 배분"을 찾기 위해 이차계획법(quadratic programming, QP)이라는 최적화를 푼다.
- 위험 선호도를 조금씩 바꿔 가며 2를 수십~수백 번 반복해서 점들을 찍고, 그 점들을 이어 곡선을 만든다.
여기에는 두 가지 아쉬움이 있습니다.
- 느리다. 자산이 늘어날수록, 반복 횟수가 늘어날수록 시간이 듭니다. 논문에 따르면 S&P 500 종목 494개 기준으로 QP 100회 계산에 약 12초가 걸립니다(콜드 스타트 기준).
- 곡선의 '꺾이는 점'을 놓친다. 효율적 프런티어 위의 포트폴리오는 자산이 하나씩 추가되거나 빠지는 특별한 지점(코너 포트폴리오)을 기준으로 구간이 나뉩니다. 그런데 QP를 100개 격자점에서만 풀면 그 사이에 숨어 있는 코너는 아예 보이지 않습니다. 마치 지도의 급커브를 100m 간격 측량만으로 놓치는 것과 비슷합니다.
한편 머신러닝 세계에는 LASSO라는 도구가 있습니다. 변수가 수백 개일 때 "쓸 만한 변수만 골라 내면서" 회귀식을 추정하는 방법이죠. 특징은 페널티(벌점) 강도를 조금씩 바꾸면 선택되는 변수 조합이 꺾이는 점(knot)을 기준으로 직선처럼 변한다는 것입니다. 여기서 문득 이런 질문이 떠올랐습니다.
"꺾이는 점을 기준으로 직선 구간이 이어진다? 이거 효율적 프런티어랑 생긴 게 똑같지 않나?"
핵심 아이디어 — 두 곡선은 사실 한 곡선이었다
실은 이 질문의 답은 같은 저자들이 짧게 공개한 동반 논문(Schmelzer & Hastie, arXiv:2609.25704)에서 이미 증명되어 있습니다. 마코위츠의 임계선 알고리즘(CLA)과 LASSO 경로는, 좌표만 바꿔 보면 같은 곡선이다라는 결과입니다. 이번 논문은 그 등가성을 "그래서 실무에서 어떻게 쓰느냐"로 옮긴 실전 가이드입니다.
핵심은 놀라울 만큼 단순합니다. 포트폴리오 최적화 문제(기대수익 − 위험의 절반을 최대화)를 수학적으로 '제곱 오차 최소화' 문제, 즉 회귀 문제로 바꿔 쓸 수 있다는 것입니다. 공분산 행렬을 분해해서 입력 데이터를 적절히 재배열하기만 하면, "어떤 종목에 얼마나 넣을까"라는 문제가 "회귀 계수를 추정하는" 문제가 됩니다. 이건 통계 모형을 가정한 것이 아니라 좌표계를 바꾼 것에 불과합니다. 그래서 원래 문제의 답이 하나도 틀리지 않습니다.
이 변환을 적용하면 세 가지 상황이 모두 LASSO 한 줄로 처리됩니다.
- 롱숏 + 총노출 상한 (예: "전체 베팅 크기는 자본의 2배를 넘기지 말 것"): 이건 LASSO의 원형 그대로입니다. LASSO 경로가 곧 효율적 프런티어입니다.
- 레버리지 고정 + 위험선호 변화: 같은 경로를 크기만 키워 쓰면 됩니다.
- 롱온리 완전투자 (예: "현금을 다 쓰고 공매도는 금지"): '음수 금지' 조건이 붙은 LASSO를 쓰면 됩니다.
기존 QP 격자 방식과 비교하면 차원이 다릅니다. 경로 알고리즘은 꺾이는 점(코너)을 직접 전부 반환하고, 코너 사이의 포트폴리오는 두 코너를 이은 선분의 중간값입니다. 격자 사이를 놓칠 일이 원천적으로 없습니다.
애초에 멈추는 지점 — 그리고 '한 번의 이동'
이쯤에서 함정이 하나 등장합니다. 롱온리 상황에서 LASSO 솔버를 그냥 호출하면, 경로가 최대 샤프 포트폴리오(위험 대비 수익이 가장 좋은 지점)에서 멈춰 버립니다. 하지만 효율적 프런티어는 그 뒤에도 계속 이어집니다 — 위험이 가장 작은 '최소분산 포트폴리오'까지요.
왜 멈추느냐? LASSO 솔버는 '벌점'을 0 아래로 못 내려가게 설계되어 있는데, 프런티어의 남은 구간은 사실상 '음수 벌점'이 필요한 구간이기 때문입니다. 재미있는 것은 이게 문제가 아니라 소프트웨어의 표현 방식 한계라는 점입니다. 실제 최적화 문제에는 아무 문제가 없습니다.
논문의 해법은 기발하면서도 단순합니다. 문제를 한 번 더 제곱식으로 정리해서, 벌점 항을 데이터(반응) 쪽으로 통째로 옮겨 버리는 것입니다. 말이 어렵지만, "벌점 다이얼을 -에서 시작할 수 있도록, 시작점을 미리 앞으로 당겨 놓는다"고 이해하면 됩니다. 이렇게 '한 번 이동(shift)'한 데이터로 솔버를 돌리면, 한 번의 호출로 프런티어 전체 — 놓치던 코너 2개까지 — 를 얻습니다.
게다가 어디서 멈춰야 할지도 미리 계산할 수 있습니다(마지막 코너의 위치를 사전에 산출하는 공식을 논문이 제공합니다). 즉 "이 정도면 충분하다"를 대충 정하는 것이 아니라, 이론적으로 끝점을 알고 시작합니다.
결과 — 무엇을 알아냈나
숫자로 확인해 보면 이렇습니다.
- 정확도: 자산 20~500개 규모의 시험 문제에서 LASSO 경로가 찾은 모든 코너 포트폴리오는, 독립적인 최적화 솔버(QP)의 해와 10의 -10승 이내로 일치했습니다. 최대 오차가 6.7×10⁻¹¹이었는데, 이마저도 두 솔버를 비교해 보면 쪽은 QP 쪽이라는 것이 확인되었습니다. 경로 알고리즘은 자기 최적화 조건(KKT 잔차)을 기준으로 10의 -13승 수준을 유지했습니다.
- 속도: S&P 500 종목 494개, 약 5년치(2021년 7월~2026년 5월, 1,213거래일) 일일 수익률 데이터에서, 코너 포트폴리오 94개를 0.14초에 전부 산출했습니다. 같은 문제를 QP 100개 격자로 풀면 약 12초 — 대략 80배 이상 빠릅니다. "웜 스타트로 계산을 이어 받으면 빨라지지 않느냐"는 반론에 대해서도, 웜 스타트 OSQP 기준으로 4.9초(허용오차 10의 -6승)임을 보여 줍니다. 오히려 정밀도를 낮추면(10의 -5승) 3.4초로 줄지만 일부 점에서 오차가 10의 -3승까지 벌어집니다.
- 특별한 포트폴리오도 정확히: 최소분산 포트폴리오(53종목 보유)는 QP 대비 1.2×10⁻¹⁵까지 일치했고, 최대 샤프 포트폴리오도 10의 -15승 수준이었습니다. 격자 방식이라면 이런 특수 지점이 코너 사이에 있을 때 놓치기 쉬운데, 경로 방식은 코너를 전부 알고 있습니다.
- 부수 효과: 경로를 따라가면 "어떤 종목이 언제 편입·이탈하는지"가 그대로 드러납니다. 리밸런싱 시점을 설계할 때 바로 쓸 수 있는 정보입니다.
저자는 이 모든 수치를 재현할 수 있는 코드(MIT 라이선스)와 검증 스크립트를 공개했고, 실험 데이터도 고정된 시드로 재생성되게 했습니다. 실데이터(S&P 500) 부분만 야후 파이낸스에서 받아야 하는데, 이마저도 수집 스크립트와 당시 데이터의 지문(해시)을 함께 공개해 "같은 데이터로 검증했다"를 확인할 수 있게 했습니다.
한계와 주의점
이 연구가 만능 열쇠는 아닙니다. 논문 스스로도 명확한 사용 불가 조건을 적고 있습니다.
- 공분산 행렬이 '특이'하면 안 됩니다. 쉽게 말해 자산 간 위험 구조가 완전히 중복되거나 정보가 부족해서 계산이 불안정해지는 경우, 이 등가성이 유지된다는 보장이 없습니다.
- 선형 제약은 하나만. 이 방법이 쓰는 LASSO 솔버는 "공매도 금지" 같은 부호 조건 하나와, "총노출 상한" 또는 "전액 투자" 중 하나의 제약만 처리합니다. 달러 뉴트럴(롱숏 비중을 정확히 상쇄)이나 130/30(예산과 총노출 상한 동시) 같은 복합 제약은 기본 도구로는 불가능합니다. 더 일반적인 경로 알고리즘이 이론상 존재하나, scikit-learn에는 아직 없습니다.
- 시험 문제의 수익률은 실제보다 화려합니다. 논문이 쓰는 20자산 예시는 기간당 샤프 비율이 2.1에 달해 "예시일 뿐 실제 자산 수준이 아니"라고 명시합니다. 실데이터 검증은 S&P 500 대형주, 롱온리에 국한됩니다.
- 공정의 '속도' 측정은 노트북 기준이며, 이 논문은 새 이론을 증명한 논문이 아니라 이미 증명된 정리(동반 논문)를 실무로 옮긴 가이드라는 성격도 알아 두면 좋습니다.
그래서 투자/실무엔?
일반 투자자에게는 "포트폴리오 최적화를 위해 값비싼 전용 솔버가 꼭 필요하지 않다"는 메시지가 가장 와닿을 겁니다. 파이썬의 무료 표준 라이브러리(scikit-learn)만으로도, 자산 수백 개 규모의 효율적 프런티어와 코너 포트폴리오 목록을 1초도 안 되는 시간에 얻을 수 있습니다.
퀀트 실무의 관점에서는 세 가지가 인상적입니다.
- 탐색의 속도가 전략의 품질로. 제약 조건을 바꿔 가며 프런티어를 빠르게 비교해 볼 수 있으므로, "이 제약을 넣으면 무엇을 잃는가"를 감이 아니라 곡선으로 확인할 수 있습니다.
- 코너가 주는 정보. 포트폴리오가 언제 어떤 종목을 추가로 담는지가 명시적으로 나오므로, 리밸런싱 정책의 근거로 삼기 좋습니다.
- 도구 선택의 지혜. "금융 문제를 통계학의 잘 발달된 도구로 번역하면, 금융 전용 알고리즘보다 훨씬 성숙한 구현의 혜택을 받을 수 있다"는 교훈은 최적화 너머의 영역에도 적용됩니다. 반대로, 내 포트폴리오가 달러 뉴트럴처럼 복합 제약을 요구한다면 이 도구는 아직 대안이 아니라는 것도 정직하게 알아 두어야 합니다.
더 알아보기
- 원문: The Efficient Frontier from a LASSO Solver (arXiv:2609.37108) — Thomas Schmelzer, 2026년 9월 29일 공개 (CC BY 4.0). 동반 이론 논문: The Critical Line Algorithm and the constrained LASSO: one curve, two literatures (arXiv:2609.25704)
- OHSE AI Lab 5차원 평가 (composite 69.5, A등급): 새로움 65 / 실용성 84 / 엄밀성 61 / 재현성 58 / 통찰 74 — 실용성과 재현성이 특히 높은 '바로 쓸 수 있는' 연구입니다.
- 함께 읽기 좋은 관련 논문 (KB 유사도 기준):
- Consistent Estimation of the High-Dimensional Efficient Frontier (arXiv:2409.15103) — 자산이 매우 많을 때 효율적 프런티어를 어떻게 추정할지 (A등급)
- Growing the Efficient Frontier on Panel Trees (arXiv:2501.16730) — 나무 기반 방법으로 프런티어를 넓히는 접근
- Post-Screening Portfolio Selection (arXiv:2604.17593) — 종목을 1차로 걸러 낸 뒤의 포트폴리오 선택 (LASSO 계열)
관련 글
포트폴리오 최적화A공분산 추정, 틀리기만 하면 괜찮을까? — 포트폴리오 의사결정에 진짜 중요한 오차의 기하학
헤비테일 금융 데이터에서 최소분산 포트폴리오를 구성할 때, 공분산 추정 오차가 포트폴리오 성능에 실제로 영향을 미치는 '의사결정 기하학'을 소개합니다.
강화학습 포트폴리오가상 시장을 만들어 연습시킨 AI 포트폴리오 매니저 — vine copula 시뮬레이션과 강화학습이 거래비용을 41.5% 줄인 비결
투자는 미래가 한 번뿐이라 연습할 수 없다. 이 논문은 자산 간 관계를 배워 가상 시장을 찍어내고, 그 가상 세계에서 강화학습 매니저를 훈련시켜 22개월 실전에서 연 34.13%, 샤프 2.31을 기록했다. 시뮬레이션 연습이 거래비용을 41.5% 줄인 과정과, '모형을 믿어도 되는가'를 수학적으로 따진 점을 쉽게 정리한다.
포트폴리오 최적화ACVaR를 이긴 엑스펙타일 포트폴리오: Wasserstein 강건 최적화로 따져보니
리스크 측도를 CVaR에서 엑스펙타일(expectile)로 바꾸고 분포 불확실성까지 반영한 포트폴리오 최적화가 FTSE 13년 실증에서 9개 조합 전부 이겼다. 엑스펙타일의 백테스트 가능성, 지름자 선택, 퇴화 임계값까지 쉽게 풀어 설명한다.
