Skip to content

Instantly share code, notes, and snippets.

@patiencehaggin
Last active December 22, 2018 22:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save patiencehaggin/2131489cae0b3dd17326bcec2045121b to your computer and use it in GitHub Desktop.
Save patiencehaggin/2131489cae0b3dd17326bcec2045121b to your computer and use it in GitHub Desktop.
Yield Curve, 2006-2018. Dec 22
license: mit
<!DOCTYPE html>
<meta charset="utf-8">
<style>
.axis {
font: 10px serif;
-webkit-user-select: none;
-moz-user-select: none;
user-select: none;
}
.axis .domain {
fill: none;
stroke: #000;
stroke-opacity: .3;
stroke-width: 5px;
stroke-linecap: round;
}
.plot.axis path {
stroke-width: 2px;
}
.axis .halo {
fill: none;
stroke: #ddd;
stroke-width: 8px;
stroke-linecap: round;
}
.slider .handle {
fill: #fff;
stroke: #000;
stroke-opacity: .5;
stroke-width: 1.25px;
cursor: crosshair;
}
.yieldcurve {
fill: none;
stroke: darkgreen;
stroke-width: 2.5px;
}
</style>
<body>
<script src="http://d3js.org/d3.v3.min.js"></script>
<script>
var data = [
{
"date":"2006-01-03"
,"R_3M":4.16
,"R_6M":4.40
,"R_1Y":4.38
,"R_2Y":4.34
,"R_3Y":4.30
,"R_5Y":4.30
,"R_7Y":4.32
,"R_10Y":4.37
},
{
"date":"2006-02-01"
,"R_3M":4.47
,"R_6M":4.60
,"R_1Y":4.60
,"R_2Y":4.59
,"R_3Y":4.54
,"R_5Y":4.51
,"R_7Y":4.52
,"R_10Y":4.57
},
{
"date":"2006-03-01"
,"R_3M":4.60
,"R_6M":4.75
,"R_1Y":4.74
,"R_2Y":4.71
,"R_3Y":4.68
,"R_5Y":4.63
,"R_7Y":4.60
,"R_10Y":4.59
},
{
"date":"2006-04-03"
,"R_3M":4.67
,"R_6M":4.86
,"R_1Y":4.86
,"R_2Y":4.86
,"R_3Y":4.85
,"R_5Y":4.85
,"R_7Y":4.86
,"R_10Y":4.88
},
{
"date":"2006-05-01"
,"R_3M":4.82
,"R_6M":4.98
,"R_1Y":4.97
,"R_2Y":4.94
,"R_3Y":4.95
,"R_5Y":4.99
,"R_7Y":5.04
,"R_10Y":5.14
},
{
"date":"2006-06-01"
,"R_3M":4.83
,"R_6M":5.06
,"R_1Y":5.05
,"R_2Y":5.04
,"R_3Y":5.02
,"R_5Y":5.03
,"R_7Y":5.05
,"R_10Y":5.11
},
{
"date":"2006-07-03"
,"R_3M":5.08
,"R_6M":5.31
,"R_1Y":5.26
,"R_2Y":5.17
,"R_3Y":5.14
,"R_5Y":5.11
,"R_7Y":5.12
,"R_10Y":5.15
},
{
"date":"2006-08-01"
,"R_3M":5.12
,"R_6M":5.18
,"R_1Y":5.11
,"R_2Y":4.97
,"R_3Y":4.91
,"R_5Y":4.90
,"R_7Y":4.92
,"R_10Y":4.99
},
{
"date":"2006-09-01"
,"R_3M":5.02
,"R_6M":5.10
,"R_1Y":4.99
,"R_2Y":4.77
,"R_3Y":4.70
,"R_5Y":4.68
,"R_7Y":4.69
,"R_10Y":4.73
},
{
"date":"2006-10-02"
,"R_3M":4.88
,"R_6M":5.02
,"R_1Y":4.90
,"R_2Y":4.66
,"R_3Y":4.59
,"R_5Y":4.56
,"R_7Y":4.57
,"R_10Y":4.62
},
{
"date":"2006-11-01"
,"R_3M":5.07
,"R_6M":5.10
,"R_1Y":4.95
,"R_2Y":4.66
,"R_3Y":4.56
,"R_5Y":4.52
,"R_7Y":4.52
,"R_10Y":4.57
},
{
"date":"2006-12-01"
,"R_3M":5.03
,"R_6M":5.05
,"R_1Y":4.87
,"R_2Y":4.52
,"R_3Y":4.43
,"R_5Y":4.39
,"R_7Y":4.39
,"R_10Y":4.43
},
{
"date":"2007-01-02"
,"R_3M":5.07
,"R_6M":5.11
,"R_1Y":5.00
,"R_2Y":4.80
,"R_3Y":4.71
,"R_5Y":4.68
,"R_7Y":4.68
,"R_10Y":4.68
},
{
"date":"2007-02-01"
,"R_3M":5.13
,"R_6M":5.16
,"R_1Y":5.09
,"R_2Y":4.96
,"R_3Y":4.88
,"R_5Y":4.84
,"R_7Y":4.84
,"R_10Y":4.84
},
{
"date":"2007-03-01"
,"R_3M":5.15
,"R_6M":5.11
,"R_1Y":4.95
,"R_2Y":4.63
,"R_3Y":4.54
,"R_5Y":4.50
,"R_7Y":4.51
,"R_10Y":4.56
},
{
"date":"2007-04-02"
,"R_3M":5.04
,"R_6M":5.09
,"R_1Y":4.92
,"R_2Y":4.60
,"R_3Y":4.53
,"R_5Y":4.54
,"R_7Y":4.57
,"R_10Y":4.65
},
{
"date":"2007-05-01"
,"R_3M":4.90
,"R_6M":5.01
,"R_1Y":4.89
,"R_2Y":4.63
,"R_3Y":4.56
,"R_5Y":4.54
,"R_7Y":4.57
,"R_10Y":4.64
},
{
"date":"2007-06-01"
,"R_3M":4.79
,"R_6M":4.98
,"R_1Y":4.98
,"R_2Y":4.97
,"R_3Y":4.94
,"R_5Y":4.92
,"R_7Y":4.92
,"R_10Y":4.95
},
{
"date":"2007-07-02"
,"R_3M":4.95
,"R_6M":5.02
,"R_1Y":4.97
,"R_2Y":4.86
,"R_3Y":4.86
,"R_5Y":4.90
,"R_7Y":4.93
,"R_10Y":5.00
},
{
"date":"2007-08-01"
,"R_3M":4.89
,"R_6M":4.96
,"R_1Y":4.82
,"R_2Y":4.56
,"R_3Y":4.53
,"R_5Y":4.60
,"R_7Y":4.66
,"R_10Y":4.76
},
{
"date":"2007-09-04"
,"R_3M":4.47
,"R_6M":4.52
,"R_1Y":4.39
,"R_2Y":4.13
,"R_3Y":4.16
,"R_5Y":4.26
,"R_7Y":4.38
,"R_10Y":4.56
},
{
"date":"2007-10-01"
,"R_3M":3.92
,"R_6M":4.15
,"R_1Y":4.11
,"R_2Y":4.02
,"R_3Y":4.05
,"R_5Y":4.24
,"R_7Y":4.37
,"R_10Y":4.56
},
{
"date":"2007-11-01"
,"R_3M":3.81
,"R_6M":3.95
,"R_1Y":3.89
,"R_2Y":3.77
,"R_3Y":3.80
,"R_5Y":4.02
,"R_7Y":4.16
,"R_10Y":4.36
},
{
"date":"2007-12-03"
,"R_3M":3.06
,"R_6M":3.28
,"R_1Y":3.15
,"R_2Y":2.90
,"R_3Y":2.93
,"R_5Y":3.28
,"R_7Y":3.53
,"R_10Y":3.89
},
{
"date":"2008-01-02"
,"R_3M":3.26
,"R_6M":3.32
,"R_1Y":3.17
,"R_2Y":2.88
,"R_3Y":2.89
,"R_5Y":3.28
,"R_7Y":3.54
,"R_10Y":3.91
},
{
"date":"2008-02-01"
,"R_3M":2.10
,"R_6M":2.15
,"R_1Y":2.13
,"R_2Y":2.09
,"R_3Y":2.22
,"R_5Y":2.75
,"R_7Y":3.13
,"R_10Y":3.62
},
{
"date":"2008-03-03"
,"R_3M":1.70
,"R_6M":1.80
,"R_1Y":1.74
,"R_2Y":1.61
,"R_3Y":1.84
,"R_5Y":2.48
,"R_7Y":2.96
,"R_10Y":3.54
},
{
"date":"2008-04-01"
,"R_3M":1.40
,"R_6M":1.53
,"R_1Y":1.62
,"R_2Y":1.80
,"R_3Y":1.94
,"R_5Y":2.65
,"R_7Y":3.04
,"R_10Y":3.57
},
{
"date":"2008-05-01"
,"R_3M":1.45
,"R_6M":1.73
,"R_1Y":1.94
,"R_2Y":2.37
,"R_3Y":2.53
,"R_5Y":3.06
,"R_7Y":3.36
,"R_10Y":3.78
},
{
"date":"2008-06-02"
,"R_3M":1.85
,"R_6M":1.99
,"R_1Y":2.17
,"R_2Y":2.51
,"R_3Y":2.82
,"R_5Y":3.28
,"R_7Y":3.56
,"R_10Y":3.98
},
{
"date":"2008-07-01"
,"R_3M":1.87
,"R_6M":2.13
,"R_1Y":2.38
,"R_2Y":2.63
,"R_3Y":2.90
,"R_5Y":3.33
,"R_7Y":3.62
,"R_10Y":4.01
},
{
"date":"2008-08-01"
,"R_3M":1.66
,"R_6M":1.88
,"R_1Y":2.25
,"R_2Y":2.51
,"R_3Y":2.79
,"R_5Y":3.23
,"R_7Y":3.54
,"R_10Y":3.97
},
{
"date":"2008-09-02"
,"R_3M":1.72
,"R_6M":1.93
,"R_1Y":2.12
,"R_2Y":2.26
,"R_3Y":2.51
,"R_5Y":3.00
,"R_7Y":3.37
,"R_10Y":3.74
},
{
"date":"2008-10-01"
,"R_3M":0.85
,"R_6M":1.49
,"R_1Y":1.72
,"R_2Y":1.82
,"R_3Y":2.12
,"R_5Y":2.87
,"R_7Y":3.29
,"R_10Y":3.77
},
{
"date":"2008-11-03"
,"R_3M":0.49
,"R_6M":1.07
,"R_1Y":1.31
,"R_2Y":1.45
,"R_3Y":1.69
,"R_5Y":2.71
,"R_7Y":3.21
,"R_10Y":3.96
},
{
"date":"2008-12-01"
,"R_3M":0.07
,"R_6M":0.44
,"R_1Y":0.81
,"R_2Y":0.90
,"R_3Y":1.16
,"R_5Y":1.71
,"R_7Y":2.13
,"R_10Y":2.72
},
{
"date":"2009-01-02"
,"R_3M":0.08
,"R_6M":0.28
,"R_1Y":0.40
,"R_2Y":0.88
,"R_3Y":1.14
,"R_5Y":1.72
,"R_7Y":2.07
,"R_10Y":2.46
},
{
"date":"2009-02-02"
,"R_3M":0.27
,"R_6M":0.39
,"R_1Y":0.51
,"R_2Y":0.89
,"R_3Y":1.27
,"R_5Y":1.75
,"R_7Y":2.16
,"R_10Y":2.76
},
{
"date":"2009-03-02"
,"R_3M":0.28
,"R_6M":0.45
,"R_1Y":0.67
,"R_2Y":0.89
,"R_3Y":1.28
,"R_5Y":1.86
,"R_7Y":2.54
,"R_10Y":2.91
},
{
"date":"2009-04-01"
,"R_3M":0.22
,"R_6M":0.41
,"R_1Y":0.58
,"R_2Y":0.83
,"R_3Y":1.16
,"R_5Y":1.65
,"R_7Y":2.25
,"R_10Y":2.68
},
{
"date":"2009-05-01"
,"R_3M":0.16
,"R_6M":0.31
,"R_1Y":0.49
,"R_2Y":0.92
,"R_3Y":1.39
,"R_5Y":2.03
,"R_7Y":2.72
,"R_10Y":3.21
},
{
"date":"2009-06-01"
,"R_3M":0.13
,"R_6M":0.29
,"R_1Y":0.48
,"R_2Y":0.97
,"R_3Y":1.52
,"R_5Y":2.55
,"R_7Y":3.28
,"R_10Y":3.71
},
{
"date":"2009-07-01"
,"R_3M":0.17
,"R_6M":0.33
,"R_1Y":0.54
,"R_2Y":1.05
,"R_3Y":1.57
,"R_5Y":2.51
,"R_7Y":3.20
,"R_10Y":3.55
},
{
"date":"2009-08-03"
,"R_3M":0.19
,"R_6M":0.28
,"R_1Y":0.48
,"R_2Y":1.18
,"R_3Y":1.72
,"R_5Y":2.66
,"R_7Y":3.30
,"R_10Y":3.66
},
{
"date":"2009-09-01"
,"R_3M":0.14
,"R_6M":0.23
,"R_1Y":0.43
,"R_2Y":0.92
,"R_3Y":1.44
,"R_5Y":2.33
,"R_7Y":2.99
,"R_10Y":3.38
},
{
"date":"2009-10-01"
,"R_3M":0.10
,"R_6M":0.15
,"R_1Y":0.37
,"R_2Y":0.87
,"R_3Y":1.36
,"R_5Y":2.20
,"R_7Y":2.82
,"R_10Y":3.21
},
{
"date":"2009-11-02"
,"R_3M":0.06
,"R_6M":0.17
,"R_1Y":0.38
,"R_2Y":0.92
,"R_3Y":1.44
,"R_5Y":2.33
,"R_7Y":3.00
,"R_10Y":3.45
},
{
"date":"2009-12-01"
,"R_3M":0.06
,"R_6M":0.15
,"R_1Y":0.26
,"R_2Y":0.67
,"R_3Y":1.14
,"R_5Y":2.03
,"R_7Y":2.74
,"R_10Y":3.28
},
{
"date":"2010-01-04"
,"R_3M":0.08
,"R_6M":0.18
,"R_1Y":0.45
,"R_2Y":1.09
,"R_3Y":1.66
,"R_5Y":2.65
,"R_7Y":3.36
,"R_10Y":3.85
},
{
"date":"2010-02-01"
,"R_3M":0.10
,"R_6M":0.17
,"R_1Y":0.33
,"R_2Y":0.86
,"R_3Y":1.41
,"R_5Y":2.38
,"R_7Y":3.12
,"R_10Y":3.68
},
{
"date":"2010-03-01"
,"R_3M":0.13
,"R_6M":0.19
,"R_1Y":0.32
,"R_2Y":0.80
,"R_3Y":1.34
,"R_5Y":2.28
,"R_7Y":3.04
,"R_10Y":3.61
},
{
"date":"2010-04-01"
,"R_3M":0.16
,"R_6M":0.24
,"R_1Y":0.42
,"R_2Y":1.05
,"R_3Y":1.63
,"R_5Y":2.59
,"R_7Y":3.32
,"R_10Y":3.89
},
{
"date":"2010-05-03"
,"R_3M":0.17
,"R_6M":0.25
,"R_1Y":0.43
,"R_2Y":1.00
,"R_3Y":1.56
,"R_5Y":2.47
,"R_7Y":3.16
,"R_10Y":3.72
},
{
"date":"2010-06-01"
,"R_3M":0.16
,"R_6M":0.23
,"R_1Y":0.35
,"R_2Y":0.78
,"R_3Y":1.26
,"R_5Y":2.09
,"R_7Y":2.74
,"R_10Y":3.29
},
{
"date":"2010-07-01"
,"R_3M":0.17
,"R_6M":0.22
,"R_1Y":0.32
,"R_2Y":0.63
,"R_3Y":1.01
,"R_5Y":1.80
,"R_7Y":2.43
,"R_10Y":2.96
},
{
"date":"2010-08-02"
,"R_3M":0.16
,"R_6M":0.20
,"R_1Y":0.28
,"R_2Y":0.56
,"R_3Y":0.85
,"R_5Y":1.64
,"R_7Y":2.35
,"R_10Y":2.99
},
{
"date":"2010-09-01"
,"R_3M":0.13
,"R_6M":0.19
,"R_1Y":0.25
,"R_2Y":0.50
,"R_3Y":0.75
,"R_5Y":1.41
,"R_7Y":2.02
,"R_10Y":2.58
},
{
"date":"2010-10-01"
,"R_3M":0.16
,"R_6M":0.19
,"R_1Y":0.26
,"R_2Y":0.42
,"R_3Y":0.63
,"R_5Y":1.26
,"R_7Y":1.90
,"R_10Y":2.54
},
{
"date":"2010-11-01"
,"R_3M":0.13
,"R_6M":0.16
,"R_1Y":0.22
,"R_2Y":0.34
,"R_3Y":0.50
,"R_5Y":1.17
,"R_7Y":1.90
,"R_10Y":2.66
},
{
"date":"2010-12-01"
,"R_3M":0.16
,"R_6M":0.20
,"R_1Y":0.28
,"R_2Y":0.53
,"R_3Y":0.84
,"R_5Y":1.64
,"R_7Y":2.33
,"R_10Y":2.97
},
{
"date":"2011-01-03"
,"R_3M":0.15
,"R_6M":0.19
,"R_1Y":0.29
,"R_2Y":0.61
,"R_3Y":1.03
,"R_5Y":2.02
,"R_7Y":2.74
,"R_10Y":3.36
},
{
"date":"2011-02-01"
,"R_3M":0.15
,"R_6M":0.18
,"R_1Y":0.27
,"R_2Y":0.61
,"R_3Y":1.04
,"R_5Y":2.02
,"R_7Y":2.79
,"R_10Y":3.48
},
{
"date":"2011-03-01"
,"R_3M":0.14
,"R_6M":0.16
,"R_1Y":0.25
,"R_2Y":0.66
,"R_3Y":1.15
,"R_5Y":2.11
,"R_7Y":2.81
,"R_10Y":3.41
},
{
"date":"2011-04-01"
,"R_3M":0.07
,"R_6M":0.15
,"R_1Y":0.27
,"R_2Y":0.80
,"R_3Y":1.31
,"R_5Y":2.24
,"R_7Y":2.90
,"R_10Y":3.46
},
{
"date":"2011-05-02"
,"R_3M":0.05
,"R_6M":0.10
,"R_1Y":0.22
,"R_2Y":0.61
,"R_3Y":1.01
,"R_5Y":1.96
,"R_7Y":2.66
,"R_10Y":3.31
},
{
"date":"2011-06-01"
,"R_3M":0.05
,"R_6M":0.11
,"R_1Y":0.18
,"R_2Y":0.44
,"R_3Y":0.74
,"R_5Y":1.60
,"R_7Y":2.28
,"R_10Y":2.96
},
{
"date":"2011-07-01"
,"R_3M":0.02
,"R_6M":0.10
,"R_1Y":0.20
,"R_2Y":0.50
,"R_3Y":0.85
,"R_5Y":1.80
,"R_7Y":2.54
,"R_10Y":3.22
},
{
"date":"2011-08-01"
,"R_3M":0.10
,"R_6M":0.16
,"R_1Y":0.22
,"R_2Y":0.38
,"R_3Y":0.55
,"R_5Y":1.32
,"R_7Y":2.05
,"R_10Y":2.77
},
{
"date":"2011-09-01"
,"R_3M":0.02
,"R_6M":0.05
,"R_1Y":0.10
,"R_2Y":0.19
,"R_3Y":0.31
,"R_5Y":0.90
,"R_7Y":1.49
,"R_10Y":2.15
},
{
"date":"2011-10-03"
,"R_3M":0.02
,"R_6M":0.06
,"R_1Y":0.12
,"R_2Y":0.24
,"R_3Y":0.39
,"R_5Y":0.87
,"R_7Y":1.33
,"R_10Y":1.80
},
{
"date":"2011-11-01"
,"R_3M":0.01
,"R_6M":0.05
,"R_1Y":0.13
,"R_2Y":0.23
,"R_3Y":0.38
,"R_5Y":0.90
,"R_7Y":1.45
,"R_10Y":2.01
},
{
"date":"2011-12-01"
,"R_3M":0.01
,"R_6M":0.05
,"R_1Y":0.12
,"R_2Y":0.27
,"R_3Y":0.41
,"R_5Y":0.97
,"R_7Y":1.55
,"R_10Y":2.11
},
{
"date":"2012-01-03"
,"R_3M":0.02
,"R_6M":0.06
,"R_1Y":0.12
,"R_2Y":0.27
,"R_3Y":0.40
,"R_5Y":0.89
,"R_7Y":1.41
,"R_10Y":1.97
},
{
"date":"2012-02-01"
,"R_3M":0.06
,"R_6M":0.09
,"R_1Y":0.13
,"R_2Y":0.23
,"R_3Y":0.31
,"R_5Y":0.72
,"R_7Y":1.27
,"R_10Y":1.87
},
{
"date":"2012-03-01"
,"R_3M":0.08
,"R_6M":0.13
,"R_1Y":0.18
,"R_2Y":0.30
,"R_3Y":0.43
,"R_5Y":0.89
,"R_7Y":1.44
,"R_10Y":2.03
},
{
"date":"2012-04-02"
,"R_3M":0.08
,"R_6M":0.14
,"R_1Y":0.18
,"R_2Y":0.33
,"R_3Y":0.50
,"R_5Y":1.03
,"R_7Y":1.60
,"R_10Y":2.22
},
{
"date":"2012-05-01"
,"R_3M":0.09
,"R_6M":0.15
,"R_1Y":0.19
,"R_2Y":0.27
,"R_3Y":0.39
,"R_5Y":0.84
,"R_7Y":1.35
,"R_10Y":1.98
},
{
"date":"2012-06-01"
,"R_3M":0.07
,"R_6M":0.12
,"R_1Y":0.17
,"R_2Y":0.25
,"R_3Y":0.34
,"R_5Y":0.62
,"R_7Y":0.93
,"R_10Y":1.47
},
{
"date":"2012-07-02"
,"R_3M":0.10
,"R_6M":0.15
,"R_1Y":0.21
,"R_2Y":0.30
,"R_3Y":0.39
,"R_5Y":0.67
,"R_7Y":1.04
,"R_10Y":1.61
},
{
"date":"2012-08-01"
,"R_3M":0.10
,"R_6M":0.14
,"R_1Y":0.17
,"R_2Y":0.24
,"R_3Y":0.32
,"R_5Y":0.63
,"R_7Y":1.03
,"R_10Y":1.56
},
{
"date":"2012-09-04"
,"R_3M":0.10
,"R_6M":0.14
,"R_1Y":0.16
,"R_2Y":0.23
,"R_3Y":0.31
,"R_5Y":0.62
,"R_7Y":1.03
,"R_10Y":1.59
},
{
"date":"2012-10-01"
,"R_3M":0.09
,"R_6M":0.14
,"R_1Y":0.17
,"R_2Y":0.25
,"R_3Y":0.31
,"R_5Y":0.62
,"R_7Y":1.04
,"R_10Y":1.64
},
{
"date":"2012-11-01"
,"R_3M":0.09
,"R_6M":0.15
,"R_1Y":0.18
,"R_2Y":0.30
,"R_3Y":0.38
,"R_5Y":0.73
,"R_7Y":1.16
,"R_10Y":1.75
},
{
"date":"2012-12-03"
,"R_3M":0.10
,"R_6M":0.14
,"R_1Y":0.18
,"R_2Y":0.25
,"R_3Y":0.34
,"R_5Y":0.63
,"R_7Y":1.05
,"R_10Y":1.63
},
{
"date":"2013-01-02"
,"R_3M":0.08
,"R_6M":0.12
,"R_1Y":0.15
,"R_2Y":0.27
,"R_3Y":0.37
,"R_5Y":0.76
,"R_7Y":1.25
,"R_10Y":1.86
},
{
"date":"2013-02-01"
,"R_3M":0.06
,"R_6M":0.11
,"R_1Y":0.15
,"R_2Y":0.27
,"R_3Y":0.40
,"R_5Y":0.88
,"R_7Y":1.40
,"R_10Y":2.04
},
{
"date":"2013-03-01"
,"R_3M":0.11
,"R_6M":0.12
,"R_1Y":0.16
,"R_2Y":0.25
,"R_3Y":0.35
,"R_5Y":0.75
,"R_7Y":1.23
,"R_10Y":1.86
},
{
"date":"2013-04-01"
,"R_3M":0.08
,"R_6M":0.11
,"R_1Y":0.14
,"R_2Y":0.23
,"R_3Y":0.36
,"R_5Y":0.76
,"R_7Y":1.23
,"R_10Y":1.86
},
{
"date":"2013-05-01"
,"R_3M":0.06
,"R_6M":0.08
,"R_1Y":0.11
,"R_2Y":0.20
,"R_3Y":0.30
,"R_5Y":0.65
,"R_7Y":1.07
,"R_10Y":1.66
},
{
"date":"2013-06-03"
,"R_3M":0.05
,"R_6M":0.08
,"R_1Y":0.14
,"R_2Y":0.30
,"R_3Y":0.50
,"R_5Y":1.03
,"R_7Y":1.53
,"R_10Y":2.13
},
{
"date":"2013-07-01"
,"R_3M":0.04
,"R_6M":0.09
,"R_1Y":0.15
,"R_2Y":0.34
,"R_3Y":0.65
,"R_5Y":1.39
,"R_7Y":1.93
,"R_10Y":2.50
},
{
"date":"2013-08-01"
,"R_3M":0.04
,"R_6M":0.08
,"R_1Y":0.13
,"R_2Y":0.35
,"R_3Y":0.65
,"R_5Y":1.49
,"R_7Y":2.15
,"R_10Y":2.74
},
{
"date":"2013-09-03"
,"R_3M":0.02
,"R_6M":0.05
,"R_1Y":0.14
,"R_2Y":0.43
,"R_3Y":0.83
,"R_5Y":1.68
,"R_7Y":2.31
,"R_10Y":2.86
},
{
"date":"2013-10-01"
,"R_3M":0.02
,"R_6M":0.04
,"R_1Y":0.10
,"R_2Y":0.33
,"R_3Y":0.66
,"R_5Y":1.42
,"R_7Y":2.04
,"R_10Y":2.66
},
{
"date":"2013-11-01"
,"R_3M":0.04
,"R_6M":0.08
,"R_1Y":0.10
,"R_2Y":0.33
,"R_3Y":0.61
,"R_5Y":1.37
,"R_7Y":2.03
,"R_10Y":2.65
},
{
"date":"2013-12-02"
,"R_3M":0.05
,"R_6M":0.10
,"R_1Y":0.13
,"R_2Y":0.30
,"R_3Y":0.59
,"R_5Y":1.43
,"R_7Y":2.16
,"R_10Y":2.81
},
{
"date":"2014-01-02"
,"R_3M":0.07
,"R_6M":0.09
,"R_1Y":0.13
,"R_2Y":0.39
,"R_3Y":0.76
,"R_5Y":1.72
,"R_7Y":2.41
,"R_10Y":3.00
},
{
"date":"2014-02-03"
,"R_3M":0.05
,"R_6M":0.07
,"R_1Y":0.11
,"R_2Y":0.30
,"R_3Y":0.64
,"R_5Y":1.44
,"R_7Y":2.07
,"R_10Y":2.61
},
{
"date":"2014-03-03"
,"R_3M":0.05
,"R_6M":0.08
,"R_1Y":0.12
,"R_2Y":0.32
,"R_3Y":0.66
,"R_5Y":1.46
,"R_7Y":2.07
,"R_10Y":2.60
},
{
"date":"2014-04-01"
,"R_3M":0.04
,"R_6M":0.06
,"R_1Y":0.13
,"R_2Y":0.44
,"R_3Y":0.91
,"R_5Y":1.74
,"R_7Y":2.32
,"R_10Y":2.77
},
{
"date":"2014-05-01"
,"R_3M":0.03
,"R_6M":0.05
,"R_1Y":0.10
,"R_2Y":0.41
,"R_3Y":0.86
,"R_5Y":1.66
,"R_7Y":2.21
,"R_10Y":2.63
},
{
"date":"2014-06-02"
,"R_3M":0.04
,"R_6M":0.06
,"R_1Y":0.10
,"R_2Y":0.39
,"R_3Y":0.83
,"R_5Y":1.60
,"R_7Y":2.12
,"R_10Y":2.54
},
{
"date":"2014-07-01"
,"R_3M":0.02
,"R_6M":0.06
,"R_1Y":0.11
,"R_2Y":0.47
,"R_3Y":0.90
,"R_5Y":1.66
,"R_7Y":2.17
,"R_10Y":2.58
},
{
"date":"2014-08-01"
,"R_3M":0.03
,"R_6M":0.05
,"R_1Y":0.13
,"R_2Y":0.47
,"R_3Y":0.94
,"R_5Y":1.67
,"R_7Y":2.16
,"R_10Y":2.52
},
{
"date":"2014-09-02"
,"R_3M":0.03
,"R_6M":0.05
,"R_1Y":0.10
,"R_2Y":0.53
,"R_3Y":0.99
,"R_5Y":1.69
,"R_7Y":2.11
,"R_10Y":2.42
},
{
"date":"2014-10-01"
,"R_3M":0.02
,"R_6M":0.04
,"R_1Y":0.10
,"R_2Y":0.53
,"R_3Y":1.00
,"R_5Y":1.69
,"R_7Y":2.12
,"R_10Y":2.42
},
{
"date":"2014-11-03"
,"R_3M":0.02
,"R_6M":0.07
,"R_1Y":0.12
,"R_2Y":0.52
,"R_3Y":0.96
,"R_5Y":1.63
,"R_7Y":2.05
,"R_10Y":2.36
},
{
"date":"2014-12-01"
,"R_3M":0.03
,"R_6M":0.08
,"R_1Y":0.13
,"R_2Y":0.49
,"R_3Y":0.90
,"R_5Y":1.52
,"R_7Y":1.93
,"R_10Y":2.22
},
{
"date":"2015-01-02"
,"R_3M":0.02
,"R_6M":0.11
,"R_1Y":0.25
,"R_2Y":0.66
,"R_3Y":1.07
,"R_5Y":1.61
,"R_7Y":1.92
,"R_10Y":2.12
},
{
"date":"2015-02-02"
,"R_3M":0.02
,"R_6M":0.07
,"R_1Y":0.17
,"R_2Y":0.49
,"R_3Y":0.78
,"R_5Y":1.19
,"R_7Y":1.49
,"R_10Y":1.68
},
{
"date":"2015-03-02"
,"R_3M":0.02
,"R_6M":0.08
,"R_1Y":0.22
,"R_2Y":0.66
,"R_3Y":1.06
,"R_5Y":1.57
,"R_7Y":1.89
,"R_10Y":2.08
},
{
"date":"2015-04-01"
,"R_3M":0.03
,"R_6M":0.12
,"R_1Y":0.27
,"R_2Y":0.55
,"R_3Y":0.86
,"R_5Y":1.32
,"R_7Y":1.65
,"R_10Y":1.87
},
{
"date":"2015-05-01"
,"R_3M":0.01
,"R_6M":0.05
,"R_1Y":0.25
,"R_2Y":0.60
,"R_3Y":0.97
,"R_5Y":1.50
,"R_7Y":1.87
,"R_10Y":2.12
},
{
"date":"2015-06-01"
,"R_3M":0.02
,"R_6M":0.07
,"R_1Y":0.26
,"R_2Y":0.64
,"R_3Y":0.99
,"R_5Y":1.55
,"R_7Y":1.93
,"R_10Y":2.19
},
{
"date":"2015-07-01"
,"R_3M":0.01
,"R_6M":0.13
,"R_1Y":0.28
,"R_2Y":0.69
,"R_3Y":1.08
,"R_5Y":1.70
,"R_7Y":2.14
,"R_10Y":2.43
},
{
"date":"2015-08-03"
,"R_3M":0.08
,"R_6M":0.17
,"R_1Y":0.33
,"R_2Y":0.68
,"R_3Y":0.99
,"R_5Y":1.52
,"R_7Y":1.89
,"R_10Y":2.16
},
{
"date":"2015-09-01"
,"R_3M":0.03
,"R_6M":0.26
,"R_1Y":0.39
,"R_2Y":0.70
,"R_3Y":1.03
,"R_5Y":1.49
,"R_7Y":1.89
,"R_10Y":2.17
},
{
"date":"2015-10-01"
,"R_3M":0.00
,"R_6M":0.08
,"R_1Y":0.31
,"R_2Y":0.64
,"R_3Y":0.92
,"R_5Y":1.37
,"R_7Y":1.75
,"R_10Y":2.05
},
{
"date":"2015-11-02"
,"R_3M":0.08
,"R_6M":0.27
,"R_1Y":0.37
,"R_2Y":0.77
,"R_3Y":1.08
,"R_5Y":1.57
,"R_7Y":1.93
,"R_10Y":2.20
},
{
"date":"2015-12-01"
,"R_3M":0.21
,"R_6M":0.42
,"R_1Y":0.51
,"R_2Y":0.91
,"R_3Y":1.19
,"R_5Y":1.59
,"R_7Y":1.93
,"R_10Y":2.15
},
{
"date":"2016-01-04"
,"R_3M":0.22
,"R_6M":0.49
,"R_1Y":0.61
,"R_2Y":1.02
,"R_3Y":1.31
,"R_5Y":1.73
,"R_7Y":2.06
,"R_10Y":2.24
},
{
"date":"2016-02-01"
,"R_3M":0.35
,"R_6M":0.47
,"R_1Y":0.47
,"R_2Y":0.81
,"R_3Y":1.01
,"R_5Y":1.38
,"R_7Y":1.72
,"R_10Y":1.97
},
{
"date":"2016-03-01"
,"R_3M":0.33
,"R_6M":0.50
,"R_1Y":0.68
,"R_2Y":0.85
,"R_3Y":0.98
,"R_5Y":1.31
,"R_7Y":1.62
,"R_10Y":1.83
},
{
"date":"2016-04-01"
,"R_3M":0.23
,"R_6M":0.40
,"R_1Y":0.62
,"R_2Y":0.76
,"R_3Y":0.90
,"R_5Y":1.24
,"R_7Y":1.56
,"R_10Y":1.79
},
{
"date":"2016-05-02"
,"R_3M":0.22
,"R_6M":0.41
,"R_1Y":0.55
,"R_2Y":0.80
,"R_3Y":0.96
,"R_5Y":1.32
,"R_7Y":1.64
,"R_10Y":1.88
},
{
"date":"2016-06-01"
,"R_3M":0.30
,"R_6M":0.49
,"R_1Y":0.70
,"R_2Y":0.91
,"R_3Y":1.07
,"R_5Y":1.39
,"R_7Y":1.67
,"R_10Y":1.85
},
{
"date":"2016-07-01"
,"R_3M":0.28
,"R_6M":0.37
,"R_1Y":0.45
,"R_2Y":0.59
,"R_3Y":0.71
,"R_5Y":1.00
,"R_7Y":1.27
,"R_10Y":1.46
},
{
"date":"2016-08-01"
,"R_3M":0.29
,"R_6M":0.40
,"R_1Y":0.50
,"R_2Y":0.67
,"R_3Y":0.78
,"R_5Y":1.06
,"R_7Y":1.33
,"R_10Y":1.51
},
{
"date":"2016-09-01"
,"R_3M":0.33
,"R_6M":0.47
,"R_1Y":0.60
,"R_2Y":0.78
,"R_3Y":0.91
,"R_5Y":1.18
,"R_7Y":1.44
,"R_10Y":1.57
},
{
"date":"2016-10-03"
,"R_3M":0.32
,"R_6M":0.48
,"R_1Y":0.63
,"R_2Y":0.80
,"R_3Y":0.91
,"R_5Y":1.18
,"R_7Y":1.46
,"R_10Y":1.63
},
{
"date":"2016-11-01"
,"R_3M":0.35
,"R_6M":0.50
,"R_1Y":0.65
,"R_2Y":0.83
,"R_3Y":0.99
,"R_5Y":1.30
,"R_7Y":1.61
,"R_10Y":1.83
},
{
"date":"2016-12-01"
,"R_3M":0.48
,"R_6M":0.60
,"R_1Y":0.82
,"R_2Y":1.14
,"R_3Y":1.45
,"R_5Y":1.90
,"R_7Y":2.25
,"R_10Y":2.45
},
{
"date":"2017-01-03"
,"R_3M":0.53
,"R_6M":0.65
,"R_1Y":0.89
,"R_2Y":1.22
,"R_3Y":1.50
,"R_5Y":1.94
,"R_7Y":2.26
,"R_10Y":2.45
},
{
"date":"2017-02-01"
,"R_3M":0.51
,"R_6M":0.65
,"R_1Y":0.83
,"R_2Y":1.22
,"R_3Y":1.49
,"R_5Y":1.93
,"R_7Y":2.27
,"R_10Y":2.48
},
{
"date":"2017-03-01"
,"R_3M":0.63
,"R_6M":0.79
,"R_1Y":0.92
,"R_2Y":1.29
,"R_3Y":1.57
,"R_5Y":1.99
,"R_7Y":2.29
,"R_10Y":2.46
},
{
"date":"2017-04-03"
,"R_3M":0.79
,"R_6M":0.92
,"R_1Y":1.02
,"R_2Y":1.24
,"R_3Y":1.47
,"R_5Y":1.88
,"R_7Y":2.16
,"R_10Y":2.35
},
{
"date":"2017-05-01"
,"R_3M":0.83
,"R_6M":0.98
,"R_1Y":1.09
,"R_2Y":1.28
,"R_3Y":1.48
,"R_5Y":1.84
,"R_7Y":2.13
,"R_10Y":2.33
},
{
"date":"2017-06-01"
,"R_3M":0.98
,"R_6M":1.07
,"R_1Y":1.16
,"R_2Y":1.28
,"R_3Y":1.45
,"R_5Y":1.76
,"R_7Y":2.02
,"R_10Y":2.21
},
{
"date":"2017-07-03"
,"R_3M":1.06
,"R_6M":1.13
,"R_1Y":1.24
,"R_2Y":1.41
,"R_3Y":1.60
,"R_5Y":1.93
,"R_7Y":2.19
,"R_10Y":2.35
},
{
"date":"2017-08-01"
,"R_3M":1.08
,"R_6M":1.15
,"R_1Y":1.22
,"R_2Y":1.34
,"R_3Y":1.50
,"R_5Y":1.80
,"R_7Y":2.07
,"R_10Y":2.26
},
{
"date":"2017-09-01"
,"R_3M":1.02
,"R_6M":1.10
,"R_1Y":1.24
,"R_2Y":1.35
,"R_3Y":1.46
,"R_5Y":1.73
,"R_7Y":1.99
,"R_10Y":2.16
},
{
"date":"2017-10-02"
,"R_3M":1.01
,"R_6M":1.22
,"R_1Y":1.31
,"R_2Y":1.49
,"R_3Y":1.63
,"R_5Y":1.94
,"R_7Y":2.17
,"R_10Y":2.34
},
{
"date":"2017-11-01"
,"R_3M":1.18
,"R_6M":1.30
,"R_1Y":1.46
,"R_2Y":1.61
,"R_3Y":1.74
,"R_5Y":2.01
,"R_7Y":2.22
,"R_10Y":2.37
},
{
"date":"2017-12-01"
,"R_3M":1.27
,"R_6M":1.45
,"R_1Y":1.62
,"R_2Y":1.78
,"R_3Y":1.90
,"R_5Y":2.13
,"R_7Y":2.28
,"R_10Y":2.37
},
{
"date":"2018-01-02"
,"R_3M":1.44
,"R_6M":1.61
,"R_1Y":1.83
,"R_2Y":1.92
,"R_3Y":2.01
,"R_5Y":2.25
,"R_7Y":2.38
,"R_10Y":2.46
},
{
"date":"2018-02-01"
,"R_3M":1.48
,"R_6M":1.64
,"R_1Y":1.89
,"R_2Y":2.16
,"R_3Y":2.33
,"R_5Y":2.56
,"R_7Y":2.72
,"R_10Y":2.78
},
{
"date":"2018-03-01"
,"R_3M":1.63
,"R_6M":1.85
,"R_1Y":2.05
,"R_2Y":2.22
,"R_3Y":2.36
,"R_5Y":2.58
,"R_7Y":2.74
,"R_10Y":2.81
},
{
"date":"2018-04-02"
,"R_3M":1.77
,"R_6M":1.92
,"R_1Y":2.08
,"R_2Y":2.25
,"R_3Y":2.37
,"R_5Y":2.55
,"R_7Y":2.67
,"R_10Y":2.73
},
{
"date":"2018-05-01"
,"R_3M":1.85
,"R_6M":2.05
,"R_1Y":2.26
,"R_2Y":2.50
,"R_3Y":2.66
,"R_5Y":2.82
,"R_7Y":2.93
,"R_10Y":2.97
},
{
"date":"2018-06-01"
,"R_3M":1.92
,"R_6M":2.10
,"R_1Y":2.28
,"R_2Y":2.47
,"R_3Y":2.61
,"R_5Y":2.74
,"R_7Y":2.85
,"R_10Y":2.89
},
{
"date":"2018-07-02"
,"R_3M":1.98
,"R_6M":2.14
,"R_1Y":2.34
,"R_2Y":2.57
,"R_3Y":2.65
,"R_5Y":2.75
,"R_7Y":2.83
,"R_10Y":2.87
},
{
"date":"2018-08-01"
,"R_3M":2.03
,"R_6M":2.22
,"R_1Y":2.45
,"R_2Y":2.67
,"R_3Y":2.78
,"R_5Y":2.87
,"R_7Y":2.96
,"R_10Y":3.00
},
{
"date":"2018-09-04"
,"R_3M":2.13
,"R_6M":2.29
,"R_1Y":2.49
,"R_2Y":2.66
,"R_3Y":2.73
,"R_5Y":2.78
,"R_7Y":2.85
,"R_10Y":2.90
},
{
"date":"2018-10-01"
,"R_3M":2.23
,"R_6M":2.40
,"R_1Y":2.60
,"R_2Y":2.82
,"R_3Y":2.90
,"R_5Y":2.96
,"R_7Y":3.04
,"R_10Y":3.09
},
{
"date":"2018-11-01"
,"R_3M":2.32
,"R_6M":2.49
,"R_1Y":2.67
,"R_2Y":2.84
,"R_3Y":2.91
,"R_5Y":2.96
,"R_7Y":3.06
,"R_10Y":3.14
}]
var margin = {top: 50, right: 50, bottom: 50, left: 50},
width = 960 - margin.left - margin.right,
height = 500 - margin.bottom - margin.top;
// set up our svg container
var svg = d3.select("body").append("svg")
.attr("width", width + margin.left + margin.right)
.attr("height", height + margin.top + margin.bottom)
.append("g")
.attr("transform", "translate(" + margin.left + "," + margin.top + ")")
.attr("width", width )
.attr("height", height)
//set up our plot area for the yield curve
// this will be separate from the time slider built above
var plot = svg.append("g")
.attr("width", width )
.attr("height", height - 20);
var yieldCurve = plot.append("path")
.attr("class", "yieldcurve");
var curveX = d3.scale.linear()
.domain([0,10])
.range([0,width]);
var curveY = d3.scale.linear()
.domain([0,20])
.range([height - 50 , 0])
var curveXaxis = plot.append("g")
.attr("class", "plot x axis")
.attr("transform", "translate(0," + (+height - 50) + ")")
.call(d3.svg.axis()
.scale(curveX)
.orient("bottom"))
var curveYaxis = plot.append("g")
.attr("class", "plot y axis")
//.attr("transform", "translate(0," + height + ")")
.call(d3.svg.axis()
.scale(curveY)
.orient("left"))
var line = d3.svg.line()
.x(function(d) { return curveX(d.maturity); })
.y(function(d) { return curveY(d.yield); });
// setup our brush as slider for date selection
var x = d3.time.scale()
.domain(d3.extent(data,function(d){return new Date(d.date)}))
.range([0, width])
.clamp(true);
var brush = d3.svg.brush()
.x(x)
.extent([x.domain()[0],x.domain()[0]])
.on("brush", brushed)
.on("brushend",brushended)
svg.append("g")
.attr("class", "x axis")
.attr("transform", "translate(0," + height + ")")
.call(d3.svg.axis()
.scale(x)
.orient("bottom")
.ticks(d3.time.years)
.tickFormat(d3.time.format("%Y")))
.select(".domain")
.select(function() { return this.parentNode.appendChild(this.cloneNode(true)); })
.attr("class", "halo")
var slider = svg.append("g")
.attr("class", "slider")
.call(brush)
slider.selectAll(".extent,.resize")
.remove();
slider.select(".background")
.attr("height", height);
var handle = slider.append("circle")
.attr("class", "handle")
.attr("transform", "translate(0," + height + ")")
.attr("r", 9);
//update graph when first open
slider
.call(brush.event)
.transition() // gratuitous intro!
.duration(10000)
.call(brush.extent([x.domain()[1],x.domain()[1]]))
.call(brush.event);
function brushed() {
var value;
if(typeof brush.extent() !== "undefined"){
value = brush.extent()[0];
if (d3.event.sourceEvent) { // not a programmatic event
value = d3.time.day.offset(d3.time.month.round(x.invert(d3.mouse(this)[0])),-1);
brush.extent([value, value]);
}
} else value = x.domain()[0];
updateGraph( value );
handle.attr("cx", x(value));
}
function brushended(){
console.log("ended")
}
function updateGraph( value ){
var curvedata = data.filter(function(d){return d3.time.format("%Y-%m")(new Date(d.date))== d3.time.format("%Y-%m")(value)})[0];
var curvearray = [];
Object.keys(curvedata).map(function(key){
if(key !== "date"){
curvearray.push({
maturity : +key.replace(/(R_)([0-9]*)([M,Y])/,"$2") / +{M:12,Y:1}[key.replace(/(R_)([0-9])*([M,Y])/,"$3")] ,
yield : curvedata[key]
})
}
})
yieldCurve.datum(curvearray)
.attr("d", line)
}
</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment