关于国债的一些计算: 转换因子的计算
来源:互联网 发布:match sql语句 编辑:程序博客网 时间:2024/04/28 17:17
转换因子的计算比较复杂,这里只给出一个公式,以及每个参数的意义
首先给出交易所计算公式:
CF = ( 1/ (1+r/f)^(xf/12) * [ c/f + c/r + (1-c/r)* (1 / (1+r/f)^(n-1) ) ] - c/f * (1-xf/12)
R: 5年期国债期货合约票面利率 3% , 由于国债期货目前合约都是5年期所以这个值总是0.03
X: 交割月到下一个付息月的月份数
n: 剩余付息次数
c: 可交割国债的票面利率 CouponRate
f: 可交割国债每年的付息次数
注意:
关于X(交割月到下一个付息月的月份数):
//交割月到付息月的月份数 //注意这里是以TF的缴款日为目标得到的前后付息日 var cashflowsTargetIsTFDeliveryMonth = bondvar.GetCashFlows(datePay); if (cashflowsTargetIsTFDeliveryMonth.Length != 2) throw new NotImplementedException(); var x = norlib.Time.TimeHelper.MonthDistance(tfvar.LastTradingDate, cashflowsTargetIsTFDeliveryMonth[1].时间);bondvar.GetCashFlows(datePay) 是获取 TF的缴款日的前后付息日
如果datePay与一个付息日t重叠,那么我们把这个t认为是datePay的前付息日,t日之后的下一个付息日记为后付息日
TF的缴款日是 TF最后交易日的后2个工作日
关于n(剩余付息次数):
n = bondvar.GetCashFlows().ToOtherTypeArrayEx(i => i.时间 > tfvar.LastTradingDate, i=>i.时间).Length;付息日必须大于最后交易日的才能算作一次剩余付息(也就是说如果最后交易日与一个付息日t重叠,t也不算做一次剩余付息)
static double CalculateCF(double arg_dR,int arg_nX,int arg_nN,double arg_dC, int arg_nF) { var n = arg_nN; var xf = arg_nX*arg_nF; var c1f = arg_dC/arg_nF; var c1r = arg_dC/arg_dR; var r1f = arg_dR/arg_nF; var part1 = (1 / Math.Pow(1 + r1f, (double)xf / 12)); var part2 = (c1f + c1r + (1 - c1r) * (1 / (Math.Pow(1 + r1f, n - 1)))); var cf = (1/Math.Pow(1+r1f,(double)xf/12)) * (c1f+c1r+(1-c1r)*(1/(Math.Pow(1+r1f,n-1)))) - c1f*(1-(double)xf/12); return cf.Round(4); }
0 0
- 关于国债的一些计算: 转换因子的计算
- 关于国债的一些计算: 应计利息
- 关于国债的一些计算: 理论TF价格1(缴款日前无付息)
- 关于国债的一些计算: 理论TF价格2(缴款日前有付息)
- 可信度因子的计算
- 关于sizeof的一些计算
- 期刊影响因子的计算
- 关于圆周率计算的一些资料
- 关于云计算知识的一些摘抄
- 关于并行计算发展的一些思考
- 一些关于并行计算的科研思路
- 关于并行计算的一些名词
- 关于日期计算的一些辅助函数
- 身份证加权因子的计算由来
- 一些实用的计算
- 有关转换计算的
- 关于MySQL常用的一些函数以及一些计算
- 关于日期的计算
- plist
- 贝叶斯统计
- UITableView表视图控件
- linux MISC 驱动模型分析
- 4 各种文件
- 关于国债的一些计算: 转换因子的计算
- 图像处理---内存法
- 理工大学ACM平台题答案关于C语言 1014 A+B for Input-Output Practice (V)
- 设置Linux shell超时自动退出
- JMS
- 【Unity Shaders】Diffuse Shading——漫反射光照改善技巧
- 关于word删不掉的虚线横线
- AT24C256
- LeetCode First Missing Positive