설명
StochDedicationBL.gms: 차용 및 대출 변수가 포함된 확률적 헌신 모델. 콘실리오, 닐슨, 제니오스. 실제 재무 최적화: 피망 슬롯 모델 라이브러리, 섹션 6.2.2 최종 수정 날짜: 2008년 4월.
카테고리 : 피망 슬롯 FIN 라이브러리
메인파일 : StochDedicationBL.gms 포함: BondData.inc SpotRates.inc FactorData.inc
$title 차용 및 대출 변수를 사용한 확률론적 헌신 모델
* StochDedicationBL.gms: 차용 및 대출 변수가 포함된 확률론적 헌신 모델입니다.
* Consiglio, Nielsen 및 Zenios.
* 실제 재무 최적화: 피망 슬롯 모델 라이브러리, 섹션 6.2.2
* 최종 수정일: 2008년 4월.
세트
기간 기간 /2001 * 2011/
시나리오 시나리오 세트 /SS_1 * SS_150/;
별칭(시나리오, l, ll);
별칭(시간, t, t1, t2);
스칼라
현재 올해
지평선 끝의 지평선;
지금 = 2001;
지평선 = CARD(t)-1;
매개변수
tau(t) 시간(년)입니다.
* 참고: 시간은 0부터 시작됩니다.
타우(t) = ORD(t)-1;
세트
채권 채권의 세계
/DS-8-06, DS-8-03, DS-7-07,
DS-7-04, DS-6-11, DS-6-09,
DS-6-02, DS-5-05, DS-5-03, DS-4-02/;
세트
요인 기간 구조 요인
/FF_1, FF_2, FF_3/;
ALIAS(채권, i);
ALIAS(요인, j);
스칼라
스프레드 재투자율에 따라 차입금을 스프레드합니다.
매개변수
가격(i) 내재채권가격
쿠폰(i) 쿠폰
만기(i) 만기
부채(t) 부채의 흐름
rf(t) 재투자율
F(t,i) 현금흐름;
* 채권 데이터. 덴마크 시장의 가격, 쿠폰 및 만기
$include "BondData.inc"
$include "FactorData.inc"
매개변수
beta(j,t) 인자 로딩;
* 전치 인자 로딩
베타(j,t) = 베타트랜스(t,j);
* 데이터 복사/변환. 단위 데이터를 얻기 위해 100으로 나누는 것을 기록하고,
* 만기일에서 "지금"을 뺍니다(타우와 일치함).
Coupon(i) = BondData(i,"쿠폰")/100;
Maturity(i) = BondData(i,"Maturity") - 현재;
* t년차 채권 i의 쿠폰 적용 전 현금흐름을 계산합니다.
F(t,i) = 1$(tau(t) = 성숙도(i))
+ 쿠폰(i) $ (tau(t) <= 만기(i) 및 tau(t) > 0);
rf(t) = 0.04;
스프레드 = 0.02;
매개변수
부채(t) 부채
/2002 = 80000, 2003 = 100000, 2004 = 110000, 2005 = 120000,
2006 = 140000, 2007 = 120000, 2008 = 90000, 2009 = 50000,
2010 = 75000, 2011 = 150000/;
* 현물 요금 읽기
매개변수 r(t)
/
$onDelim
$include "SpotRates.inc"
$offDelim
/;
* FactorData.inc의 요소를 사용하여 현물 환율 시나리오 Sr(t,s)를 생성합니다.
매개변수
Sr(t,l) 현물 환율 시나리오;
매개변수
FactorWeights(j,l) 각 시나리오에서 각 요인의 가중치
/FF_1.SS_1*SS_50 0.01, FF_1.SS_51*SS_100 -0.02, FF_1.SS_101*SS_150 0.04,
FF_2.SS_1*SS_50 0.02, FF_2.SS_51*SS_100 0.01, FF_2.SS_101*SS_150 0.01,
FF_3.SS_1*SS_50 -0.01, FF_3.SS_51*SS_100 -0.01, FF_3.SS_101*SS_150 -0.02/;
매개변수
pr(l) 시나리오 확률;
pr(l) = 1.0 / 카드(l);
* 시나리오 세트에 따라 확률론적 현금 흐름과 부채를 생성합니다.
* 이 간단한 모델의 경우 무작위로 생성되지만 실제 환경에서는
* 그들이 의존하는 모델(예: 선불/실효 모델, 다음에 대한 모델)
* 옵션 및 파생상품 등
매개변수
Srf(t,l) 단기 금리 시나리오
SF(t,i,l) 현금흐름 시나리오
SFactorWeights(j, l) 요인 가중치 시나리오
SLiability(t,l) 부채 시나리오;
* 참고: 생성된 현금흐름은 복잡한 파생상품을 모델링할 때 음수가 될 수 있습니다.
SF(t,i,l) = F(t,i) * 균일(0.6, 2.0);
SFactorWeights('FF_1', l) = FactorWeights('FF_1',l) *uniform(0.8, 1.4);
SFactorWeights('FF_2', l) = FactorWeights('FF_2',l) *uniform(0.9, 1.1);
SFactorWeights('FF_3', l) = FactorWeights('FF_3',l) *uniform(0.95, 1.05);
SLiability(t,l) = 부채(t) * 균일(0.8, 1.4);
Srf(t,l) = rf(t) * 균일(0.8, 1.2);
Sr(t,l)$(r(t) <> 0) = r(t) + SUM(j, SFactorWeights(j, l) * 베타(j,t));
SF('2001',i,l) = SUM(t, SF(t,i,l) * exp (- Sr(t,l) * tau(t)) );
* 내재된 시장 가격
가격(i) = ( 1.0 / CARD(l) ) * SUM(l, SF('2001',i,l) );
DISPLAY SF, SLiability, Srf;
긍정적인 변수
x(i) 액면가로 구매함
잉여(t,l) 재투자된 금액
Borrow(t,l) 빌린 금액;
변수
v0 선행 투자;
방정식
CashFlowCon(t,l) 현금 흐름 잔액을 정의하는 방정식입니다.
CashFlowCon(t,l) .. SUM(i, SF(t,i,l) * x(i)) $ (tau(t) > 0 ) +
( v0 - SUM(i, 가격(i) * x(i)) ) $ (tau(t) = 0) +
( (1 + Srf(t-1,l)) * 잉여(t-1,l) ) $ (tau(t) > 0) +
빌림(t,l) $ (tau(t) < 지평선) =E=
잉여(t,l) + S부채(t,l) $ (tau(t) > 0) +
(( 1 + Srf(t-1,l) + 스프레드 ) * 차용(t-1,l)) $ (tau(t) > 0);
MODEL StochDedicationBL 'PFO 모델 6.4.2' /CashFlowCon/;
LP를 사용하여 StochDedicationBL 최소화 v0 해결;
디스플레이 x.l;