YieldCurve 相关函数
大约 7 分钟
YieldCurve 相关函数
构造双边收益率曲线
Excel: =McpYieldCurve2(args1, args2, args3, args4, args5, fmt="VP|HD")
Python: McpYieldCurve2(*args)
- 功能:构造双边收益率曲线。
- 参数:
args1~args5或*args:参数组,支持以下三种传参方式:- 利率数据构造:
ReferenceDate:交易日或估值日。Tenors:期限数组。BidZeroRates:Bid 方向的利率数组。AskZeroRates:Ask 方向的利率数组。Frequency:周期(默认NoFrequency)。Variable:利率类型(默认SIMPLERATES)。Method:插值方法(默认LINEARINTERPOLATION)。Calendar:节假日对象(默认空对象)。DayCounter:计息规则(默认Act360)。ValueDate:起息日。
- Bid/Ask 收益率曲线构造:
BidYieldCurve:Bid 方向的收益率曲线对象。AskYieldCurve:Ask 方向的收益率曲线对象。
- 远期曲线构造:
FxForwardPointsCurve2:远期曲线对象。YieldCurve2:收益率曲线对象。CalculatedTarget:计算目标(枚举值)。Calendar:节假日对象。
- 利率数据构造:
fmt:参数格式(默认VP|HD),Excel专用参数。
- 返回:双边收益率曲线对象。
Excel: =McpYieldCurve(args1, args2, args3, args4, args5, fmt="VP|HD")
Python: McpYieldCurve(*args)
- 功能:构造单边收益率曲线。
- 参数:
args1~args5或*args:参数组,支持以下两种传参方式:- 日期参数:
ReferenceDate:交易日或估值日。Dates:日期数组。ZeroRates:利率数组。Frequency:周期(默认NoFrequency)。Variable:利率类型(默认SIMPLERATES)。Method:插值方法(默认LINEARINTERPOLATION)。
- 期限参数:
ReferenceDate:交易日或估值日。Tenors:期限数组。ZeroRates:利率数组。Method:插值方法(默认LINEARINTERPOLATION)。Calendar:节假日对象(默认空对象)。DayCounter:计息规则(默认ActActISDA)。ValueDate:起息日。
- 日期参数:
fmt:参数格式(默认VP|HD),Excel专用参数。
- 返回:单边收益率曲线对象。
使用 YieldCurve 函数
Excel: =YieldCurve2ZeroRate(Curve, Date, BidMidAsk)
Python: ZeroRate(*args)
- 功能:从双边收益率曲线上获取指定日期的利率。
- 参数:
Curve:双边收益率曲线对象。Date:目标日期。BidMidAsk:指定方向(bid、mid或ask)。*args:是一个字典,不需要Curve参数,其他参数同Excel的参数。
- 返回:指定方向的利率值。
- 示例:返回
=YieldCurve2ZeroRate(McpYieldCurve2(...), "2023-12-31", "mid")0.025(假设中值利率为 2.5%)。
Excel: =YieldCurveZeroRate(Curve, Date)
Python: ZeroRate(endDate)
- 功能:从单边收益率曲线上获取指定日期的利率。
- 参数:
Curve:单边收益率曲线对象,Python Api不需要这个参数。Date:目标日期。
- 返回:利率值。
Excel: =YieldCurve2DiscountFactor(Curve, Date, BidMidAsk)
Python: DiscountFactor(*args)
- 功能:从双边收益率曲线上获取指定日期的折现因子。
- 参数:
Curve:双边收益率曲线对象。Date:目标日期。BidMidAsk:指定方向(bid、mid或ask)。*args:是一个字典,不需要Curve参数,其他参数同Excel的参数。
- 返回:指定方向的折现因子。
Excel: =YieldCurveDiscountFactor(Curve, Date)
Python: DiscountFactor(*args)
- 功能:从单边收益率曲线上获取指定日期的折现因子。
- 参数:
Curve:单边收益率曲线对象。Date:目标日期。*args:是一个字典,不需要Curve参数,其他参数同Excel的参数。
- 返回:折现因子。
SwapCurve 相关函数
构建 SwapCurve 函数
Excel: =McpVanillaSwapCurveData(args1, args2, args3, args4, args5, Fmt)
Python: McpVanillaSwapCurveData(*args)
- 功能:构造单边 SwapCurve。
- 参数:
args1, args2, args3, args4, args5或*args:参数组,支持以下三种传参方式:- 第一种参数:
ReferenceDate:交易日或估值日。StartDate:起始日期。MaturityDates:到期日数组。Frequencies:周期数组。Coupons:利率数组。FixedDayCounter:固定端计息规则(默认Act365Fixed)。FloatDayCounter:浮动端计息规则(默认Act365Fixed)。BumpAmounts:利率调整数组(如0.01表示所有利率加 0.01)。BUses:是否使用该行数据(Y或N)。Calendar:节假日数组。AdjustRule:调整规则(默认ModifiedFollowing)。UseIndexEstimation:是否使用浮动利息基准(默认TRUE)。SwapStartLag:起息日调整(默认2)。CompoundingFrequency:复利频率(默认0)。FixInAdvance:浮定息时间(默认true)。FixDaysBackward:浮动利息首次利息确定日(默认1)。EndStub:默认false。
- 第二种参数:
- 类似第一种,但省略部分参数。
- 第三种参数:
- 类似第一种,但增加
FixingIndex、FixingRateMethod等参数。
- 类似第一种,但增加
- 第一种参数:
Fmt:参数格式VP|HD,Excel专用参数。
- 返回:VanillaSwapCurve 对象。
Excel: =McpSwapCurve(args1, args2, args3, args4, args5, fmt="VP")
Python: McpSwapCurve(*args)
功能:构建单边 SwapCurve 对象。
参数:
args1~args5或*args:参数组,支持以下两种传参方式:- 第一种参数:
SettlementDate:交易日。CalibrationSet:用于构建曲线的资产组合(如一组 VanillaSwap 或 Depo)。InterpolatedVariable:利息类型(枚举值)。InterpolationMethod:插值方法(枚举值)。DayCounter:计息规则(默认Act365Fixed)。UseGlobalSolver:是否使用全局求解器(默认True)。PillarEndDate:默认0。
- 第二种参数:
ReferenceDate:交易日。InterpolatedVariable:利息类型(枚举值)。InterpolationMethod:插值方法(枚举值)。FixedDayCounter:固定端计息规则(默认Act365Fixed)。FloatDayCounter:浮动端计息规则(默认Act365Fixed)。DayCounter:计息规则(默认Act365Fixed)。Calendar:节假日对象。AdjustRule:调整规则(枚举值)。SettlementDates:交易日数组。MaturityDates:到期日数组。Coupons:利率数组。FixedFrequencies:固定利率支付周期数组。FloatingFrequencies:浮动利息支付周期数组。BumpAmounts:利率调整数组。BUses:是否使用该行数据(Y或N)。
- 第一种参数:
fmt:参数格式(默认VP),Excel专用参数。
返回:单边 SwapCurve 对象。
Excel: =McpSwapCurve2(args1, args2, args3, args4, args5, fmt="VP")
- 功能:构建双边 SwapCurve 对象。
- 参数:与
McpSwapCurve类似,支持两种传参方式。 - 返回:双边 SwapCurve 对象。
使用 SwapCurve 函数
Excel: =SwapCurveZeroRate(curve, date)
Python: ZeroRate(endDate)
- 功能:从 SwapCurve 上获取指定日期的 ZeroRate。
- 参数:
curve:Swap 利率曲线对象,Python Api不需要这个参数。date:目标日期。
- 返回:ZeroRate 值。
Excel: =SwapCurveZeroRates(curve, dates, fmt='V')
- 功能:从 SwapCurve 上获取多个日期的 ZeroRate。
- 参数:
curve:Swap 利率曲线对象。dates:日期数组。fmt:返回格式(默认V)。
- 返回:ZeroRate 数组。
Excel: =SwapCurveDiscountFactor(curve, date)
Python: DiscountFactor(endDate)
- 功能:从 SwapCurve 上获取指定日期的折现因子。
- 参数:
curve:Swap 利率曲线对象,Python Api不需要这个参数。date:目标日期。
- 返回:折现因子。
Excel: =SwapCurveDiscountFactors(curve, dates, fmt='V')
- 功能:从 SwapCurve 上获取多个日期的折现因子。
- 参数:
curve:Swap 利率曲线对象。dates:日期数组。fmt:返回格式(默认V)。
- 返回:折现因子数组。
Excel: =YieldCurveForwardRate(curve, startDate, endDate, dayCounter=DayCounter.Act365Fixed, compounding=False, frequency=Frequency.NoFrequency)
Python: ForwardRate(startDate, endDate, dayCounter, compounding, frequency)
- 功能:从 SwapCurve 上获取 ForwardRate。
- 参数:
curve:Swap 利率曲线对象,Python Api不需要这个参数。startDate:开始日期。endDate:结束日期。dayCounter:计息规则(默认Act365Fixed)。compounding:是否复利(默认false)。frequency:复利频率(默认NoFrequency)。
- 返回:ForwardRate 值。
Excel: =SwapCurveParSwapRate(curve, start, end)
- 功能:计算给定利率曲线的平价互换利率(Par Swap Rate)。
- 参数:
curve:利率曲线对象。start:利率互换的开始期限。end:利率互换的结束期限。
- 返回:计算出的平价互换利率值。
Excel: =SwapCurveCarry(curve, horizon, maturityPeriod)
- 功能:计算给定利率曲线的持有收益(Carry)。
- 参数:
curve:利率曲线对象。horizon:持有期的开始期限。maturityPeriod:持有期的结束期限(或工具到期期限)。
- 返回:计算出的持有收益(Carry)值。
Excel: =SwapCurveRoll(curve, horizon, maturityPeriod)
- 功能:计算给定利率曲线的滚动收益(Roll)。
- 参数:
curve:利率曲线对象。horizon:滚动期的开始期限。maturityPeriod:滚动期的结束期限(或工具到期期限)。
- 返回:计算出的滚动收益(Roll)值。
注意事项
- 参数格式:
fmt参数用于指定参数格式,默认值为VP|HD或VP。 - 枚举值:部分参数(如
Frequency、Variable、Method)为枚举值,需参考具体定义。 - 默认值:未明确说明的参数通常有默认值,可根据需求调整。
