债券收益率建模(时间序列建模)&&时间序列相似度度量

对于之前证券公司的笔试整理下,应该去证券面试的都不会遇到我这种情况,lol,没办法专业在那

下面就是试题内容以及一个小白的答题内容了:

债券收益率建模:

在研究瞬时短期利率模型中,单因子均衡模型(one-factor model)一搬考虑以下三种:

a.     Rendleman和Bartter 模型:  

b.    Vasicek模型:

c.     CIR模型: 

这里,请分别用Vasicek模型和CIR模型对附件data1.xlsx中的各币种收益率建模,并比较两种模型的优劣。

要求:

1.  分别给出各个币种在两种模型下的拟合曲线

2.  熟练运用统计推断,给出两模型的拟合优劣并简单分析

三组数据统计信息:美元:平均收益率是1.12000,标准偏差是0.82894;欧元:平均收益率是0.36680,标准偏差是0.59846;人民币:平均收益率是2.80961,标准偏差是0.59815。

两个模型均假设短期利率r风险中性过程是随机的,且仅有一个不确定性来源。随机过程包括漂移和波动率两个参数,它们只与短期利率r有关,与时间无关。

@实施过程及结果分析:代码文件CKLS.py

·对于两个模型参数的估计采用的是最小二乘法进行的,参考文献是董烈刚,朱全新的《一种均值回复利率模型的求解与参数估计》(http://www.docin.com/p-235581620.html)。

债券收益率建模(时间序列建模)&&时间序列相似度度量_第1张图片

·结果:

Vasicek模型:初始化参数为([0.01,-0.11,0.0089])。对于美元,欧元和人民币参数估计拟合参数R方:0.9774,-0.4739和0.54018,求出来的,和分别是:0.0117,-0.0225,和-1.093*10^(-5)。

CIR模型:初始化参数为([0.001, -0.05, 0.2])。对于美元,欧元和人民币参数估计拟合参数R方:0.6400,0.4966,0.5543,求出来的,和分别是:0.0011,-0.0595, 0.2155。

·结果分析

两种模型拟合不稳定,R方有些甚至会达到1,但是之后曲线明显不合理,证明有过拟合现象。有些文献指出CIR模型是为克服Vasicek模型利率可以为负的缺陷,但是貌似我做出来的模型还是会出现有负的现象,可能是我用的参数估计方法不够准确吧,这个还是有待进一步去找一些参考文献来改进。还有一个问题是,对于CIR模型的显式表达式我并没有找到,

拟合曲线图样例如下:

CIR方法三张图片如下:

债券收益率建模(时间序列建模)&&时间序列相似度度量_第2张图片债券收益率建模(时间序列建模)&&时间序列相似度度量_第3张图片债券收益率建模(时间序列建模)&&时间序列相似度度量_第4张图片

Vasicek方法三张图片如下:

债券收益率建模(时间序列建模)&&时间序列相似度度量_第5张图片债券收益率建模(时间序列建模)&&时间序列相似度度量_第6张图片债券收益率建模(时间序列建模)&&时间序列相似度度量_第7张图片

======================================================================================================================================================

试题2:
附件data2.xlsx中给出了2014年9月29日至2014年11月7日的150支股票每日成交额数据,请以601688.sh这支股票的日成交额序列作为模板,以余下股票的日成交额序列作为目标,匹配出目标序列中你认为与模板序列具有较高相似程度的那一部分;
请用任意程序完成以下要求:
 1,目标序列与模板序列的相似度应仅与序列中数据有关
 2,定义你的两支序列相似程度的表达
 3,说明相似阈值的选取理由
 4,输出与模板相似的目标序列到xlsx中
 5,将程序包含在附件中发回并附上说明
对某一个或者一组变量 x(t) 进行观察测量,将在一系列时刻 t1,t2,⋯,tn 所得到的离散数字组成的序列集合,称之为时间序列。时间序列数据本身所具备的高维性、复杂性、动态性、高噪声特性以及容易达到大规模的特性,因此时间序列挖掘是数据挖掘研究中最具有挑战性的十大研究方向之一。目前重点的研究内容包括时间序列的模式表示、时间序列的相似性度量和查询、时间序列的聚类、时间序列的异常检测、时间序列的分类、时间序列的预测等。本题目主要考查的是时间序列的相似性度量时间序列的相似性度量。
@实施过程及结果分析:代码文件timeseries.py和timeseriesRCR.py
·实施流程:
数据预处理:先将需要匹配的序列与需要去匹配的序列分别放入数组中,然后将其中的异常值0换成均值,之后采用标准差均一化以及最大最小值进行归一化。
方法:比较两个序列相似度最简单就是欧式距离,但其缺点也很明显,一是它只能测量长度相等的时序,二是它对噪声是敏感的,因为个别很远的偏离平均值的点可能对结果造成很大的影响。 为了克服这些缺点,人出现其他更好的测度。比如动态时间规整(dynamic time warping,DTW),最长公共子序列(LCSS)等。本题采用方法其中一种就是DTW,但是效果并不明显,得到了前10%相似的序列。之后参考了尚书敬的《RCR:一种面向金融时间序列的相似度量模型》(http://www.doc88.com/p-582326221170.html),通过检测满足模型要求的序列获得相似序列,但是问题是:我的误差阈值比文章中的要大很多,而且是尝试出来的,不具有代表性。
·结果及分析:
DTW方法测试出来的距离成段分布,距离70左右的,2000左右的,每段之间相差无几,所以最后得到距离原始序列最近的前10%作为最终的相似序列,存储在文件” matheditem.xlsx”中。对于DTW方法得到的距离分段分布应该是由于算法本身动态规划矩阵分布情况决定的,我最终选择的相似序列也具有主观性,若想得到更好的结果距离计算公式应该是需要更新的。
RCR方法测试出来满足相对变化率小于4.5的有两个,若阈值再选小一点就没有匹配的序列了,最终结果存储在” matheditemrcr.xlsx”中。这种方法阈值选取得很有问题,或者说这个模型在应用于这个问题的时候就是需要首先进行一些其他的预处理。亦或者说本题有其他一些成熟的模型可以应用并改进。




你可能感兴趣的:(笔试)