QuantLib是一个用于衍生品定价、分析分析的一个库,是用C++写的,通过SWING技术可以用Python调用。...在QuantLib中有一个Date类就是用来处理时间的。...当然很多功能其实和我们常用的datetime这个库雷同,但是使用QuantLib中的Date类来定义时间的话,可以被QuantLib框架识别,所以,我们还是要学习一下。...date + ql.Period(1, ql.Weeks) #date之后一周的日期 ql.Date(31, 3, 2015) > ql.Date(1, 3, 2015) #判断日期的先后 ...有时候,我们可能需要获取一系列符合要求的日期天数,譬如,获取一个债券的coupon的支付日期。
QuantLib既然是一个金融类的库,那么既然讨论了时间,就不得不讨论利率了,毕竟,货币是有时间价值的。...这就会QuantLib中InterestRate这个类的作用了。 好了,我们现在定义一个利率。首先,是年化报价的利率,譬如,0.05,也就是5%。
本篇是该系列的第五篇: 盘一盘 QuantLib 系列 1 - 日期和日历 盘一盘 QuantLib 系列 2 - 生成日期表 盘一盘 QuantLib 系列 3 - 外汇市场和产品 盘一盘 QuantLib...利率市场的产品非常繁多,生成日期时要注意的惯例和要处理的细节更多。...按照“日期表”这个维度来划分,利率产品可分两类: 单期:包括存款证 (CD)、远期利率协议 (FRA) 和利率期货 (IRF) 多期:所有类型的掉期 (swap) 本帖先把注意力放在“单期利率产品”上。...下图以 FRA 举例,对于每个产品,需要生成两组日期: 产品日期:交易日、即期日、(FRA) 起始日、(FRA) 到期日、支付日 指标日期:IBOR 定盘日、IBOR 重置日、IBOR 到期日 下图将...FRA 产品日期和 IBOR 日期生成过程可视化,学完本帖你会发现一个非常容易忽视的细节,那就是 FRA 的到期日可能不等于 IBOR 到期日
本篇是该系列的第六篇: QuantLib 系列 1 - 日期和日历 QuantLib 系列 2 - 生成日期表 QuantLib 系列 3 - 外汇市场和产品 QuantLib 系列 4 - 信贷市场和产品...QuantLib 系列 5 - 利率市场和产品 CD/FRA/IRF 想要得到本贴 Jupyter Notebook 的同学分享此贴,在本帖留个言,我便发给你链接。...如果这段时间是周期频率的整数倍,那么该日期表属于规则(regular)日期表,否则会剩余若干天数要分配给第一期和(或)最后一期,而这样的日期表属于不规则(irregular)日期表,或称为有存根期(stub...period)的日期表。...(用后向生成日期方法,不规则端会归在前端) 全部安排到末端(用前向生成日期方法,不规则端会归在后端) 分别安排到两端,只要总长度加起来等于 2 个月即可(需要额外定义规则段的首尾两个日期) 再着,前端和后端还分为短
本篇是该系列的第七篇: QuantLib 系列 1 - 日期和日历 QuantLib 系列 2 - 生成日期表 QuantLib 系列 3 - 外汇市场和产品 QuantLib 系列 4 - 信贷市场和产品...QuantLib 系列 5 - 利率市场和产品 CD/FRA/IRF QuantLib 系列 6 - 利率市场和产品 IRS/TS/CCBS 想要得到本贴 Jupyter Notebook 的同学分享此贴...利率市场的产品非常繁多,生成日期时要注意的惯例和要处理的细节更多。...按照“日期表”这个维度来划分,利率产品可分两类: 单期:包括存款证 (CD)、远期利率协议 (FRA) 和利率期货 (IRF) 多期掉期:利率掉期 (IRS)、利率基差掉期 (TS) 和跨货币基差掉期...复利掉期包括隔夜指数掉期(USD SOFR OIS,EUR ESTER OIS 等)和七天回购掉期(CNY FR007 IRS),要准确生成这些掉期的日期表,需要熟知很多惯例细节。
Quantlib简介 相比TA-Lib在技术分析领域的地位,QuantLib在金融工程领域的地位可以说有过之而无不及。...(日期和时间计算) Calendars Day counters Design patterns Financial instruments Finite-differences...QuantLib在Python中的安装 QuantLib功能强大的同时安装也较为复杂,其官方网站仅提供了源代码,需要用户自行编译,完成后还需要编译QuantLib的SWIG封装从而实现Python调用...在这里下载QuantLib和Quantlib-SWIG,注意请选择两者都有的版本(在作者写这篇教程时,两者都有的最新版本号是1.7),将下载的zip文件分别解压缩,假设路径为D:\QuantLib-1.7...和D:\QuantLib-SWIG-1.7。
Quantlib简介 相比TA-Lib在技术分析领域的地位,QuantLib在金融工程领域的地位可以说有过之而无不及。...主要模块 Currencies and FX rates(货币相关) Date and time calculations(日期和时间计算) Calendars Day counters Design...QuantLib使用C++开发,并通过SWIG包装对其他语言提供调用API,足以满足连续交易对性能的需求。...vn.py和QuantLib 相比较于TA-Lib,QuantLib主要针对复杂衍生品,适用的人群会相对窄一些,举两个例子。...QuantLib homepage: https://www.quantlib.org/reference/modules.html 2. vn.py Github: https://github.com
本篇是该系列的第四篇: 盘一盘 QuantLib 系列 1 - 日期和日历 盘一盘 QuantLib 系列 2 - 生成日期表 盘一盘 QuantLib 系列 3 - 外汇市场和产品 想要得到本贴...光一个标准 CDS 的日期表就设计无数细节,但不要慌,在本帖我读完 ISDA 文件后帮大家整理了一套日期定义、也提供了代码。...首先明晰 CDS 中关键日期定义: 交易日 (trade date):执行 CDS 合约的日期,通常记作 T 保护生效日 (step-in date):也叫 protection effective date...,所有未来现金流折现至的日期。...,注意最后 1 个应计结束日落在到期日 支付日 (payment date):支付保费的日期,也是 CDS 日。
Oracle 与 MySQL 的差异分析(7):日期和时间函数 1 获取当前日期和时间 1.1Oracle Oracle 中的日期类型是带有时分秒的,获取当前时间可以用sysdate,如果要获得更高的精度可以用...1.2 MySQL curdate():获取当前日期,不包括时分秒。 curtime():获取当前时间,不包含日期。 now()/sysdate():获取当前时间和日期。...2 字符串和日期的转换 2.1Oracle to_date:字符串到时间的转换 to_char:时间到字符串的转换 常用的日期格式有 yyyymmddhh24miss 和yyyy-mm-dd hh24...to_char:获取日期类型的天、月、年、分、小时、秒。...3.2 MySQL MySQL中似乎没有类似Oracle的trunc函数,可以用date_format获取想要的日期格式。 extract:获取日期的一部分。
债券标的为170005,我的python代码如下: 1 import QuantLib as ql 2 3 faceAmount = 100.0 4 redemption = 100.0 5
项目介绍 官网:https://www.quantlib.org/ 项目Github地址:https://github.com/lballabio/QuantLib QuantLib(Quantitative...以下是关于QuantLib的一些主要特点和用途: 1.开源跨平台:QuantLib是完全开源的,可以在不同操作系统上运行,包括Windows、Linux和Mac OS X。...5.易于集成和扩展:QuantLib的设计允许用户根据特定需求进行定制和扩展,通过C++编程接口提供了灵活的扩展性,同时也支持Python等编程语言的接口,使得QuantLib能够与其他系统和库集成使用...环境配置 Ubuntu环境安装QuantLib库: git clone https://github.com/lballabio/QuantLib # 或者下载release版本 1.34 mkdir...int main() { // 设置评估日期 Date today = Date::todaysDate(); Settings::instance().evaluationDate
1.2 代码分析 我们日期格式化功能的代码如下: /** * 设置特定格式的时间戳(将日期时间调整为当天的开始或结束时刻) * * @param {string} dateString - 输入的日期字符串...四、第四回合:日期操作技巧总结 现在第三方库十分成熟,日常对日期操作频率不高,为了节省问题解决的成本,提升解决问题的效率,所以我总结了若干日期操作技巧。...结语 本文从一个线上日期格式化问题出发,深入探讨了 Moment.js 和 Day.js 这两个日期处理库的差异点、兼容性问题以及特别操作。...通过本文的学习,我们对日期处理库有了更深入的了解,掌握了如何选择合适的日期处理库来解决实际问题。...分享日期处理的三个原则: 明确时区:始终显式指定时区上下文 不可变性:避免隐式的日期对象修改 语义化封装:业务逻辑与日期解耦 这些经验将帮助您构建更健壮的时间相关功能,避免因日期问题导致的线上事故,为业务创造稳定可靠的技术基础
183 ACT/360 该规则中,年限等于天数差除以 360, tau = (date2 - date1) / 360 = 183/360 = 0.5083333 用 QuantLib...0.5083333333333333 ACT/365 该规则中,年限等于天数差除以 365, tau = (date2 - date1) / 365 = 183/365 = 0.5013699 用 QuantLib...2020.1.1 - date1) / 365 + (date2 - 2020.1.1) / 366 = 32/365 + 151/366 = 0.50023954 用 QuantLib...min(DS, 30) = 30 de = 30 带入年限计算公式得到 tau = (360*1+30*-6+0) / 360 = 180/360 = 0.5 用 QuantLib...验证: ql.Thirty360().yearFraction(date1, date2) 0.5 ---- 其他的日期计数惯例总结于下图。
4.QuantLib计算欧式看涨期权 先放代码: #coding=utf8 import QuantLib as ql import matplotlib.pyplot as plt # 1.设置期权的五要素以及分红率和期权类型...day_count = ql.Actual365Fixed() calendar = ql.UnitedStates() # 1.5计算期权价格的日期,也就是估值日,我们设为今天 calculation_date...定价引擎 # 3.1 处理股票当前价格 spot_handle = ql.QuoteHandle( ql.SimpleQuote(spot_price) ) # 3.2 根据之前的无风险利率和日期计算方式...().evaluationDate = calculation_date 这些参数其实可以分成两种,一个是和期权直接相关的,且在期权存续区间不会变化的,也就是执行价格和到期如,剩下的,譬如波动率、估值日期...利用QuantLib计算BSM模型下的期权价格就是这样。
QuantLib提供更逼真的建模 #include #ifdef BOOST_MSVC# include #endif#include.../math/optimization/conjugategradient.hpp"#include "ql/math/optimization/simplex.hpp"using namespace QuantLib...此外,如果需要按时间顺序排列的收益率数据,可能会感到困惑,而不是仅仅考虑相关日期的数据。即使处理时间序列不是问题,Nelson和Siegel也没有指定正式的算法来选择的最佳值。
七天回购掉期的日期表如下图所示。 把注意力放在浮动端第 n 期,对应的复合利率 R(Tn-1, Tn) 是由一组七天回购利率组成的。 上图只是为了展示浮动利率的复合过程,真正的细节在下图。...第三节会介绍日期生成,FR007 掉期的产品日期表和指标日期表是如何生成的。 第四节会介绍变量计算,如何计算或插值折现因子和远期利率。 第五节会讲解曲线构建,如何从市场报价通过拔靴法得到零息曲线。...IR_InterestRateSwap_pricer() 其他有用的函数 |--- utils.py 基本效用函数 |--- ql_utils.py 和 QuantLib...有关的效用函数 |--- date_utils.py 用于日期转换 |--- daycount_utils.py 用于计算年限 |--- calendar_utils.py...日期生成 基本概念 日历创建 产品日期 指标日期 4. 变量计算 折现因子 远期利率 5. 曲线构建 基本概念 拔靴方法 6. 产品定价 普通 IRS FR007 掉期
引入控件 使用bootstrap的日期控件需要单独引入bootstrap-datetimepicker.min.css和bootstrap-datetimepicker.min.js 详情及文件可以通过下面地址下载...:http://www.bootcss.com/p/bootstrap-datetimepicker/index.htm 使用场景 单独引入一个日期控件可以参考上面提供的连接地址上的案例。...此处介绍的是怎么使用两个日期控件,一个为开始日期,另外一个为结束日期,两个日期之间建立相互约束关系。即开始日期不能大于结束日期,结束日期不能小于开始日期。
duplicated(genes$ENTREZID),] x$genes <- genes x 数据预处理 从原始尺度转换 对于差异表达和相关分析,基因表达很少在原始计数水平上考虑,因为文库测序的深度更大会导致更高的计数...相反,通常的做法是将原始计数转换为可以解决这种库大小差异的规模。...在我们的分析中,CPM和log-CPM转换经常使用,尽管它们没有考虑RPKM和FPKM值所做的特征长度差异。...假设条件之间的异构体使用没有差异差异表达分析着眼于条件之间的基因表达变化,而不是比较多个基因的表达或得出绝对表达水平的结论。...换句话说,基因长度对于感兴趣的比较保持不变,任何观察到的差异都是条件变化的结果,而不是基因长度的变化。
一个日期值存储某一天的不透明表示。日期编码为自 epoch 以来的天数,从公历公历 0001 年 1 月 1 日开始。...x - y date duration 按否定持续时间偏移的日期 x - y date date 日期之间的持续时间 x & y date time 合并日期时间 日期值的本机类型是固有类型...按持续时间偏移的日期时间 x - y datetime duration 否定持续时间的日期时间偏移 x - y datetime datetime 日期时间之间的持续时间 日期时间值的本机类型是固有类型...日期时区 一个datetimezone值包含日期时间和时区。阿时区为多个的被编码分钟从UTC偏移量,该计数分钟的时间部分的数量日期时间应该从通用协调时间(UTC)偏移。...datetime 日期时间之间的持续时间 x - y duration duration 时长差异 x * y duration number N次持续时间 x * y number duration
shell 日期循环 #!.../bin/sh if [ $# == 2 ]; then datebeg=$1 dateend=$2 else echo "请输入开始时间和结束日期,格式为2017-04-04"...beg_s 至 $end_s" while [ "$beg_s" -le "$end_s" ];do day=`date -d @$beg_s +"%Y-%m-%d"`; echo "当前日期...:$day" beg_s=$((beg_s+86400)); done echo "日期全部处理完成"