loan optimization
| 0 Minute Read on Finance
Loan Portfolio Optimization¶
머신러닝 기법을 사용하여 대출 자산 포트폴리오에 대한 최적화 방법에 대해 생각해 본다.
Part1: 개요(문제정의)¶
- 각 대출섹터별 수익성과 위험을 기준으로 전체 포트폴리오의 수익을 최적화하는 것이 목적임
- 제약조건의 변경(금리 수준, 투자 비중의 제약)에 따라 포트폴리오의 리밸런싱이 가능해야 함
- 대출섹터별로(신차 대출, 중고차 대출, 신용대출(direct, indirect)) 투자비중을 계산하는 것이 목표임
Part2: 접근방식(포트폴리오 최적화)¶
- Loan Portfolio Optimization를 하기 위해서 전체 포트폴리오의 Sharp Ratio를 극대화하는 투자비중(w)를 계산함
- 개별 대출의 묶음을 하나의 투자자산으로 가정함(단위 포트폴리오로 정의함)
- 단위 포트폴리오에 투자하는 비중(w)을 계산하기 위해서 예상 수익률과 공분산 매트릭스가 필요함
- 계산에 필요한 예상 수익률은 발생가능한 현금 흐름을 사용함
- 예상 수익률을 계산하는 방법은 다음과 두가지 방법을 생각해 볼 수 있음
- 각각 포트폴리오의 과거 월별 현금흐름을 사용하여 계산함
- 각각 포트폴리오의 미래 부도율을 예측하여 계산함
- 현금흐름을 할인하는 이자율은 중요 요인이나 분석에서는 고려하지 않았음
포트폴리오의 과거 월별 수익률은 다음과 같이 계산함
- 섹터별, 대출규모별 단위 포트폴리오를 구성함
- 월별 수익률을 계산하는 방법은 부도 미발생 일 경우에는 이자율 * 원금의 현금흐름이 발생함
- 해당월에 부도가 발생하면 원금을 차감함
- 월별발생 현금흐름에 원금을 나누어서 월별 수익률을 계산
- 월별 수익률이 계산 되었으므로 분산 공분산 매트릭스를 계산 할 수 있음
포트폴리오의 미래 수익률은 다음과 같이 계산함
- t시점의 3년전 데이터로 train set과 t시점부터 1년 후 데이터로 test set을 구성함
- train set의 데이터를 이용하여 부도율을 학습시킴
- test set를 이용해서 부도 대상을 예측할 수 있음
- 부도 시기를 예측 할 수 없으므로 36개월 만기 중에서 평균(13.5)의 부도 시점을 사용함
- 부도율과 미래현금흐름을 이용하여 단위 포트폴리오의 1년 예상 수익률을 시뮬레이션 함
미래수익률과 과거수익률로 분산공분산을 추정하였으므로 Mean Variance 최적화를 시도할 수 있음
Part3: 분석 데이터 예제와 분석 툴¶
- 입수데이터는 Lending Club의 2008 년부터 2015년 년간의 80만여건의 자료
- 입수항목은 grade, zip, 소득, 대출기간, 대출금액, 대출상태(부도, 완료, 진행), 집소유 등 78개의 컬럼
- 분석툴은 Python, Numpy, Pandas, SKlearn, xgboost(Gradient Boost), Jupyter Notebook 를 사용
- 파이썬 노트북 환경의 장점
- SQL, 코딩, 통계분석, 머신러닝, 시각화를 한 화면에서 지원이 가능
- 웹에서 어디서나 접근이 가능함
- 금융 프로그래밍에 있어서 타 언어(JAVA, C++)보다 더 높은 생산성
Continue reading loan optimization