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

注:
instNamesterms 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)

相关函数:creditDefaultSwapPricer, parseMktData