---
source_url: https://docs.dolphindb.cn/zh/funcs/i/irCrossCurrencyCurveBuilder.html
fetched_at: 2026-05-19T09:28:12Z
category: funcs
title: irCrossCurrencyCurveBuilder
sha1: f6f99fa988638bc6e1a398835884913bdb31ab94
---

# irCrossCurrencyCurveBuilder

首发版本：3.00.4

## 语法

`irCrossCurrencyCurveBuilder(referenceDate, currency,
instNames, instTypes, terms, quotes, currencyPair, spot, dayCountConvention,
discountCurve, [compounding='Continuous'], [frequency='Annual'],
[curveName])`

## 详情

构建跨币种利率互换收益率曲线。

## 参数

**referenceDate** DATE 类型标量，指定收益率曲线的参考日期。

**currency** STRING 类型标量，表示曲线定义的货币，可选值为：

- "CNY"：人民币
- "USD"：美元
- "EUR"：欧元
- "GBP"：英镑
- "JPY"：日元
- "HKD"：港币

**instNames** STRING 类型向量，表示金融工具名称。

**instTypes** STRING 类型向量，表示金融工具类型。

目前*instTypes* 仅支持 "FxSwap"，此时 *instNames* 必须为货币对，例如 "USDCNY"。

**terms** STRING 或 DURATION 类型向量，表示合约剩余期限，例如 "1M"。

**quotes** 数值类型向量，表示构建曲线所需的市场报价。

**currencyPair** STRING 类型标量，表示货币对，形式为 "EURUSD"，"EUR.USD" 或
"EUR/USD"。支持的货币对包括：

- EURUSD：欧元兑美元
- USDCNY：美元兑人民币
- EURCNY：欧元兑人民币
- GBPCNY：英镑兑人民币
- JPYCNY：日元兑人民币
- HKDCNY：港币兑人民币

**spot** DOUBLE 类型标量，表示参考日期的即期汇率。

**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），表示货币对中另一方的贴现曲线，必须由 bootstrap
方法构建。曲线所需包含的关键字段见[曲线字段要求](#topic_fjf_yk2_ngc)。

**compounding** 可选参数，STRING 类型标量，表示利率复利方式。可选值为：

- "Compounded"：离散复利。
- "Simple"：简单复利。
- "Continuous"：默认值，连续复利。

**frequency** 可选参数，STRING 类型标量，表示计算计息频率。可选值为：

- "NoFrequency"：无计息频率
- "Annual"：每年付息一次
- "Semiannual"：每半年付息一次
- "EveryFourthMonth"：每四个月付息一次
- "Quarterly"：每季度付息一次
- "BiMonthly"：每两月付息一次
- "Monthly"：每月付息一次
- "EveryFourthWeek"：每四周付息一次
- "BiWeekly"：每两周付息一次
- "Weekly"：每周付息一次
- "Daily"：每日付息一次
- "Other"：其他计息频率

**curveName** 可选参数，STRING 类型标量，表示生成的曲线名称，默认为空。

## 返回值

MKTDATA 类型对象。

## 例子

```dolphindb
// 以2025年8月18日的USDCNY美元隐含收益率曲线构建为例
refDate = 2025.08.18
spotDate1 = temporalAdd(refDate, 2, "XNYS")   //美元的即期日   
spotDate2 = temporalAdd(refDate, 2, "CFET")   //人民币的即期日  
spotDate = max(spotDate1, spotDate2)
instNames = take("USDCNY", 13)
instTypes = take("FxSwap", 13)
terms = ["1d", "1w", "2w", "3w", "1M", "2M", "3M", "6M", "9M", "1y", "18M", "2y", "3y"]
curveDates = array(DATE)
for(term in terms){
    dur = duration(term)
    days1 = transFreq(temporalAdd(spotDate, dur), "XNYS", "right", "right")
    days2 = transFreq(temporalAdd(spotDate, dur), "CFET", "right", "right")
    curveDates.append!(max(transFreq(temporalAdd(spotDate, dur), "XNYS", "right", "right"), transFreq(temporalAdd(spotDate, dur), "CFET", "right", "right")))
 }
quotes = [-5.54, 
          -39.00, 
          -75.40, 
          -113.20, 
          -177.00, 
          -317.00, 
          -466.00, 
          -898.50, 
          -1284.99, 
          -1676.00, 
          -2320.00, 
          -2870.00, 
          -3962.50] \ 10000  // fx swap points

cnyShibor3m = {
    "mktDataType": "Curve",
    "curveType": "IrYieldCurve",
    "referenceDate": refDate,
    "currency": "CNY",
    "dayCountConvention": "Actual365",
    "compounding": "Continuous",
    "interpMethod": "Linear",
    "extrapMethod": "Flat",
    "dates": curveDates,
    "values": [1.5113,
               1.5402,
               1.5660,
               1.5574,
               1.5556,
               1.5655,
               1.5703,
               1.5934,
               1.6040,
               1.6020,
               1.5928,
               1.5842,
               1.6068] \ 100,
    "settlement": spotDate
}

cnyShibor3m = parseMktData(cnyShibor3m)

spot = 7.1627
curve = irCrossCurrencyCurveBuilder(refDate, "USD", instNames, instTypes, terms, quotes, "USDCNY", spot, "Actual365", cnyShibor3m, "Continuous")
curveDict = extractMktData(curve)
for(i in 0..(size(quotes)-1) ){
    print(curveDict["values"][i]*100)
}
```

**相关函数：**[bondYieldCurveBuilder](../b/bondYieldCurveBuilder.html), [irSingleCurrencyCurveBuilder](irSingleCurrencyCurveBuilder.html)，[parseMktData](../p/parseMktData.html)

## 曲线字段要求

| 字段名 | 类型 | 描述 | 是否必填 |
| --- | --- | --- | --- |
| mktDataType | STRING | 固定填 "Curve" | 是 |
| referenceDate | DATE | 参考日期 | 是 |
| curveType | STRING | 固定填 "IrYieldCurve" | 是 |
| dayCountConvention | STRING | 曲线的日期计数惯例，可选值为：   - "Actual360"：实际天数除以360 - "Actual365"：实际天数除以365（不区分闰年） - "ActualActualISMA"：实际天数/实际天数（ISMA规则） - "ActualActualISDA"：实际天数/实际天数（ISDA规则） | 是 |
| interpMethod | STRING | 内插方法，可选值为：   - "Linear"：线性插值 - "CubicSpline"：三次样条插值 - "CubicHermiteSpline"：三次埃尔米特样条插值 | 是 |
| extrapMethod | STRING | 外插方法，可选值为：   - "Flat"：平插 - "Linear"：线性插值 | 是 |
| dates | DATE 向量 | 数据点的日期 | 是 |
| values | DOUBLE 向量 | 数据点的值，与 *dates* 中的元素一一对应 | 是 |
| curveName | STRING | 曲线名称 | 否 |
| currency | STRING | 货币，可选值为"CNY", "USD", "EUR", "GBP", "JPY", "HKD" | 是 |
| compounding | STRING | 复利类型，可选值为：   - "Simple"：单利 - "Compounded"：离散复利 - "Continuous"：连续复利 | 是 |
| settlement | DATE | 结算日，如果指定了结算日，则后续期限间隔的计算都将从 *settlement* 开始，而不是 *referenceDate* | 否 |
| frequency | INTEGRAL或 STRING | 计息频率，可选值为：   - -1 或 "NoFrequency"：无效计息频率 - 0 或 "Once"：到期一次还本付息 - 1 或 "Annual"：每年付息一次 - 2 或 "Semiannual"：每半年付息一次 - 3 或 "EveryFourthMonth"：每四个月付息一次 - 4 或 "Quarterly"：每季度付息一次 - 6 或 "BiMonthly"：每两月付息一次 - 12 或 "Monthly"：每月付息一次 - 13 或 "EveryFourthWeek"：每四周付息一次 - 26 或 "BiWeekly"：每两周付息一次 - 52 或 "Weekly"：每周付息一次 - 365 或 "Daily"：每日付息一次 - 999 或 "Other"：其他计息频率 | 否 |
| curveModel | STRING | 曲线构建模型，目前仅支持 "Bootstrap"。 | 否 |
| curveParams | DICT | 模型的参数。 | 否 |
