Transition matrix model สำหรับกลุ่ม Low default portfolios #2
Master scale, Minimiser, Matrix adjustment and multiplication
ต่อจากตอนก่อนหน้านี้ Material ที่ได้มาคือ Fitted default rate สำหรับวิธีการทำให้ได้มา สามารถอ่านได้ที่ Link ด้านล่าง Blog ตอนนี้จะเป็นตอนจบของ Transition matrix สำหรับ Low default portfolio แล้ว (เนื้อหาเยอะไม่อยากต่อตอนที่ 3)
เนื้อหาของ Blog ตอนนี้เป็นการพัฒนาแบบจำลอง PD สำหรับกลุ่ม Low default portfolio ต่อ และยังมีอีกหลายขั้นตอนที่ต้องทำ แต่สิ่งที่ต้องรู้เพิ่มเติมคือเรื่องของ Master scale
Master scale
Master scale คือ Model ที่ใช้ในการ Mapping internal data ไปที่ External data ซึ่ง Master scale จะมีความแตกต่างกันไปตามแต่ละที่ ขึ้นอยู่กับว่า Internal model พัฒนามาแบบไหน แต่หลัก ๆ คือการใช้เทียบเคียงค่า PD ใน Blog ตอนนี้ขอสร้าง Master scale ขึ้นมาง่าย ๆ เพื่อให้เห็น Process การทำงานเรื่องการ Mapping external data มาเป็น Internal data
จากตัวอย่าง Moody’s rating มีทั้งหมด 21 เกรด และ Internal rating มีทั้งหมด 14 เกรด การ Mapping อาจมีกรณีต่าง ๆ เช่น Rating A1 สามารถ Mapping กับ Moody’s ได้ 4 Rating หรือไม่มี Rating ใดที่สามารถ Mapping กันได้เลย เช่น Ba2 และ Ba3 ทำให้ Rating B4 จาก Internal rating ไม่สามารถ Mapping ได้
ในกรณีเช่นนี้อาจต้องสร้าง Assumption ขึ้นมา เช่นการ Mapping ที่มากกว่า 1 ให้ใช้ Simple average หรือหากไม่สามารถ Mapping ใด ๆ ได้ ให้ใช้ Linear interpolation เป็นต้น เมื่อมี Master scale และสร้าง Assumption แล้ว ก็สามารถนำมาใช้งานต่อกับ Fitted default rate ได้ด้วยการ Mapping internal rating เข้าไปใน DataFrame เดียวกัน
ก่อนทำการ Aggregate ด้วย Internal rating ควรทำ DataFrame ตาม Assumption ที่สร้างไว้ก่อน เนื่องจากการใช้ Linear interpolation ต้องการข้อมูลที่มี Row ว่างเพียงแค่ 1 Row ดังนั้นจึงต้องลบ Row ส่วนเกิน Row ใด Row หนึ่งออกก่อน (จะเป็น Ba2 หรือ Ba3 ก็ได้) แล้วจึงทำการ Interpolation
ให้แทนค่า fittedDefault
ด้วย np.nan
จาก Row ที่ Mapping rating ไม่ได้ (nan
) จากนั้นให้หา First invalid index ด้วยการใช้ .isnull().idxmax()
เพื่อ Return ค่าของ Index ตัวแรกที่มีค่า Missing และทำการลบ Index นั้นออก จากนั้นใน .interpolate(method = ‘linear’)
เพื่อ Interpolate ค่า PD ระหว่าง 2 จุดที่ Rating B3 และ B5 เข้าไป สุดท้าย Assign rating ให้เท่ากับ B4
เมื่อได้ DataFrame ตามที่ต้องการแล้ว สามารถใช้ .groupby()
ด้วย Internal rating เป็น Key และใช้ .mean()
สำหรับการทำ Simple average และ Plot แสดงผลลัพธ์
Low default distribution
สำหรับลักษณะข้อมูล Low default portfolio คือจำนวนประชากรในแต่ละ PD Segmentation ที่ค่อนข้างจำกัด ทำให้เมื่อมีหนี้เสียเกิดขึ้นเพียง 1 ราย อาจทำให้ ODR ที่เกิดขึ้นมีค่าสูง และแน่นอนว่า ODR ไม่มีการเรียงแบบ Risk ranking แน่นอน
จากตัวอย่าง Plot อออกมาให้ดูว่า Internal rating ตั้งแต่ A1 ไปจนถึง C5 เห็นได้ว่า Rating model ไม่สามารถทำงานกับกลุ่มประชากรที่จำกัดได้ การเรียงลำดับของ Risk rank ใน Rating model ทำได้ไม่ดีเท่าที่ควร
Calibration
เมื่อข้อมูล Internal ไม่สามารถเป็น Repesentative ที่ดีได้แล้ว การใช้ข้อมูลจาก External data (สิ่งที่ทำมาทั้งหมดก่อนหน้านี้) จึงเป็นทางออกที่เหมาะสมในการสร้างโมเดล แต่การหยิบใช้ข้อมูล External ตรง ๆ ก็อาจไม่ใช่สิ่งที่เหมาะสม ดังนั้นการ Calibrate ข้อมูล Internal data ไปสู่ External data เพื่อใช้ Weight ของ Internal data ให้มีส่วนในโมเดล จึงเป็นสิ่งที่นิยมทำกัน
Scaling factor: 0.5568
แน่นอนว่าการ Calibration มีหลายวิธี วิธีที่นำเสนอใน Blog ตอนนี้ใช้เป็น Scaling factor ที่เกิดจากการหาจุด Minised (Optimisation) ของ Error ระหว่าง Proxy PD และ Low default PD ที่ Weighted ด้วย Internal data ทั้งคู่
เมื่อได้ Scaling factor (0.5568) แล้วให้นำไปคูณกับ Proxy PD ที่สร้างไว้ ผลลัพธ์ที่ออกมาคือ เส้น PD ที่มี Slope เท่าเดิม แต่ Scale เป็นไปตาม Portfolio distribution
Matrix adjustment
เมื่อได้ Scaled PD แล้ว ต่อไปเป็นการนำไปแทนค่า Default rate ใน Transition matrix จาก External source จากนั้นเพื่อไม่ให้ผลรวมของ Row ใน Matrix ค่าเกิน 100% ให้ทำ Adjustment ด้วยสูตร
Adjusted PD = PD * ((1-Scaled PD) / (1-PD))
Plot เปรียบเทียบระหว่าง Matrix เก่าและ Matrix ที่ Adjustment แล้ว
Lifetime model
มาถึงขั้นตอนสุดท้ายคือ การสร้าง Lifetime PD จาก Transition matrix ซึ่งวิธีการและ Code ใช้หลักการเดิมจากที่เคยอธิบายไปใน Blog ตอนก่อนหน้านี้สามารถกดเพื่อย้อนดูเนื้อหาได้
Plot lifetime PD ที่เกิดจาก External matrix สังเกตได้ว่าผลลัพธ์ที่ออกมายังเป็น External rating ของ Moody’s อยู่ ดังนั้นต้องการปรับให้เป็น Internal rating ก่อนการใช้งาน
สำหรับวิธีการปรับให้เป็น Internal rating ให้ใช้ Logic เดียวกันกับตอนที่ Mapping ด้วย Master scale คือการ Grouping ด้วย Simple average และ Linear interpolation กับ Rating ที่ Mapping ไม่ได้ แต่ใน Lifetime ให้ Apply logic กับข้อมูลในทุก ๆ ปี
ผลลัพธ์สุดท้ายที่ออกมาคือ Lifetime term structure ในแต่ละ Internal rating
Conclusion
สำหรับวิธีการ Proof ว่าสิ่งที่ทำมาถูกต้องหรือไม่ สามารถใช้ Scaling factor เดิม ที่หาออกมาได้คูณกับ Master scale mapping ผลที่ออกมาต้องมีค่าเท่ากับ PD ของปีที่ 1
0 0.0000
1 0.0004
2 0.0011
3 0.0017
4 0.0025
5 0.0057
6 0.0089
7 0.0135
8 0.0257
9 0.0591
10 0.1081
11 0.1639
และนี่คือทั้งหมดของการสร้าง PD Model สำหรับกลุ่ม Low default portfolio ที่นิยมใช้ใน IFRS 9 สำหรับ Link Google Colab ของทั้งสองตอนนี้ สามารถติดตามได้ที่ GitHub ด้านบน