creditCurveBuilder
首发版本:3.00.6
语法
creditCurveBuilder(referenceDate, currency, instNames,
terms, quotes, dayCountConvention, discountCurve, [curveName])
详情
构建信用曲线。
参数
referenceDate DATE 类型标量,表示曲线的生成日期。
currency STRING 类型标量,表示曲线定义的货币,目前仅支持 "CNY"。
instNames STRING 类型向量,表示金融工具名称,目前只支持字符串 "CFETS-SHCH-GTJA"。
terms DURATION 类型向量,表示信用违约互换的期限,需要严格递增。例如 3M。
quotes 数值类型向量,表示信用违约互换的报价。例如 0.0241。
注:
instNames、terms 和 quotes
必须等长且至少包含两个元素。
dayCountConvention STRING 类型标量,表示计息日数规则,可选值为:
- "Actual360":实际/360
- "Actual365": 实际/365
- "ActualActualISMA":实际/实际,遵循 ISMA(International Securities Market Association,国际证券市场协会)规则
- "ActualActualISDA":实际/实际,遵循 ISDA(International Swaps and Derivatives Association,国际掉期及衍生工具协会)规则
- "Thirty360EU":欧洲 30/360
- "Thirty360US":美国(NASD)30/360
discountCurve MKTDATA 类型对象(IrYieldCurve),表示贴现曲线。
curveName 可选参数,STRING 类型标量,表示生成的曲线名称。
返回值
MKTDATA 类型,一个 CreditCurve 对象,表示构建得到的信用曲线。
例子
构建一个信用曲线。
// =====================================================
// 一、定义贴现零息收益率曲线构造函数
// =====================================================
def createCnyFr007CurveForCreditCurve(asOfDate){
pillarDates = asOfDate + [2, 8, 93, 185, 276, 367, 732, 1099, 1463, 1828, 2558, 3654]
pillarValues = [
0.0145993931630537,
0.0229075517972275,
0.0253020667393029,
0.0257564866303201,
0.0259751440992468,
0.0260355181480,
0.0265336263145,
0.0272721454114,
0.0282024453631,
0.0290231222076,
0.0304665029489,
0.0319855013976
]
discountCurveDict = {
"mktDataType": "Curve",
"curveType": "IrYieldCurve",
"referenceDate": asOfDate,
"currency": "CNY",
"curveName": "CNY_FR_007",
"dayCountConvention": "Actual365",
"compounding": "Continuous",
"interpMethod": "Linear",
"extrapMethod": "Flat",
"frequency": "NoFrequency",
"dates": pillarDates,
"values": pillarValues
}
return parseMktData(discountCurveDict)
}
// =====================================================
// 二、设置估值日、信用曲线名称和参考实体信息
// =====================================================
aod = 2020.09.07
curveName = "CFETS-SHCH-GTJA"
currency = "CNY"
instName = "CFETS-SHCH-GTJA"
instNames = take(instName, 7)
// =====================================================
// 三、设置信用曲线校准所需的 CDS 期限和市场报价
// =====================================================
terms = [3M, 6M, 1y, 2y, 3y, 4y, 5y]
quotes = [26.94, 29.60, 31.84, 34.22, 36.73, 42.23, 48.68] * 0.0001
// =====================================================
// 四、生成贴现曲线
// =====================================================
discountCurve = createCnyFr007CurveForCreditCurve(aod)
// =====================================================
// 五、调用 creditCurveBuilder 构建信用曲线
// =====================================================
creditCurve = creditCurveBuilder(
aod,
currency,
instNames,
terms,
quotes,
"Actual365",
discountCurve,
curveName
)
// =====================================================
// 六、输出构建完成的信用曲线
// =====================================================
print(creditCurve)
