본문 바로가기
  • 책상 밖 세상을 경험할 수 있는 Playground를 제공하고, 수동적 학습에서 창조의 삶으로의 전환을 위한 새로운 라이프 스타일을 제시합니다.
Miscellaneous

[2026-2] 김지원 - Machine Learning-based Relative Valuation of Municipal Bonds

by jw103203 2026. 9. 13.

논문 제목 : Machine Learning-based Relative Valuation of Municipal Bonds

인용 수 : 8회(2026-09-13 기준)

비고 : ACM 2024에서 발표됨

 


1. 들어가며

주식은 거래소에서 하루에도 수백만 번씩 체결되지만, 미국 지방채(municipal bond, 이하 muni bond)는 사정이 전혀 다름. 시장에 유통 중인 종목만 100만 개가 넘는데, 그중 실제로 거래가 이루어지는 비중은 하루 기준으로 약 2%에 불과함. 이런 시장에서 "이 채권이 지금 싸게 거래되고 있는가, 비싸게 거래되고 있는가"를 판단하는 일—이른바 상대가치 평가(relative valuation)—은 생각보다 훨씬 어려운 문제가 됨.

전통적으로 이 문제는 사람이 정한 규칙이나 경험칙(rule-based / heuristic)으로 풀어왔음. 하지만 이런 방식은 두 가지 약점을 가짐. 첫째, 어떤 속성을 얼마나 중요하게 볼지 정하는 과정에 애널리스트 개인의 편향이 개입함. 둘째, 채권의 여러 특성(만기, 신용등급, 발행 주, 쿠폰 등)이 서로 얽혀 만들어내는 복잡한 상호작용을 단순한 규칙으로는 담아내기 어려움.

이 논문의 저자들은 이 문제를 지도학습 기반 유사도 학습(supervised similarity learning)으로 다시 정의함. 핵심 아이디어는 단순함. "지금 이 채권과 가장 비슷한 위험 프로필을 가진 채권들은 무엇인가"를 머신러닝 모델이 데이터로부터 직접 학습하게 하고, 그렇게 찾아낸 "닮은 꼴 채권 그룹"과 비교해 상대적으로 저평가·고평가된 채권을 가려내는 것임. 이때 사용하는 알고리즘이 CatBoost, 즉 범주형 변수가 많은 데이터에 강한 그래디언트 부스팅 트리 계열 모델임.

2. 왜 지방채는 가격을 매기기 어려운가

muni bond 시장의 유동성 통계를 보면 문제의 크기가 체감됨.

  • 전체 지방채 중 1년 동안 25일 이상 거래되는 채권은 10%가 채 되지 않음.
  • 지방채의 50%는 1년에 5일 이하로만 거래됨.
  • SIFMA 집계에 따르면 2008 ~ 2022년 15년간 muni 시장의 일평균 거래 건수는 약 39,000건인데, 이 중 개인투자자가 31,000건, 기관투자자가 8,000건을 차지함. 반면 거래 금액 기준으로는 개인 13억 달러, 기관 12억 달러로 비슷한 규모임. 즉 기관은 개인보다 훨씬 적은 횟수로, 훨씬 큰 단위의 거래를 함.

이런 구조에서는 특정 채권에 대해 관측 가능한 가격·수익률 데이터 자체가 극히 드묾. 새로 매물로 나온 채권은 과거 거래 이력이 거의 없을 수도 있음. 그래서 실무에서 흔히 쓰는 우회로가 "최근에 거래된, 비슷한 채권의 정보를 빌려오는 것"임. 저자들은 이 아이디어를 정교화해서, 다양한 채권 속성과 위험 특성으로부터 거리(=유사도) 지표 자체를 학습시키는 지도학습 알고리즘을 제안함. 이는 단순 상관관계 분석보다 한 단계 더 나아가, 채권의 속성들 사이의 미묘한 상호관계까지 반영할 수 있다는 것이 저자들의 주장임.

3. 선행 연구와 이 논문의 기여

유사도 학습 자체는 금융 데이터에서 이미 여러 곳에 쓰여왔음.

  • 뮤추얼 펀드 분야에서는 포트폴리오 구성을 기준으로 비슷한 펀드를 찾는 지도학습 유사도 연구가 이루어져 왔음.
  • 회사채(corporate bond) 분야에서는 랜덤 포레스트(Random Forest) 기반의 근접도(proximity)를 이용한 유사도 학습이 제안된 바 있음 (Jeyapaulraj et al., 2022).
  • IPO 기업의 상대가치를 Gradient Boosting Decision Tree로 추정한 연구도 있음 (Geertsema & Lu, 2023).
  • muni bond 가격 결정 자체에는 최근 ridge regression과 칼만 필터(Kalman filter) 기반 접근이 제안된 바 있음.

이 논문은 이 흐름 위에서 다음 세 가지를 새롭게 시도함.

  1. 의사결정나무, 랜덤 포레스트, CatBoost 세 가지 트리 기반 모델을 직접 비교하여, 범주형 변수가 많은 muni bond 데이터에서 CatBoost가 우월함을 실증함.
  2. 여러 타깃 변수(OAS와 수익률)를 동시에 예측하는 다중 출력 회귀(multi-output regression)로 유사도 학습 문제를 확장함.
  3. 기존 랜덤 포레스트의 근접도 정의를 넘어, 부스팅 트리에 맞는 새로운 근접도 계산 방식을 제안함.

4. 유사도는 어떻게 정의하고 학습하는가

4.1 규칙 기반 vs. 비지도 vs. 지도학습

데이터 포인트 간 유사도는 결국 "거리"의 문제임. 가장 단순한 방법은 몇 가지 속성(산업, 발행 주, 잔존 만기 등)을 고르고, 그 속성 기준을 만족하는 채권들을 묶는 규칙 기반 방식임. 문제는 어떤 속성을 먼저 볼지, 각 속성에 얼마만큼의 가중치를 줄지 정하는 기준이 자의적이라는 점임. 비지도 클러스터링을 쓰면 데이터 안의 패턴은 잡아낼 수 있지만, 이번에는 클러스터의 품질을 객관적으로 평가하거나 개별 속성에 가중치를 부여할 방법이 마땅치 않음.

지도학습 방식의 유사도 학습은 이 문제를 다르게 접근함. 미리 정해둔 목표 변수(이 논문에서는 OAS와 수익률)를 잘 맞히도록 모델을 학습시키면, 그 과정에서 모델이 "어떤 속성이 목표 변수를 설명하는 데 중요한지"를 자연스럽게 학습하게 됨. 이 학습된 가중치 구조를 그대로 거리(유사도) 측정 기준으로 재활용하는 것임.

4.2 CatBoost, 그리고 GBDT와의 차이

Gradient-Boosted Decision Tree(GBDT)는 여러 개의 의사결정나무를 순차적으로 이어 붙이는 방식으로 작동함. 첫 번째 나무가 예측을 하고 남긴 오차(잔차)를, 두 번째 나무가 다시 예측해서 보정하고, 이 과정을 반복하며 정확도를 점점 끌어올림. 각각의 나무는 in-sample 데이터에 과적합되지 않는 선에서 최적의 규칙 기반 분기를 학습함.

CatBoost는 이 GBDT 계열에 속하지만, 특히 범주형 변수가 많고 이질적인(heterogeneous) 데이터를 다루기 위해 설계되었다는 점에서 차별화됨. 구체적으로 세 가지 특징이 있음.

  1. 데이터 누출 방지: 타깃 인코딩과 트리 출력 계산 과정에서 데이터를 순차적으로 처리해, 미래 정보가 과거 예측에 새어 들어가는 것을 막음(ordered boosting).
  2. 대칭 트리(oblivious tree): 계산 속도는 빠르지만 개별 트리의 표현력은 다소 제한된, 크고 대칭적인 트리를 생성함.
  3. 범주형 변수 조합의 자동 인코딩: 현재 트리가 이전 분기에서 이미 사용한 범주형 변수와 데이터셋 내 다른 범주형 변수를 자동으로 결합해 새로운 입력 변수처럼 활용함.

분기 기준은 손실 감소를 최대화하는 변수로 결정되고, 분기 임계값은 예측값과 잔차 오차 간의 코사인 유사도를 최대화하는 방향으로 정해짐. 최종 예측값은 이렇게 이어진 트리들의 출력을 가중합한 값임.

4.3 트리에서 유사도를 뽑아내는 방법

트리 기반 모델에서 유사도(근접도)를 정의하는 아이디어는 직관적임. 하나의 의사결정나무에서 각 리프 노드(leaf node)는 특징 공간(feature space)의 한 구역을 의미함. 같은 리프 노드에 떨어진 데이터 포인트들은 서로 "가장 가까운 이웃"으로 볼 수 있음. 실제로 그 구역 안에서의 예측값도 해당 구역에 속한 학습 데이터의 타깃 변수 평균값으로 계산됨.

랜덤 포레스트(RF)의 근접도는 단순함. 두 채권 $i, j$가 전체 $N$개 트리 중 몇 번이나 같은 리프 노드에 함께 떨어지는지의 비율로 정의됨.

$$
S(i,j)=\frac{1}{N}\sum^N_{t=1}I_t(v(j)=v(i))
$$

여기서 $I_t$는 두 데이터가 $t$번째 트리에서 같은 리프에 속하는지를 표시하는 지표함수임.

문제는 GBDT/CatBoost처럼 트리들이 순차적으로 이어지는 구조에서는 이 정의를 그대로 쓸 수 없다는 점임. GBDT에서는 초기 트리일수록 예측 오차의 전체적인 크기(amplitude)를 조정하는 데 더 큰 영향을 미치고, 뒤로 갈수록 트리의 중요도는 대략 지수적으로 감소함. 따라서 저자들은 각 트리가 직전 트리 대비 잔차를 얼마나 줄였는지를 트리 중요도 $\Delta_t$로 정의하고, 이를 가중치로 사용한 새로운 근접도를 제안함.

$$
P(i,j)=\frac{1}{N}\sum_{t=1}^N\Delta_tI_t(v(j)=v(i))
$$

$$
\Delta_t=\frac{E(t)-E(t-1)}{\sum_{t=1}^NE(t)-E(t-1)}
$$

즉 초기 단계에 오차를 크게 줄인 트리에서 같은 리프에 떨어진 두 채권일수록, 더 높은 유사도 점수를 부여받음.

4.4 여러 목표를 한 번에: 다중 출력 회귀와 SHAP

이 논문은 OAS(Option-Adjusted Spread, 옵션 조정 스프레드)와 수익률(yield) 두 가지를 동시에 예측 목표로 삼음. 이렇게 여러 종속 변수를 한 모델이 함께 예측하게 하면, 타깃 변수들 사이의 상관관계까지 활용해 예측 성능을 높일 수 있음. CatBoost는 이를 위해 Multiple Target RMSE(Multi-RMSE)라는 손실 함수를 지원함.

$$
\text{MultiRMSE}=\sqrt{\frac{\sum_{i=1}^N\sum_{d=1}^D(P_{i,d}-y_{i,d})^2w_i}{\sum_{i=1}^Nw_i}}
$$

$N$은 전체 데이터 수, $D$는 타깃 변수의 개수, $P_{i,d}$와 $y_{i,d}$는 각각 예측값과 실제값, $w_i$는 개별 데이터의 샘플 가중치임.

여기에 더해 저자들은 SHAP(SHapley Additive exPlanations)을 사용해 학습된 모델에서 어떤 피처가 예측에 얼마나 기여했는지를 사후적으로 분석함.

5. 상대가치 평가는 어떻게 이루어지는가

5.1 Generic Group과 Perfect Match

실제 상대가치 비교를 하려면 먼저 "비교 대상 풀(pool)"을 정의해야 함. 저자들은 두 가지 기준—채권이 발행된 주(state)잔존 만기 구간—으로 채권을 넓게 묶음. 만기는 0 ~ 10년을 1년 단위로 쪼갠 10개 구간에, 10 ~ 15년 구간과 15년 이상 구간을 더해 총 12개 구간으로 나눔. 이렇게 "주 × 만기 구간"으로 정의된 그룹을 generic group이라 부름(예: "캘리포니아 10년 generic group"은 캘리포니아 주가 발행한, 잔존 만기 9 ~ 10년인 모든 채권을 뜻함). 이 조건을 만족하는 채권들은 perfect match로 분류됨.

더 많은 속성을 기준에 추가할 수도 있지만, 저자들은 그렇게 하면 오히려 비교 가능한 채권 풀이 지나치게 좁아져 좋은 투자 기회를 놓치게 된다고 설명함. "발행 주"와 "만기"만으로 넓게 묶은 뒤, 그 안에서 OAS·수익률 기반의 세밀한 비교를 얹는 방식이 제약과 자유도 사이의 균형점이라는 것임.

5.2 세 가지 랭킹 방법

저자들은 각 generic group 안에서 채권들의 순위를 매기는 세 가지 방법을 비교함.

 

① Yield 기준 랭킹
단순히 호가 수익률(quoted yield)이 높은 순서로 순위를 매김. 직관적이고 계산도 간단하지만 위험을 전혀 고려하지 않으므로, 다른 방법들과 비교하기 위한 베이스라인 역할을 함.

 

② Duration × Spread(DxS) 기준 랭킹 (규칙 기반 cohort)
DxS 값(듀레이션과 스프레드를 곱한, 리스크 프로파일을 나타내는 전통 지표)이 비슷한 채권들끼리 묶는 규칙 기반 방법임. 각 채권에 대해 DxS 값이 가장 비슷한 k개의 이웃을 고르고, 그 이웃들의 중위 수익률과 해당 채권 수익률의 차이를 계산해 내림차순으로 정렬함. 이 방법의 논리는, 자신이 속한 위험 클러스터의 중위 수익률에서 가장 멀리 떨어진(=가장 저평가된) 채권일수록 향후 더 높은 수익률을 제공하리라는 가정에 기반함.

 

③ CatBoost 유사도 기준 랭킹
앞서 정의한 근접도 $P(i,j)$를 이용해 k개의 가장 가까운 이웃(cohort)을 구성함. DxS 방식과 동일하게, 이 cohort의 중위 수익률과의 차이를 계산해 순위를 매김. 다만 이웃을 정의하는 기준이 사람이 고른 지표(DxS)가 아니라, 모델이 데이터로부터 학습한 위험 프로필 유사도라는 점이 다름. 논문에서는 k = 5, 10, 50, 100 네 가지 값으로 실험함.

6. 백테스트는 어떻게 설계했는가

백테스트는 2019년부터 2024년까지 6년에 걸쳐, 서로 다른 금리 국면을 대표하는 6개의 독립적인 구간에서 이루어짐.

  • 2019.6 ~ 12
  • 2020.3 ~ 9 (코로나 초기 변동성 국면)
  • 2021.3 ~ 9 (저금리 랠리 말기)
  • 2022.7 ~ 2023.1 (금리 급등기)
  • 2023.3 ~ 9 (랠리 국면)
  • 2023.11 ~ 2024.2

각 구간은 다음과 같은 절차로 평가됨.

  1. Initial ranking (T 시점): 구간의 첫 달 동안 매일 발생한 모든 거래 주문을 각 generic group에 매핑함. 하루가 아니라 한 달 치 데이터를 쓰는 이유는 특정일의 우연한 편향을 방지하기 위해서임. 각 generic group 안에서 세 가지 방법(Yield, DxS, CatBoost 유사도)으로 매일 순위를 매긴 것이 T 시점의 초기 랭킹임.
  2. Final ranking (T+1, T+2, T+3, T+6개월): 이후 시점에서의 수익률 변화(T 시점 대비 yield 변화)를 실제 성과의 대리 지표로 삼아 재랭킹함. 검증하려는 가설은, 초기에 "자기 cohort에서 가장 동떨어진(=가장 저평가된)" 채권일수록 시장이 시간이 지나며 스스로 가격을 교정(self-correct)해 더 좋은 성과를 낸다는 것임.

성과 평가에는 두 가지 지표를 함께 사용함.

  1. Top-ranked → Top-3 적중률: 특정 방법이 1위로 꼽은 채권이, 이후 실제로 해당 generic group 안에서 수익률 상위 3위 안에 들었는가.
  2. Top 수익률 → Top-3 초기 랭킹 적중률: 실제로 가장 높은 수익률을 기록한 채권이, 애초에 그 방법의 초기 랭킹에서 상위 3위 안에 있었는가.

두 지표를 평균 내 combined back-testing metric을 산출하고, k값(5/10/50/100)별로 월별·연도별 분포를 박스플롯으로 시각화함.

7. 데이터와 실험 세팅

  • 유니버스: 신용도, 소규모 딜, 쿠폰 조건 등으로 필터링한 약 22.5만 개의 muni bond.
  • 학습 데이터: 2023년 10월 25일~11월 1일 스냅샷의 cross-sectional 데이터. 타깃은 자체 모델 기반 OAS와 BVAL(블룸버그 밸류에이션 서비스) 수익률임.
  • 전처리: 이상치는 winsorize로 제거하고, 최종적으로 범주형 11개·수치형 11개, 총 22개 피처를 사용함(예: State, Days-to-maturity, Age, Coupon, Rating, Sector Code 등). 범주형 변수는 CatBoost 내부 인코딩 기능을 그대로 활용함

  • 계산 환경: CatBoost는 공식 구현체를, 베이스라인 모델(Elastic Net, Decision Tree, Random Forest)은 scikit-learn의 단일 출력 버전을 사용함. 데이터는 80% 학습 / 20% 테스트로 나누고, 학습 데이터 중 20%를 검증셋으로 다시 뗌.
  • 샘플 가중치: 학습 시점(11월 1일) 이전 6개월간의 MSRB 거래 데이터를 이용해, 최근에 거래된 채권일수록 더 큰 선형 가중치를 부여함으로써 최신 시장 트렌드를 반영함.
  • 하이퍼파라미터 튜닝: Optuna(베이지안 최적화, Tree-structured Parzen Estimator)를 사용해 estimator 개수(100 ~ 2,000), 최대 깊이(5 ~ 25), 리프 개수(8 ~ 128), max features(전체의 40 ~ 80%), min samples(5 ~ 100), learning rate(0.001 ~ 0.2) 등을 탐색함.

8. 결과는 어떻게 나왔는가

8.1 회귀 성능

2023년 11월 1일 스냅샷을 기준으로 한 테스트셋 $R^2$는 다음과 같음.

두 타깃 모두에서 CatBoost가 가장 높은 설명력을 보임. 2019 ~ 2023년 5개 스냅샷 전체로 확장해도 CatBoost의 $R^2$는 대체로 0.68~0.89 범위에서 안정적으로 유지됨.

8.2 SHAP으로 본 피처 중요도

  • OAS 예측에서는 Rating(신용등급), Days-to-maturity(잔존만기), Bonds by obligor(발행 주체별 채권 수) 순으로 중요했음.
  • Yield 예측에서는 Days-to-maturity, Put-Call(콜/풋 옵션 특성), Bonds by obligor 순으로 중요했음.

두 타깃 모두에서 잔존 만기와 발행 주체 관련 정보가 상위권에 있다는 점은, 신용 스프레드와 절대 수익률을 결정하는 메커니즘이 어느 정도 겹치면서도 각기 다른 요인(신용등급 vs. 옵션 특성)에 더 민감하다는 것을 보여줌.

8.3 백테스트 결과

시나리오별로 결과의 양상이 꽤 달랐음.

  • 2023.11~2024.2(변동성 → 회복 국면)2023.3~9(수익률 하락 랠리)에서는 유사도 기반 랭킹이 전반적으로 우수했음.
  • 2022.7~2023.1(금리 급등·고변동성 국면)에서는 유사도 기반이 1~2개월 시점 중위 성과에서 가장 좋았지만, 3개월 이후로 가면 yield 기준·규칙 기반이 오히려 앞섰음(다만 그만큼 성과 분포의 IQR도 넓어졌음). 즉 변동성이 큰 국면에서는 어떤 전략도 안정적이지 않았음.
  • 2021.3~9(저금리 안정기)에서는 yield 기준과 유사도 기반의 중위 성과가 비슷했지만, 유사도 기반의 변동성(IQR)이 더 작았음.
  • 2020.3~9(코로나 초기)처럼 변동성이 아주 큰 국면에서는 유사도 기반과 yield 기준 모두 중위 성과와 IQR이 함께 커졌는데, 이는 고변동성 장세에서도 유사도 전략이 여전히 유효하게 작동했음을 시사함.
  • 2019.6~12에서는 유사도 기반이 규칙 기반보다 중위 성과가 높았고, yield 기준은 2개월 차부터 강한 성과를 보였지만 변동성도 함께 컸음.

종합하면, 대부분의 시나리오에서 유사도 기반 랭킹이 규칙 기반·yield 기반보다 우수한 성과를 보였음. yield 기준이 더 나은 결과를 낸 구간들은, 단순히 고수익 채권을 고른 데 따른 위험 감수의 대가로 해석할 수 있다는 것이 저자들의 설명임.