feat(data): implement market-implied PD floor and 7x7 transition matrix parsing #task-290
This commit is contained in:
@@ -1,14 +1,13 @@
|
||||
"""
|
||||
Vasicek 단일팩터 모델 기반 조건부 PD 및 전이행렬 모듈
|
||||
|
||||
핵심 공식 (Basel/Vasicek convention: Z↑ = loss↑ = 불황):
|
||||
PD_PIT(Z) = Φ( (Φ⁻¹(PD_TTC) - √ρ · Z) / √(1-ρ) )
|
||||
본 모듈의 부호 규약:
|
||||
- conditional_pd(): Belkin convention (Z>0 = 호황, PD↓)
|
||||
- conditional_transition_matrix(): Belkin convention (d + √ρ·Z)
|
||||
- worst_case_pd(): Basel convention (Z>0 = 불황, PD↑)
|
||||
|
||||
주의: Belkin & Suchower에서는 Z↑ = 호황 (반대 부호).
|
||||
조건부 전이행렬은 Belkin convention 사용 (d + √ρ·Z).
|
||||
|
||||
이 모듈은 Belkin & Suchower의 임계값 방식 대신,
|
||||
Vasicek 공식을 직접 적용하는 간편 버전도 제공합니다.
|
||||
Belkin convention: PD_PIT(Z) = Φ( (Φ⁻¹(PD_TTC) - √ρ · Z) / √(1-ρ) )
|
||||
→ Z>0이면 numerator 감소 → PD 감소 = 호황
|
||||
|
||||
참고문헌:
|
||||
- Vasicek, O. (2002). "The Distribution of Loan Portfolio Value"
|
||||
@@ -26,12 +25,11 @@ logger = logging.getLogger(__name__)
|
||||
|
||||
def conditional_pd(pd_ttc: float, z: float, rho: float) -> float:
|
||||
"""
|
||||
Vasicek 공식으로 PIT PD 계산
|
||||
Vasicek 공식으로 PIT PD 계산 (Belkin convention)
|
||||
|
||||
PD_PIT(Z) = Φ( (Φ⁻¹(PD_TTC) - √ρ · Z) / √(1-ρ) )
|
||||
|
||||
주의: 이 함수의 Z는 Basel/Vasicek convention (Z↑ = 불황).
|
||||
Belkin Z(양수=호황)를 사용하려면 -Z를 넣어야 합니다.
|
||||
이 함수는 Belkin convention의 Z를 직접 받습니다 (Z>0 = 호황 = PD 감소).
|
||||
|
||||
Parameters
|
||||
----------
|
||||
|
||||
Reference in New Issue
Block a user