tf-quant-finance EurodollarFutures 定价指南:构造参数、结算公式与源码实现
金融科技科学计算【免费下载链接】tf-quant-financeHigh-performance TensorFlow library for quantitative finance.项目地址https://gitcode.com/gh_mirrors/tf/tf-quant-finance点击查看免费下载本文以 tf-quant-finance 的experimental.instruments.EurodollarFutures为核心讲解如何在 TensorFlow 中批量创建并定价欧式美元Eurodollar, ED期货合约。读完本文你将掌握 ED 期货的结算公式、EurodollarFutures全部构造参数的含义与默认值、基于RateCurve的定价原理以及如何用一段可运行的示例代码完成从曲线构建到合约定价的完整流程。Eurodollar 期货简介与结算公式Eurodollar 期货是交易所挂牌交易的利率期货标的为 Libor 利率在芝加哥商品交易所CME和伦敦国际金融期货与期权交易所LIFFE等场所具有极高流动性。在 CME 交易的、挂钩美元隔夜 Libor 利率的合约即称为 EurodollarED期货。该品种的核心结算规则是一份 ED 期货在到期日 T 的结算价为100 * (1 - F(T, T1, T2))其中F(T, T1, T2)是在时刻 T 观察到的、起始日为 T1、到期日为 T2 的即期 Libor 利率。也就是说期货价格与远期 Libor 利率呈线性反向关系——利率越高期货价格越低利率越低期货价格越高。这一公式是后续所有定价逻辑的基础其严谨推导可参见 Andersen 与 Piterbarg 的《Interest Rate Modeling》Volume I 第 5 章仓库内 EurodollarFutures.md 亦引用该文献。在 tf-quant-finance 中EurodollarFutures类可以一次性创建并定价多个合约批量操作但同一对象内的所有合约必须使用**同一条参考曲线reference curve**进行定价这一点在源码注释中明确声明也是使用前需要记住的约束。类签名与构造参数详解类的完整签名出自 eurodollar_futures.py 与文档 EurodollarFutures.mdtf_quant_finance.experimental.instruments.EurodollarFutures( expiry_date, contract_notional1.0, daycount_conventionNone, rate_termNone, maturity_dateNone, dtypeNone, nameNone )各参数说明如下参数类型与形状含义默认值expiry_dateRank 1DateTensor各期货合约的到期日期必填contract_notional标量或 Rank 1Tensor实数 dtype合约单位名义规模。例如 CME 挂牌的 Eurodollar 期货名义规模为 $2500。若传入标量则假定所有合约使用相同名义规模1.0daycount_conventionDayCountConvention底层利率适用的日计数惯例同一批合约假定相同None此时每个合约使用DayCountConvention.ACTUAL_360rate_termRank 1PeriodTensor决定合约结算的利率期限tenor如 3 个月None此时利率假定为[expiry_date, maturity_date]区间maturity_dateRank 1DateTensor各合约底层远期利率的到期日仅在rate_term为None时使用Nonedtypetf.Dtype对象内部实数变量与运算的数据类型None映射到 TensorFlow 推断的默认 dtypenamePythonstr该类创建的 ops 的名称前缀None映射为eurodollar_future关于rate_term与maturity_date的互斥约束源码在构造函数入口处做了严格校验eurodollar_futures.py 第 123-131 行if (rate_term is None) (maturity_date is None): raise ValueError(Error creating the EurodollarFutures contract. Either rate_term or maturity_date is required.) if rate_term is not None and maturity_date is not None: raise ValueError(Error creating the EurodollarFutures contract. Both rate_term or maturity_date are specified.)也就是说rate_term与maturity_date必须二选一两者都缺省或两者都指定都会抛出ValueError两者语义等价——rate_term是期限表达例如 3 个月maturity_date是具体日期表达。从实现看传入rate_term时内部会通过accrual_start_date rate_term计算计息结束日其中accrual_start_date即expiry_date传入maturity_date时则直接使用该日期作为计息结束日。日计数惯例DayCountConventiondaycount_convention的取值来自tf_quant_finance.experimental.instruments.DayCountConvention枚举定义于 rates_common.pyACTUAL_360实际天数 / 360ED 期货的默认惯例ACTUAL_365实际天数 / 365THIRTY_360_ISDA30/360 ISDA 惯例。底层通过rates_common.get_daycount_fraction分发到tf_quant_finance.datetime中对应的daycount_actual_360、daycount_actual_365_fixed、daycount_thirty_360_isda实现参见 daycount_actual_360.md、daycount_actual_365_fixed.md、daycount_thirty_360_isda.md。计息分数在构造时即被计算并缓存为_daycount_fraction供后续定价使用。需要留意的一个已知限制源码在计算accrual_end_date处留有 TODO 注释(b/150291959)Add businessday and holiday conventions即当前版本尚未引入营业日调整与假日日历日期直接按expiry_date rate_term相加计算不做假日滚动。在需要严格营业日惯例的生产场景中这一点需要额外处理。定价方法priceprice方法签名如下price( valuation_date, market, modelNone )参数说明参数含义valuation_date标量DateTensor指定估值日期marketInterestRateMarket类型的 namedtuple包含定价所需的参考曲线等市场信息model预留参数供未来使用返回值为 Rank 1 实数Tensor包含基于输入市场数据计算的每个期货合约的模型价格。price的定价逻辑查看源码实现eurodollar_futures.py 第 153-176 行定价过程非常简洁del model, valuation_date reference_curve market.reference_curve fwd_rate reference_curve.get_forward_rate(self._accrual_start_date, self._accrual_end_date, self._daycount_fraction) return 100. * self._contract_notional * (1. - fwd_rate)几个值得注意的实现细节valuation_date与model被直接丢弃del model, valuation_date。这说明当前实现是无模型、纯曲线驱动的只要参考曲线给定任何估值日都会得到相同结果model参数是为未来引入波动率模型预留的扩展点。远期利率来自参考曲线调用RateCurve.get_forward_rate(accrual_start_date, accrual_end_date, daycount_fraction)得到单利simply compounded远期 Libor 利率。其内部实现rate_curve.py为dfstart self.get_discount_factor(start_date) dfmaturity self.get_discount_factor(maturity_date) return (dfstart / dfmaturity - 1.) / daycount_fraction即通过折现因子比反推远期利率这是经典的远期利率推导方式。结算公式落地最终价格严格遵循100 * notional * (1 - fwd_rate)与文档所述结算规则一一对应。InterestRateMarket市场数据结构定价所需的market是InterestRateMarket类型的 namedtuple定义于 rates_common.py字段包括reference_curveRateCurve实例用于计算 Libor 远期利率的期望ED 期货定价的核心输入discount_curve用于现金流贴现的曲线可留空Nonelibor_rateLibor 历史固定值scalarswap_rate掉期利率历史固定值scalarvolatility_curve市场隐含波动率数据VolatilityCube。对EurodollarFutures而言只有reference_curve是必需的。值得注意的是同一定价框架下的 ForwardRateAgreementFRA需要同时提供reference_curve与discount_curve并乘以结算日折现因子而 ED 期货作为每日盯市的期货合约其定价不需要贴现——这正体现了期货与远期在现金流结构上的本质差异。完整实战示例文档EurodollarFutures.md提供了一个完整示例下面给出可直接运行并补充了估值上下文与结果输出的版本测试用例 eurodollar_futures_test.py 中为该曲线构造了相同场景并断言价格为96.41051344import numpy as np import tensorflow as tf import tf_quant_finance as tff dates tff.datetime instruments tff.experimental.instruments dtype np.float64 notional 1. expiry_date dates.convert_to_date_tensor([(2021, 2, 8)]) valuation_date dates.convert_to_date_tensor([(2020, 2, 8)]) rate_term dates.periods.months(3) # 构造 ED 期货2021-02-08 到期底层利率为 3 个月 Libor edfuture instruments.EurodollarFutures( expiry_date, notional, rate_termrate_term, dtypedtype) # 构建参考曲线在估值日基础上外推 1、2、3、12、24、60 个月的点位 curve_dates valuation_date dates.periods.months([1, 2, 3, 12, 24, 60]) reference_curve instruments.RateCurve( curve_dates, np.array([0.02, 0.025, 0.0275, 0.03, 0.035, 0.0325], dtypedtype), valuation_datevaluation_date, dtypedtype) market instruments.InterestRateMarket(reference_curvereference_curve, discount_curveNone) price edfuture.price(valuation_date, market) # 在 eager 模式下可直接查看结果预期约为 96.41051344 print(price.numpy())关于示例的两点提示文档示例中的self.evaluate(...)是 tf-quant-finance 测试框架tf.test.TestCase内的求值写法在普通脚本中eager 模式下直接对返回的Tensor调用.numpy()即可或将其放入tf.function中使用。convert_to_date_tensor支持多种日期输入形式包括(year, month, day)元组序列、datetime.datetime对象序列、datetime64numpy 数组以及序数张量等详见 convert_to_date_tensor.mddates.periods.months(n)返回一个数量为n、类型为月MONTH的PeriodTensor详见 periods.md。两种指定计息区间的方式rate_term与maturity_date的等价性在测试中得到了直接验证eurodollar_futures_test.pytest_edf_correctness以rate_term months(3)即 2021-02-08 起 3 个月构造合约定价结果为96.41051344test_edf_explicit_maturity以maturity_date (2021, 5, 8)显式给出到期日构造同样的合约断言完全相同的价格96.41051344容差atol1e-6。这从测试层面证明了rate_term 3 个月与maturity_date 2021-05-08是等价的两种写法因为 2021-02-08 加 3 个月恰好是 2021-05-08。批量定价同时处理多个合约EurodollarFutures支持一次创建多个合约测试用例test_edf_many演示了这一点向expiry_date与maturity_date各传入两个日期的 Rank 1DateTensor两个合约分别为(2021, 2, 8) → (2021, 5, 8)即可得到一个含两个合约的对象price返回 Rank 1 张量[96.41051344, 96.41051344]。批量场景下的形状约定总结expiry_dateRank 1长度等于合约数量maturity_date若使用Rank 1与expiry_date形状一致contract_notional标量所有合约相同或 Rank 1逐合约指定所有合约共享同一条reference_curve。代码定位与扩展阅读类实现eurodollar_futures.py单元测试eurodollar_futures_test.py覆盖正确性、显式到期日与批量场景市场数据结构与日计数惯例rates_common.py参考曲线实现rate_curve.py参考 API 文档EurodollarFutures.md、InterestRateMarket.md、RateCurve.md、DayCountConvention.md小结EurodollarFutures是 tf-quant-finance 实验性利率工具集中的一个轻量级品种它把「结算价 100 × (1 − 远期 Libor)」这一市场规则封装为可批量、可微分的 TensorFlow 运算输入是到期日与参考曲线输出即合约价格。使用时只需记住三条规则rate_term与maturity_date二选一、默认日计数为 ACTUAL_360、同一对象共享同一条参考曲线。需要构建自己的参考曲线时参考 RateCurve 的构造方式线性插值、复利频率可配置即可若需与其他利率工具FRA、Swap、Cap/Floor 等配合使用可进一步阅读 experimental/instruments 目录 下的对应实现。赞分享金融科技科学计算【免费下载链接】tf-quant-financeHigh-performance TensorFlow library for quantitative finance.项目地址https://gitcode.com/gh_mirrors/tf/tf-quant-finance点击查看免费下载相关推荐tf-quant-finance 二元期权定价指南black_scholes.binary_price 的公式原理、参数详解与源码实现tf quant finance 二元期权定价指南black_scholes.binary_price 的公式原理、参数详解与源码实现 二元期权Binary金融科技科学计算tf-quant-finance 固定现金流流FixedCashflowStream构造、参数与现值定价实战tf quant finance 固定现金流流FixedCashflowStream构造、参数与现值定价实战 本文以 tf quant finance 实金融科技科学计算tf-quant-finance 栅栏期权定价指南black_scholes.barrier_price 从公式到源码实践tf quant finance 栅栏期权定价指南 black_scholes.barrier_price 从公式到源码实践 本篇技术指南聚焦于 Tensor金融科技科学计算创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

AI 软件开发全流程工具全景图(2025前沿版):用 TaoToken 统一 Key 打通编码到部署链路

AI 软件开发全流程工具全景图(2025前沿版):用 TaoToken 统一 Key 打通编码到部署链路

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 22:31:10 阅读更多 →
用my-translator的Read模式做离线越南语朗读器:分块合成、预取缓存与逐块错误标记是如何做到的

用my-translator的Read模式做离线越南语朗读器:分块合成、预取缓存与逐块错误标记是如何做到的

【免费下载链接】my-translator Real-time speech translation — macOS & Windows, free TTS, no server, your API keys only 项目地址: https://gitcode.com/gh_mirrors/my/my-translator 点击查看 免费下载 my-translator 是一款运行在 macOS 与 Windows 上…

2026/10/12 22:31:10 阅读更多 →
VaR五种算法R实现:从历史模拟到Copula-GARCH全解析

VaR五种算法R实现:从历史模拟到Copula-GARCH全解析

简介:金融风险管理中,风险价值(VaR)是衡量投资组合潜在损失的核心指标。这份资料聚焦五种计算VaR的算法,重点利用DCC-GARCH模型与Copula-GARCH模型进行波动率与相依性建模,面向金融工程、量化风控方向的学生…

2026/10/12 22:30:07 阅读更多 →

最新新闻

iOS TableView 异步加载图片:从原理到实践,告别列表卡顿

iOS TableView 异步加载图片:从原理到实践,告别列表卡顿

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 1:03:48 阅读更多 →
对称边界如何让模态分析生成‘春节快乐’字形

对称边界如何让模态分析生成‘春节快乐’字形

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 1:03:48 阅读更多 →
纯软件STM32入门:无需开发板,仿真环境跑通核心外设

纯软件STM32入门:无需开发板,仿真环境跑通核心外设

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 1:03:48 阅读更多 →
UDS车载诊断实战指南:服务格式、时序与否定响应码解析

UDS车载诊断实战指南:服务格式、时序与否定响应码解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 1:03:48 阅读更多 →
HTML表单交互与DOM操作实战:从零构建可调试的网络编程训练

HTML表单交互与DOM操作实战:从零构建可调试的网络编程训练

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 1:03:48 阅读更多 →
LightGBM因子筛选与BiLSTM时序建模:量化投资策略实战

LightGBM因子筛选与BiLSTM时序建模:量化投资策略实战

简介:这份资源面向计算机相关专业学生、高校教师及量化投资初学者,提供一套将LightGBM与BiLSTM结合进行因子组合选取并构建量化投资策略的完整实践项目,可直接用于毕业设计、课程设计、实训实验或公司项目二次开发。压缩包共1408个文件&#…

2026/10/13 1:02:48 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/12 0:16:30 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/12 0:16:43 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 21:05:09 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 14:48:49 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →