YieldCurve 相关函数
大约 6 分钟
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(args, data)
Python: McpVanillaSwapCurveData(*args)
- 功能:构造单边 SwapCurve。
- 参数:
args或*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
等参数。
- 类似第一种,但增加
- 第一种参数:
data
:SwapCurve 的市场数据。
- 返回:单边 SwapCurve 对象。
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 值。
注意事项
- 参数格式:
fmt
参数用于指定参数格式,默认值为VP|HD
或VP
。 - 枚举值:部分参数(如
Frequency
、Variable
、Method
)为枚举值,需参考具体定义。 - 默认值:未明确说明的参数通常有默认值,可根据需求调整。