利率互换相关函数
大约 10 分钟
利率互换相关函数
构建函数
Excel: =McpVanillaSwap(args1, args2, args3, args4, args5, fmt='VP')
Python: McpVanillaSwap(*args)
- 功能:构造利率互换(IRS)对象。
- 参数:
args1~args5或*args:参数组,支持以下两种传参方式:- 第一种参数:
ReferenceDate:交易日或估值日。StartDate:开始日期(根据起息日规则计算)。EndDate:结束日期(根据开始日期及期限计算)。RollDate:滚动日期(默认等于开始日期)。FixedPayReceive:固定端收付方向(默认Pay)。Notional:本金(默认1000000)。Coupon:固定利率。Margin:浮动端点差(默认0.0)。PaymentCalendar:节假日对象(默认空对象)。FixedDiscountCurve:固定端贴现曲线。FixedPaymentFrequency:固定端支付周期(默认Quarterly)。FixedPaymentDateAdjuster:固定端日期调整规则(默认Following)。FixedPaymentDayCounter:固定端计息规则(默认Act365Fixed)。FloatPaymentFrequency:浮动端支付周期(默认Quarterly)。FloatPaymentDateAdjuster:浮动端日期调整规则(默认Following)。FloatPaymentDayCounter:浮动端计息规则(默认Act360)。FloatEstimationCurve:浮动端估值曲线。FloatDiscountCurve:浮动端贴现曲线。FixingCalendar:定息节假日(默认空对象)。FixInAdvance:是否提前定息(默认True)。FixDaysBackward:定息前置天数(默认2)。FixingRateMethod:定息计算方法(默认RESETRATE_MAX)。HistoryFixingDates:历史定息日期数组。HistoryFixingRates:历史定息利率数组。FixedExchangeNotional:固定端本金交换方式(默认NOEXCHANGE)。FixedResidual:固定端摊销本金剩余(默认0)。FixedResidualType:固定端摊销本金剩余类型(默认AbsoluteValue)。FixedFirstAmortDate:固定端第一次摊销日期。FixedAmortisationType:固定端本金摊销方式(默认AMRT_NONE)。FloatExchangeNotional:浮动端本金交换方式(默认NOEXCHANGE)。FloatResidual:浮动端摊销本金剩余(默认0)。FloatResidualType:浮动端摊销本金剩余类型(默认AbsoluteValue)。FloatFirstAmortDate:浮动端第一次摊销日期。FloatAmortisationType:浮动端本金摊销方式(默认AMRT_NONE)。
- 第二种参数:
SettlementDate:交易日或估值日。StartDate:开始日期。EndDate:结束日期。Coupon:固定利率。PaymentCalendar:节假日对象(默认空对象)。FixedFrequency:固定端支付周期(默认Annual)。FixedDayCounter:固定端计息规则(默认Act365Fixed)。FloatingFrequency:浮动端支付周期(默认Annual)。FloatingDayCounter:浮动端计息规则(默认Act365Fixed)。FixedEstimationCurve:固定端估值曲线。FixedDiscountCurve:固定端贴现曲线。FloatingEstimationCurve:浮动端估值曲线。FloatingDiscountCurve:浮动端贴现曲线。FloatingCalendar:节假日对象(默认空对象)。FirstFixing:第一次定息利率。SecondFixing:第二次定息利率。EomRule:月末规则(默认1)。CompoundingFrequency:复利频率(默认0)。Notional:本金(默认1000000)。CsaId:CSA ID。SwapStartLag:起息日调整(默认2)。Margin:浮动端点差。FixedAdjusterRule:固定端调整规则(默认ModifiedFollowing)。FloatAdjusterRule:浮动端调整规则(默认ModifiedFollowing)。FixedLastOpenday:固定端最后一个开放日(默认False)。FloatLastOpenday:浮动端最后一个开放日(默认False)。FixedLegPayReceive:固定端收付方向(默认Pay)。FixInAdvance:是否提前定息(默认True)。FixDaysBackward:定息前置天数(默认2)。FixDaysForward:定息后置天数(默认2)。EndStub:是否启用末段残端(默认False)。FixedPayType:固定端支付类型(默认InArrears)。FloatPayType:浮动端支付类型(默认InArrears)。
- 第一种参数:
fmt:参数格式(默认VP),Excel专用参数。
- 返回:利率互换对象。
服务器端通过利率互换结构构造VanillaSwap对象
Excel: =McpVanillaSwaps2(identifiers, enddate, swaprate, point)
- 功能:服务器端通过利率互换结构构造VanillaSwap对象。
- 参数:
identifiers:利率互换结构。enddate:结束日。swaprate:固定利率。point:浮动点差,默认值为0。
- 返回:一个VanillaSwap对象,用于后续计算。
Excel: =McpXCurrencySwap(args1, args2, args3, args4, args5, fmt='VP')
Python: McpXCurrencySwap(*args)
- 功能:构造交叉货币互换对象。
- 参数:
args1~args5或*args:参数组,支持以下传参方式:- 第一种参数:
ReferenceDate:交易日或估值日。StartDate:开始日期。EndDate:结束日期。RollDate:滚动日期。Notional:本金(默认1000000)。BaseSwapLeg:基础货币互换端对象。TermSwapLeg:目标货币互换端对象。BasePayReceive:基础货币端收付方向(默认Pay)。FxRate:汇率。HasInitialExchange:是否进行初始本金交换(默认False)。HasFinalExchange:是否进行最终本金交换(默认False)。FinalFxRate:最终汇率(默认0)。
- 第二种参数:
- 类似第一种,但增加
FXForwardPointsCurve对象。
- 类似第一种,但增加
- 第一种参数:
fmt:参数格式(默认VP),Excel专用参数。
- 返回:交叉货币互换对象。
使用函数
Excel: =SwapFixedLegNPV(vanillaSwap)
Python: FixedLegNPV()
- 功能:计算固定端净现值。
- 参数:
vanillaSwap:利率互换对象,Python Api不需要这个参数。
- 返回:固定端净现值。
Excel: =SwapFloatingLegNPV(vanillaSwap)
Python: FloatingLegNPV()
- 功能:计算浮动端净现值。
- 参数:
vanillaSwap:利率互换对象,Python Api不需要这个参数。
- 返回:浮动端净现值。
Excel: =SwapFixedLegDuration(vanillaSwap)
Python: FixedLegDuration()
- 功能:计算固定端久期。
- 参数:
vanillaSwap:利率互换对象,Python Api不需要这个参数。
- 返回:固定端久期。
Excel: =SwapFloatingLegDuration(vanillaSwap)
Python: FloatingLegDuration()
- 功能:计算浮动端久期。
- 参数:
vanillaSwap:利率互换对象,Python Api不需要这个参数。
- 返回:浮动端久期。
Excel: =SwapFixedLegMDuration(vanillaSwap)
Python: FixedLegMDuration()
- 功能:计算固定端修正久期。
- 参数:
vanillaSwap:利率互换对象,Python Api不需要这个参数。
- 返回:固定端修正久期。
Excel: =SwapFloatingLegMDuration(vanillaSwap)
Python: FloatingLegMDuration()
- 功能:计算浮动端修正久期。
- 参数:
vanillaSwap:利率互换对象,Python Api不需要这个参数。
- 返回:浮动端修正久期。
Excel: =SwapFixedLegAnnuity(vanillaSwap)
Python: FixedLegAnnuity()
- 功能:计算固定端年金。
- 参数:
vanillaSwap:利率互换对象,Python Api不需要这个参数。
- 返回:固定端年金。
Excel: =SwapFloatingLegAnnuity(vanillaSwap)
Python: FloatingLegAnnuity()
- 功能:计算浮动端年金。
- 参数:
vanillaSwap:利率互换对象,Python Api不需要这个参数。
- 返回:浮动端年金。
Excel: =SwapFixedLegDV01(vanillaSwap)
Python: FixedLegDV01()
- 功能:计算固定端 DV01。
- 参数:
vanillaSwap:利率互换对象,Python Api不需要这个参数。
- 返回:固定端 DV01。
Excel: =SwapFloatingLegDV01(vanillaSwap)
Python: FloatingLegDV01()
- 功能:计算浮动端 DV01。
- 参数:
vanillaSwap:利率互换对象,Python Api不需要这个参数。
- 返回:浮动端 DV01。
Excel: =SwapFixedLegAccrued(vanillaSwap)
Python: FixedLegAccrued()
- 功能:计算固定端应计利息。
- 参数:
vanillaSwap:利率互换对象,Python Api不需要这个参数。
- 返回:固定端应计利息。
Excel: =SwapFloatingLegAccrued(vanillaSwap)
Python: FloatingLegAccrued()
- 功能:计算浮动端应计利息。
- 参数:
vanillaSwap:利率互换对象,Python Api不需要这个参数。
- 返回:浮动端应计利息。
Excel: =SwapFixedLegPremium(vanillaSwap)
Python: FixedLegPremium()
- 功能:计算固定端费率。
- 参数:
vanillaSwap:利率互换对象,Python Api不需要这个参数。
- 返回:固定端费率。
Excel: =SwapFloatingLegPremium(vanillaSwap)
Python: FloatingLegPremium()
- 功能:计算浮动端费率。
- 参数:
vanillaSwap:利率互换对象,Python Api不需要这个参数。
- 返回:浮动端费率。
Excel: =SwapFixedLegMarketValue(vanillaSwap)
Python: FixedLegMarketValue()
- 功能:计算固定端市场价值。
- 参数:
vanillaSwap:利率互换对象,Python Api不需要这个参数。
- 返回:固定端市场价值。
Excel: =SwapFloatingLegMarketValue(vanillaSwap)
Python: FloatingLegMarketValue()
- 功能:计算浮动端市场价值。
- 参数:
vanillaSwap:利率互换对象,Python Api不需要这个参数。
- 返回:浮动端市场价值。
Excel: =SwapFixedLegCumPV(vanillaSwap)
Python: FixedLegCumPV()
- 功能:计算固定端累计现值。
- 参数:
vanillaSwap:利率互换对象,Python Api不需要这个参数。
- 返回:固定端累计现值。
Excel: =SwapFloatingLegCumPV(vanillaSwap)
Python: FloatingLegCumPV()
- 功能:计算浮动端累计现值。
- 参数:
vanillaSwap:利率互换对象,Python Api不需要这个参数。
- 返回:浮动端累计现值。
Excel: =SwapFixedLegCumCF(vanillaSwap)
Python: FixedLegCumCF()
- 功能:计算固定端累计现金流。
- 参数:
vanillaSwap:利率互换对象,Python Api不需要这个参数。
- 返回:固定端累计现金流。
Excel: =SwapFloatingLegCumCF(vanillaSwap)
Python: FloatingLegCumCF()
- 功能:计算浮动端累计现金流。
- 参数:
vanillaSwap:利率互换对象,Python Api不需要这个参数。
- 返回:浮动端累计现金流。
Excel: =SwapNPV(vanillaSwap)
Python: NPV()
- 功能:计算互换结果的净现值。
- 参数:
vanillaSwap:利率互换对象,Python Api不需要这个参数。
- 返回:互换结果的净现值。
Excel: =SwapMarketParRate(vanillaSwap)
Python: MarketParRate()
- 功能:计算互换结果的 Par Rate。
- 参数:
vanillaSwap:利率互换对象,Python Api不需要这个参数。
- 返回:互换结果的 Par Rate。
Excel: =SwapDuration(vanillaSwap)
Python: Duration()
- 功能:计算互换结果的久期。
- 参数:
vanillaSwap:利率互换对象,Python Api不需要这个参数。
- 返回:互换结果的久期。
Excel: =SwapMDuration(vanillaSwap)
Python: MDuration()
- 功能:计算互换结果的修正久期。
- 参数:
vanillaSwap:利率互换对象,Python Api不需要这个参数。
- 返回:互换结果的修正久期。
*Excel: =SwapPV01(vanillaSwap)
Python: PV01()
- 功能:计算互换结果的 PV01。
- 参数:
vanillaSwap:利率互换对象,Python Api不需要这个参数。
- 返回:互换结果的 PV01。
Excel: =SwapDV01(vanillaSwap)
Python: DV01()
- 功能:计算互换结果的 DV01。
- 参数:
vanillaSwap:利率互换对象,Python Api不需要这个参数。
- 返回:互换结果的 DV01。
Excel: =SwapCF(vanillaSwap)
Python: CF()
- 功能:计算互换结果的现金流。
- 参数:
vanillaSwap:利率互换对象,Python Api不需要这个参数。
- 返回:互换结果的现金流。
Excel: =SwapValuationDayCF(vanillaSwap)
Python: ValuationDayCF()
- 功能:计算估值日现金流。
- 参数:
vanillaSwap:利率互换对象,Python Api不需要这个参数。
- 返回:互换结果的估值日现金流。
Excel: =SwapMarketValue(vanillaSwap)
Python: MarketValue()
- 功能:计算互换结果的市场价值。
- 参数:
vanillaSwap:利率互换对象,Python Api不需要这个参数。
- 返回:互换结果的市场价值。
Excel: =SwapAccrued(vanillaSwap)
Python: Accrued()
- 功能:计算互换结果的应计利息。
- 参数:
vanillaSwap:利率互换对象,Python Api不需要这个参数。
- 返回:互换结果的应计利息。
Excel: =SwapPNL(vanillaSwap, start, end)
Python: PNL(start, end)
- 功能:计算互换结果的 PNL。
- 参数:
vanillaSwap:利率互换对象,Python Api不需要这个参数。start:开始日期。end:结束日期。
- 返回:互换结果的 PNL。
Excel: =SwapCalculateSwapRateFromNPV(vanillaSwap, npv)
Python: CalculateSwapRateFromNPV(npv)
- 功能:通过 NPV 推算固定端利率。
- 参数:
vanillaSwap:利率互换对象,Python Api不需要这个参数。npv:净现值。
- 返回:固定端利率。
Excel: =SwapCalculateFloatingMarginFromNPV(vanillaSwap, npv)
Python: CalculateFloatingMarginFromNPV(npv)
- 功能:通过 NPV 推算浮动端点差。
- 参数:
vanillaSwap:利率互换对象,Python Api不需要这个参数。npv:净现值。
- 返回:浮动端点差。
Excel: =SwapFixedLegs(vanillaSwap, fields)
- 功能:获取固定端现金流信息。
- 参数:
vanillaSwap:利率互换对象。fields:字段数组(如PaymentDate、AccrStartDate、AccrEndDate等)。
- 返回:固定端现金流信息数组。
Excel: =SwapFloatingLegs(vanillaSwap, fields)
- 功能:获取浮动端现金流信息。
- 参数:
vanillaSwap:利率互换对象。fields:字段数组(如PaymentDate、AccrStartDate、AccrEndDate等)。
- 返回:浮动端现金流信息数组。
Excel: =SwapFloatingQuotes(vanillaSwap, fields)
- 功能:获取浮动端定息信息。
- 参数:
vanillaSwap:利率互换对象。fields:字段数组(如QuoteDate、QuoteRate、ResetDate等)。
- 返回:浮动端定息信息数组。
Excel: =SwapFloatingQuoteLegs(vanillaSwap, fields)
- 功能:获取浮动端定息频率信息。
- 参数:
vanillaSwap:利率互换对象。fields:字段数组(如QuoteDate、QuoteRate、ResetDate等)。
- 返回:浮动端定息频率信息数组。
Excel: =SwapFrtbGirrDeltas(swap, ccyLocRate=1.0, fmt="V")
- 功能:计算FRTB敏感性指标。
- 参数:
swap:McpVanillaSwap对象。ccyLocRate:本地货币汇率,默认值为1.0。fmt:参数格式,默认值为"V"。
- 返回:FRTB敏感性指标。
Excel: =McpGetStartDate(obj)
- 功能:获取利率互换(VanillaSwap)的开始日期。
- 参数:
obj:VanillaSwap 对象。
- 返回:开始日期。
Excel: =McpGetEndDate(obj)
- 功能:获取利率互换(VanillaSwap)的结束日期。
- 参数:
obj:VanillaSwap 对象。
- 返回:结束日期。
Excel: =McpRateConvention(conventionName)
- 功能:简化利率互换产品结构定义的函数。
- 参数:
conventionName:结构简称。
- 返回:一个利率互换产品结构对象。
注意事项
- 参数格式:
fmt参数用于指定参数格式,默认值为VP。 - 枚举值:部分参数(如
FixedPayReceive、FixedPaymentFrequency)为枚举值,需参考具体定义。 - 默认值:未明确说明的参数通常有默认值,可根据需求调整。
