Skip to content

Instantly share code, notes, and snippets.

@timelyportfolio
Last active December 20, 2015 09:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save timelyportfolio/6106779 to your computer and use it in GitHub Desktop.
Save timelyportfolio/6106779 to your computer and use it in GitHub Desktop.
require(rCharts)
rChart <- rCharts$new()
rChart$setLib('http://timelyportfolio.github.io/rCharts_d3_horizon/libraries/widgets/d3_horizon')
rChart$setTemplate(script = 'http://timelyportfolio.github.io/rCharts_d3_horizon/libraries/widgets/d3_horizon/layouts/d3_horizon_smallmultiple.html')
rChart$set(
bands = 3,
mode = "mirror",
interpolate = "basis",
width = 700,
height = 300
)
require(quantmod)
#get sp500 prices and convert them to monthly
SP500 <- to.monthly(
getSymbols("^GSPC", from = "1990-01-01", auto.assign = FALSE)
)[,4]
Nasdaq <- to.monthly(
getSymbols("^IXIC", from = "1990-01-01", auto.assign = FALSE)
)[,4]
Dax <- to.monthly(
getSymbols("^GDAXI", from = "1990-01-01", auto.assign = FALSE)
)[,4]
#get 12 month rolling return
prices <- merge(SP500,Nasdaq,Dax)
returns <- na.omit(ROC(prices, type = "discrete", n = 12))
returns.df <- cbind(
as.numeric(as.POSIXct(as.Date(index(returns)))),
coredata(returns)
)
colnames(returns.df) <- c("date","SP500","Nasdaq","DAX")
#supply the data to our dataless but no longer naked rChart
rChart$set(data = returns.df)
rChart$set(x = "date")
rChart
<!doctype HTML>
<meta charset = 'utf-8'>
<html>
<head>
<link rel='stylesheet' href="http://netdna.bootstrapcdn.com/bootswatch/2.3.1/cosmo/bootstrap.min.css">
<link rel="stylesheet" href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.1/css/bootstrap-responsive.min.css" >
<link rel='stylesheet' href="http://twitter.github.io/bootstrap/assets/js/google-code-prettify/prettify.css">
<link rel='stylesheet' href="http://aozora.github.io/bootplus/assets/css/docs.css">
<script src='http://d3js.org/d3.v3.min.js' type='text/javascript'></script>
<script src='http://timelyportfolio.github.io/rCharts_d3_horizon/libraries/widgets/d3_horizon/js/horizon.js' type='text/javascript'></script>
<style>
.rChart {
display: block
margin: auto auto;
width: 100%;
height: 400px;
}
/*
body {
margin-top: 60px;
}
*/
</style>
</head>
<body>
<div class='container'>
<div class='row'>
<div class='span8'>
<div class="bs-docs-example">
<div id='chartef455ec649e' class='rChart nvd3Plot d3_horizon'></div>
<br/>
<pre><code class='r'>require(rCharts)
rChart &lt;- rCharts$new()
rChart$setLib('http://timelyportfolio.github.io/rCharts_d3_horizon/libraries/widgets/d3_horizon')
rChart$setTemplate(script = 'http://timelyportfolio.github.io/rCharts_d3_horizon/libraries/widgets/d3_horizon/layouts/d3_horizon_smallmultiple.html')
rChart$set(
bands = 3,
mode = &quot;mirror&quot;,
interpolate = &quot;basis&quot;,
width = 700,
height = 300
)
require(quantmod)
#get sp500 prices and convert them to monthly
SP500 &lt;- to.monthly(
getSymbols(&quot;^GSPC&quot;, from = &quot;1990-01-01&quot;, auto.assign = FALSE)
)[,4]
Nasdaq &lt;- to.monthly(
getSymbols(&quot;^IXIC&quot;, from = &quot;1990-01-01&quot;, auto.assign = FALSE)
)[,4]
Dax &lt;- to.monthly(
getSymbols(&quot;^GDAXI&quot;, from = &quot;1990-01-01&quot;, auto.assign = FALSE)
)[,4]
#get 12 month rolling return
prices &lt;- merge(SP500,Nasdaq,Dax)
returns &lt;- na.omit(ROC(prices, type = &quot;discrete&quot;, n = 12))
returns.df &lt;- cbind(
as.numeric(as.POSIXct(as.Date(index(returns)))),
coredata(returns)
)
colnames(returns.df) &lt;- c(&quot;date&quot;,&quot;SP500&quot;,&quot;Nasdaq&quot;,&quot;DAX&quot;)
#supply the data to our dataless but no longer naked rChart
rChart$set(data = returns.df)
rChart$set(x = &quot;date&quot;)
rChart
</code></pre>
</div>
</div>
</div>
</div>
<!--Attribution:
Jason Davies https://github.com/d3/d3-plugins/tree/master/horizon
Mike Bostock http://bl.ocks.org/mbostock/1483226
-->
<script>
var params = {
"dom": "chartef455ec649e",
"width": 700,
"height": 300,
"bands": 3,
"mode": "mirror",
"interpolate": "basis",
"data": [ {
"date": 6.8895e+08,
"SP500": 0.16448,
"Nasdaq": 0.45893,
"DAX": 0.087011
},
{
"date": 6.9155e+08,
"SP500": 0.26307,
"Nasdaq": 0.56859,
"DAX": 0.12859
},
{
"date": 6.9422e+08,
"SP500": 0.18856,
"Nasdaq": 0.49737,
"DAX": 0.1883
},
{
"date": 6.969e+08,
"SP500": 0.12431,
"Nasdaq": 0.39808,
"DAX": 0.13164
},
{
"date": 6.9941e+08,
"SP500": 0.075875,
"Nasdaq": 0.25186,
"DAX": 0.12812
},
{
"date": 7.0209e+08,
"SP500": 0.10553,
"Nasdaq": 0.19384,
"DAX": 0.079836
},
{
"date": 7.0468e+08,
"SP500": 0.065464,
"Nasdaq": 0.15649,
"DAX": 0.058154
},
{
"date": 7.0736e+08,
"SP500": 0.099634,
"Nasdaq": 0.18423,
"DAX": 0.080385
},
{
"date": 7.0995e+08,
"SP500": 0.09386,
"Nasdaq": 0.15694,
"DAX": -0.0042532
},
{
"date": 7.1263e+08,
"SP500": 0.047037,
"Nasdaq": 0.071222,
"DAX": -0.066162
},
{
"date": 7.1531e+08,
"SP500": 0.077193,
"Nasdaq": 0.10703,
"DAX": -0.087492
},
{
"date": 7.179e+08,
"SP500": 0.066837,
"Nasdaq": 0.11453,
"DAX": -0.05676
},
{
"date": 7.2058e+08,
"SP500": 0.14959,
"Nasdaq": 0.24591,
"DAX": -0.014235
},
{
"date": 7.2317e+08,
"SP500": 0.044643,
"Nasdaq": 0.15453,
"DAX": -0.020849
},
{
"date": 7.2585e+08,
"SP500": 0.073389,
"Nasdaq": 0.12275,
"DAX": -0.068504
},
{
"date": 7.2852e+08,
"SP500": 0.07434,
"Nasdaq": 0.058882,
"DAX": -0.034783
},
{
"date": 7.3094e+08,
"SP500": 0.11885,
"Nasdaq": 0.14303,
"DAX": -0.019617
},
{
"date": 7.3362e+08,
"SP500": 0.060827,
"Nasdaq": 0.14298,
"DAX": -0.061592
},
{
"date": 7.3621e+08,
"SP500": 0.083881,
"Nasdaq": 0.19685,
"DAX": -0.094998
},
{
"date": 7.3889e+08,
"SP500": 0.10386,
"Nasdaq": 0.24902,
"DAX": -0.031382
},
{
"date": 7.4148e+08,
"SP500": 0.056387,
"Nasdaq": 0.21326,
"DAX": 0.11626
},
{
"date": 7.4416e+08,
"SP500": 0.11963,
"Nasdaq": 0.31915,
"DAX": 0.26186
},
{
"date": 7.4684e+08,
"SP500": 0.098444,
"Nasdaq": 0.30776,
"DAX": 0.3064
},
{
"date": 7.4943e+08,
"SP500": 0.11739,
"Nasdaq": 0.28767,
"DAX": 0.38645
},
{
"date": 7.5211e+08,
"SP500": 0.070569,
"Nasdaq": 0.15575,
"DAX": 0.33251
},
{
"date": 7.547e+08,
"SP500": 0.070552,
"Nasdaq": 0.1475,
"DAX": 0.46702
},
{
"date": 7.5738e+08,
"SP500": 0.097612,
"Nasdaq": 0.14954,
"DAX": 0.38527
},
{
"date": 7.6006e+08,
"SP500": 0.053588,
"Nasdaq": 0.18148,
"DAX": 0.24175
},
{
"date": 7.6248e+08,
"SP500": -0.013063,
"Nasdaq": 0.077275,
"DAX": 0.26654
},
{
"date": 7.6516e+08,
"SP500": 0.024353,
"Nasdaq": 0.10949,
"DAX": 0.38029
},
{
"date": 7.6775e+08,
"SP500": 0.014016,
"Nasdaq": 0.049477,
"DAX": 0.30382
},
{
"date": 7.7043e+08,
"SP500": -0.013895,
"Nasdaq": 0.0028553,
"DAX": 0.19304
},
{
"date": 7.7302e+08,
"SP500": 0.022605,
"Nasdaq": 0.024777,
"DAX": 0.19044
},
{
"date": 7.757e+08,
"SP500": 0.025736,
"Nasdaq": 0.030666,
"DAX": 0.1378
},
{
"date": 7.7838e+08,
"SP500": 0.0082366,
"Nasdaq": 0.0019796,
"DAX": 0.050164
},
{
"date": 7.8097e+08,
"SP500": 0.0096616,
"Nasdaq": -0.0022714,
"DAX": 0.0012566
},
{
"date": 7.8365e+08,
"SP500": -0.01754,
"Nasdaq": -0.0053951,
"DAX": -0.0046166
},
{
"date": 7.8624e+08,
"SP500": -0.015393,
"Nasdaq": -0.031977,
"DAX": -0.070631
},
{
"date": 7.8892e+08,
"SP500": -0.023235,
"Nasdaq": -0.056554,
"DAX": -0.071734
},
{
"date": 7.916e+08,
"SP500": 0.043349,
"Nasdaq": 0.0015521,
"DAX": 0.0050679
},
{
"date": 7.9402e+08,
"SP500": 0.12325,
"Nasdaq": 0.099198,
"DAX": -0.098683
},
{
"date": 7.9669e+08,
"SP500": 0.14149,
"Nasdaq": 0.15009,
"DAX": -0.10245
},
{
"date": 7.9929e+08,
"SP500": 0.16846,
"Nasdaq": 0.176,
"DAX": -0.016685
},
{
"date": 8.0196e+08,
"SP500": 0.22617,
"Nasdaq": 0.32224,
"DAX": 0.028934
},
{
"date": 8.0456e+08,
"SP500": 0.22651,
"Nasdaq": 0.38641,
"DAX": 0.033588
},
{
"date": 8.0724e+08,
"SP500": 0.18169,
"Nasdaq": 0.3324,
"DAX": 0.011478
},
{
"date": 8.0991e+08,
"SP500": 0.26302,
"Nasdaq": 0.36537,
"DAX": 0.087086
},
{
"date": 8.1251e+08,
"SP500": 0.23108,
"Nasdaq": 0.33257,
"DAX": 0.046486
},
{
"date": 8.1518e+08,
"SP500": 0.33433,
"Nasdaq": 0.41166,
"DAX": 0.094957
},
{
"date": 8.1778e+08,
"SP500": 0.34111,
"Nasdaq": 0.39918,
"DAX": 0.069923
},
{
"date": 8.2045e+08,
"SP500": 0.35203,
"Nasdaq": 0.40332,
"DAX": 0.22204
},
{
"date": 8.2313e+08,
"SP500": 0.314,
"Nasdaq": 0.38592,
"DAX": 0.17667
},
{
"date": 8.2564e+08,
"SP500": 0.28917,
"Nasdaq": 0.34776,
"DAX": 0.29299
},
{
"date": 8.2832e+08,
"SP500": 0.27095,
"Nasdaq": 0.4106,
"DAX": 0.24277
},
{
"date": 8.3091e+08,
"SP500": 0.25444,
"Nasdaq": 0.43819,
"DAX": 0.21537
},
{
"date": 8.3359e+08,
"SP500": 0.23108,
"Nasdaq": 0.26951,
"DAX": 0.22914
},
{
"date": 8.3618e+08,
"SP500": 0.13858,
"Nasdaq": 0.079284,
"DAX": 0.1148
},
{
"date": 8.3886e+08,
"SP500": 0.16037,
"Nasdaq": 0.119,
"DAX": 0.13649
},
{
"date": 8.4154e+08,
"SP500": 0.17611,
"Nasdaq": 0.17573,
"DAX": 0.21257
},
{
"date": 8.4413e+08,
"SP500": 0.21285,
"Nasdaq": 0.179,
"DAX": 0.22667
},
{
"date": 8.4681e+08,
"SP500": 0.25051,
"Nasdaq": 0.22036,
"DAX": 0.26873
},
{
"date": 8.494e+08,
"SP500": 0.20264,
"Nasdaq": 0.22706,
"DAX": 0.28165
},
{
"date": 8.5208e+08,
"SP500": 0.23606,
"Nasdaq": 0.302,
"DAX": 0.22878
},
{
"date": 8.5476e+08,
"SP500": 0.23483,
"Nasdaq": 0.18995,
"DAX": 0.31776
},
{
"date": 8.5717e+08,
"SP500": 0.17292,
"Nasdaq": 0.10922,
"DAX": 0.37942
},
{
"date": 8.5985e+08,
"SP500": 0.22497,
"Nasdaq": 0.058999,
"DAX": 0.37233
},
{
"date": 8.6244e+08,
"SP500": 0.26775,
"Nasdaq": 0.12618,
"DAX": 0.40109
},
{
"date": 8.6512e+08,
"SP500": 0.31986,
"Nasdaq": 0.21692,
"DAX": 0.47064
},
{
"date": 8.6772e+08,
"SP500": 0.49123,
"Nasdaq": 0.47494,
"DAX": 0.78115
},
{
"date": 8.7039e+08,
"SP500": 0.37958,
"Nasdaq": 0.39056,
"DAX": 0.54092
},
{
"date": 8.7307e+08,
"SP500": 0.3782,
"Nasdaq": 0.37392,
"DAX": 0.56676
},
{
"date": 8.7566e+08,
"SP500": 0.29684,
"Nasdaq": 0.30462,
"DAX": 0.41154
},
{
"date": 8.7834e+08,
"SP500": 0.26205,
"Nasdaq": 0.23823,
"DAX": 0.39592
},
{
"date": 8.8093e+08,
"SP500": 0.31008,
"Nasdaq": 0.21635,
"DAX": 0.46235
},
{
"date": 8.8361e+08,
"SP500": 0.24692,
"Nasdaq": 0.17358,
"DAX": 0.46366
},
{
"date": 8.8629e+08,
"SP500": 0.3269,
"Nasdaq": 0.35257,
"DAX": 0.44002
},
{
"date": 8.8871e+08,
"SP500": 0.45519,
"Nasdaq": 0.50256,
"DAX": 0.48648
},
{
"date": 8.9139e+08,
"SP500": 0.38736,
"Nasdaq": 0.48197,
"DAX": 0.48554
},
{
"date": 8.9398e+08,
"SP500": 0.28592,
"Nasdaq": 0.27033,
"DAX": 0.56316
},
{
"date": 8.9666e+08,
"SP500": 0.28097,
"Nasdaq": 0.3139,
"DAX": 0.5656
},
{
"date": 8.9925e+08,
"SP500": 0.17432,
"Nasdaq": 0.17479,
"DAX": 0.33332
},
{
"date": 9.0193e+08,
"SP500": 0.064271,
"Nasdaq": -0.055483,
"DAX": 0.2332
},
{
"date": 9.0461e+08,
"SP500": 0.073611,
"Nasdaq": 0.0048348,
"DAX": 0.076924
},
{
"date": 9.072e+08,
"SP500": 0.20123,
"Nasdaq": 0.11156,
"DAX": 0.2444
},
{
"date": 9.0988e+08,
"SP500": 0.21795,
"Nasdaq": 0.21804,
"DAX": 0.26449
},
{
"date": 9.1247e+08,
"SP500": 0.26669,
"Nasdaq": 0.39631,
"DAX": 0.18419
},
{
"date": 9.1515e+08,
"SP500": 0.30538,
"Nasdaq": 0.54746,
"DAX": 0.1615
},
{
"date": 9.1783e+08,
"SP500": 0.1801,
"Nasdaq": 0.2923,
"DAX": 0.046424
},
{
"date": 9.2025e+08,
"SP500": 0.16757,
"Nasdaq": 0.34087,
"DAX": -0.041806
},
{
"date": 9.2292e+08,
"SP500": 0.20097,
"Nasdaq": 0.36098,
"DAX": 0.055932
},
{
"date": 9.2552e+08,
"SP500": 0.19345,
"Nasdaq": 0.38881,
"DAX": -0.089647
},
{
"date": 9.282e+08,
"SP500": 0.21067,
"Nasdaq": 0.41767,
"DAX": -0.087991
},
{
"date": 9.3079e+08,
"SP500": 0.18565,
"Nasdaq": 0.40916,
"DAX": -0.13144
},
{
"date": 9.3347e+08,
"SP500": 0.37934,
"Nasdaq": 0.82715,
"DAX": 0.090379
},
{
"date": 9.3614e+08,
"SP500": 0.26126,
"Nasdaq": 0.62126,
"DAX": 0.15093
},
{
"date": 9.3874e+08,
"SP500": 0.24053,
"Nasdaq": 0.67463,
"DAX": 0.18289
},
{
"date": 9.4141e+08,
"SP500": 0.1936,
"Nasdaq": 0.71125,
"DAX": 0.17388
},
{
"date": 9.4401e+08,
"SP500": 0.19526,
"Nasdaq": 0.85585,
"DAX": 0.39096
},
{
"date": 9.4668e+08,
"SP500": 0.089728,
"Nasdaq": 0.57244,
"DAX": 0.32474
},
{
"date": 9.4936e+08,
"SP500": 0.10344,
"Nasdaq": 1.0527,
"DAX": 0.55636
},
{
"date": 9.5187e+08,
"SP500": 0.16497,
"Nasdaq": 0.85782,
"DAX": 0.55591
},
{
"date": 9.5455e+08,
"SP500": 0.087816,
"Nasdaq": 0.51824,
"DAX": 0.37484
},
{
"date": 9.5714e+08,
"SP500": 0.091225,
"Nasdaq": 0.3766,
"DAX": 0.40235
},
{
"date": 9.5982e+08,
"SP500": 0.059656,
"Nasdaq": 0.47652,
"DAX": 0.27962
},
{
"date": 9.6241e+08,
"SP500": 0.076848,
"Nasdaq": 0.42771,
"DAX": 0.40936
},
{
"date": 9.6509e+08,
"SP500": 0.1494,
"Nasdaq": 0.53553,
"DAX": 0.37452
},
{
"date": 9.6777e+08,
"SP500": 0.1199,
"Nasdaq": 0.33744,
"DAX": 0.32007
},
{
"date": 9.7036e+08,
"SP500": 0.04877,
"Nasdaq": 0.13592,
"DAX": 0.28089
},
{
"date": 9.7304e+08,
"SP500": -0.05325,
"Nasdaq": -0.22128,
"DAX": 0.080781
},
{
"date": 9.7563e+08,
"SP500": -0.10139,
"Nasdaq": -0.39289,
"DAX": -0.075384
},
{
"date": 9.7831e+08,
"SP500": -0.020402,
"Nasdaq": -0.29632,
"DAX": -0.005919
},
{
"date": 9.8099e+08,
"SP500": -0.092563,
"Nasdaq": -0.54184,
"DAX": -0.18789
},
{
"date": 9.834e+08,
"SP500": -0.22571,
"Nasdaq": -0.59757,
"DAX": -0.23284
},
{
"date": 9.8608e+08,
"SP500": -0.13975,
"Nasdaq": -0.45185,
"DAX": -0.15512
},
{
"date": 9.8868e+08,
"SP500": -0.11599,
"Nasdaq": -0.37943,
"DAX": -0.13874
},
{
"date": 9.9135e+08,
"SP500": -0.15827,
"Nasdaq": -0.45525,
"DAX": -0.11973
},
{
"date": 9.9395e+08,
"SP500": -0.15348,
"Nasdaq": -0.46187,
"DAX": -0.18486
},
{
"date": 9.9662e+08,
"SP500": -0.25308,
"Nasdaq": -0.57078,
"DAX": -0.28388
},
{
"date": 9.993e+08,
"SP500": -0.27537,
"Nasdaq": -0.59192,
"DAX": -0.36627
},
{
"date": 1.0019e+09,
"SP500": -0.25858,
"Nasdaq": -0.4984,
"DAX": -0.35582
},
{
"date": 1.0046e+09,
"SP500": -0.13347,
"Nasdaq": -0.25688,
"DAX": -0.21694
},
{
"date": 1.0072e+09,
"SP500": -0.13043,
"Nasdaq": -0.21053,
"DAX": -0.19795
},
{
"date": 1.0098e+09,
"SP500": -0.17263,
"Nasdaq": -0.30248,
"DAX": -0.24834
},
{
"date": 1.0125e+09,
"SP500": -0.10743,
"Nasdaq": -0.19534,
"DAX": -0.18832
},
{
"date": 1.0149e+09,
"SP500": -0.011152,
"Nasdaq": 0.0027659,
"DAX": -0.074213
},
{
"date": 1.0176e+09,
"SP500": -0.13809,
"Nasdaq": -0.20225,
"DAX": -0.19528
},
{
"date": 1.0202e+09,
"SP500": -0.15024,
"Nasdaq": -0.23443,
"DAX": -0.21312
},
{
"date": 1.0229e+09,
"SP500": -0.19157,
"Nasdaq": -0.32276,
"DAX": -0.27661
},
{
"date": 1.0255e+09,
"SP500": -0.24736,
"Nasdaq": -0.34476,
"DAX": -0.3687
},
{
"date": 1.0282e+09,
"SP500": -0.19188,
"Nasdaq": -0.27172,
"DAX": -0.28434
},
{
"date": 1.0308e+09,
"SP500": -0.21678,
"Nasdaq": -0.218,
"DAX": -0.35726
},
{
"date": 1.0334e+09,
"SP500": -0.1642,
"Nasdaq": -0.21326,
"DAX": -0.30845
},
{
"date": 1.0361e+09,
"SP500": -0.17828,
"Nasdaq": -0.23402,
"DAX": -0.33459
},
{
"date": 1.0387e+09,
"SP500": -0.23366,
"Nasdaq": -0.31526,
"DAX": -0.43942
},
{
"date": 1.0414e+09,
"SP500": -0.24288,
"Nasdaq": -0.31702,
"DAX": -0.46201
},
{
"date": 1.0441e+09,
"SP500": -0.23997,
"Nasdaq": -0.22753,
"DAX": -0.49454
},
{
"date": 1.0465e+09,
"SP500": -0.26077,
"Nasdaq": -0.27322,
"DAX": -0.55091
},
{
"date": 1.0492e+09,
"SP500": -0.14857,
"Nasdaq": -0.13264,
"DAX": -0.4164
},
{
"date": 1.0517e+09,
"SP500": -0.097035,
"Nasdaq": -0.012267,
"DAX": -0.38097
},
{
"date": 1.0544e+09,
"SP500": -0.015478,
"Nasdaq": 0.10907,
"DAX": -0.26514
},
{
"date": 1.057e+09,
"SP500": 0.086319,
"Nasdaq": 0.30624,
"DAX": -0.057371
},
{
"date": 1.0597e+09,
"SP500": 0.10036,
"Nasdaq": 0.37693,
"DAX": -0.061504
},
{
"date": 1.0624e+09,
"SP500": 0.22163,
"Nasdaq": 0.52461,
"DAX": 0.17614
},
{
"date": 1.065e+09,
"SP500": 0.18622,
"Nasdaq": 0.45306,
"DAX": 0.15958
},
{
"date": 1.0676e+09,
"SP500": 0.13018,
"Nasdaq": 0.32559,
"DAX": 0.12819
},
{
"date": 1.0702e+09,
"SP500": 0.2638,
"Nasdaq": 0.50008,
"DAX": 0.37078
},
{
"date": 1.0729e+09,
"SP500": 0.32188,
"Nasdaq": 0.56419,
"DAX": 0.47702
},
{
"date": 1.0756e+09,
"SP500": 0.36116,
"Nasdaq": 0.5176,
"DAX": 0.57757
},
{
"date": 1.0781e+09,
"SP500": 0.3278,
"Nasdaq": 0.48693,
"DAX": 0.59113
},
{
"date": 1.0808e+09,
"SP500": 0.20763,
"Nasdaq": 0.3113,
"DAX": 0.35457
},
{
"date": 1.0834e+09,
"SP500": 0.16303,
"Nasdaq": 0.24489,
"DAX": 0.31473
},
{
"date": 1.086e+09,
"SP500": 0.17069,
"Nasdaq": 0.26189,
"DAX": 0.25839
},
{
"date": 1.0886e+09,
"SP500": 0.1125,
"Nasdaq": 0.087803,
"DAX": 0.11691
},
{
"date": 1.0913e+09,
"SP500": 0.095465,
"Nasdaq": 0.015272,
"DAX": 0.086274
},
{
"date": 1.094e+09,
"SP500": 0.11909,
"Nasdaq": 0.061502,
"DAX": 0.19532
},
{
"date": 1.0966e+09,
"SP500": 0.075654,
"Nasdaq": 0.02214,
"DAX": 0.083222
},
{
"date": 1.0993e+09,
"SP500": 0.10926,
"Nasdaq": 0.069659,
"DAX": 0.10146
},
{
"date": 1.1019e+09,
"SP500": 0.089935,
"Nasdaq": 0.08589,
"DAX": 0.073369
},
{
"date": 1.1045e+09,
"SP500": 0.044327,
"Nasdaq": -0.0018101,
"DAX": 0.048354
},
{
"date": 1.1072e+09,
"SP500": 0.051234,
"Nasdaq": 0.010789,
"DAX": 0.082707
},
{
"date": 1.1096e+09,
"SP500": 0.048286,
"Nasdaq": 0.0025123,
"DAX": 0.12759
},
{
"date": 1.1123e+09,
"SP500": 0.044748,
"Nasdaq": 0.00078119,
"DAX": 0.050093
},
{
"date": 1.1149e+09,
"SP500": 0.063194,
"Nasdaq": 0.041012,
"DAX": 0.13751
},
{
"date": 1.1176e+09,
"SP500": 0.044257,
"Nasdaq": 0.004478,
"DAX": 0.13165
},
{
"date": 1.1202e+09,
"SP500": 0.12023,
"Nasdaq": 0.15761,
"DAX": 0.25436
},
{
"date": 1.1229e+09,
"SP500": 0.10513,
"Nasdaq": 0.17082,
"DAX": 0.27594
},
{
"date": 1.1255e+09,
"SP500": 0.10249,
"Nasdaq": 0.13436,
"DAX": 0.29572
},
{
"date": 1.1281e+09,
"SP500": 0.067961,
"Nasdaq": 0.073575,
"DAX": 0.24464
},
{
"date": 1.1308e+09,
"SP500": 0.064456,
"Nasdaq": 0.064865,
"DAX": 0.2587
},
{
"date": 1.1334e+09,
"SP500": 0.03001,
"Nasdaq": 0.013735,
"DAX": 0.27071
},
{
"date": 1.1361e+09,
"SP500": 0.083647,
"Nasdaq": 0.11802,
"DAX": 0.33357
},
{
"date": 1.1388e+09,
"SP500": 0.064025,
"Nasdaq": 0.11194,
"DAX": 0.33227
},
{
"date": 1.1412e+09,
"SP500": 0.096799,
"Nasdaq": 0.17035,
"DAX": 0.37282
},
{
"date": 1.1438e+09,
"SP500": 0.13291,
"Nasdaq": 0.20863,
"DAX": 0.43611
},
{
"date": 1.1464e+09,
"SP500": 0.065959,
"Nasdaq": 0.053505,
"DAX": 0.27625
},
{
"date": 1.1491e+09,
"SP500": 0.066203,
"Nasdaq": 0.055971,
"DAX": 0.2392
},
{
"date": 1.1517e+09,
"SP500": 0.03442,
"Nasdaq": -0.042731,
"DAX": 0.16279
},
{
"date": 1.1544e+09,
"SP500": 0.068416,
"Nasdaq": 0.014711,
"DAX": 0.21324
},
{
"date": 1.1571e+09,
"SP500": 0.087109,
"Nasdaq": 0.049608,
"DAX": 0.19036
},
{
"date": 1.1597e+09,
"SP500": 0.14161,
"Nasdaq": 0.11621,
"DAX": 0.27183
},
{
"date": 1.1623e+09,
"SP500": 0.12097,
"Nasdaq": 0.089103,
"DAX": 0.21485
},
{
"date": 1.1649e+09,
"SP500": 0.13619,
"Nasdaq": 0.095211,
"DAX": 0.21979
},
{
"date": 1.1676e+09,
"SP500": 0.12355,
"Nasdaq": 0.06857,
"DAX": 0.1965
},
{
"date": 1.1703e+09,
"SP500": 0.098512,
"Nasdaq": 0.059069,
"DAX": 0.15863
},
{
"date": 1.1727e+09,
"SP500": 0.097299,
"Nasdaq": 0.034982,
"DAX": 0.15862
},
{
"date": 1.1754e+09,
"SP500": 0.13105,
"Nasdaq": 0.087197,
"DAX": 0.23278
},
{
"date": 1.178e+09,
"SP500": 0.20513,
"Nasdaq": 0.19535,
"DAX": 0.38472
},
{
"date": 1.1807e+09,
"SP500": 0.18355,
"Nasdaq": 0.19849,
"DAX": 0.40892
},
{
"date": 1.1832e+09,
"SP500": 0.1399,
"Nasdaq": 0.21745,
"DAX": 0.33477
},
{
"date": 1.1859e+09,
"SP500": 0.13052,
"Nasdaq": 0.18895,
"DAX": 0.30354
},
{
"date": 1.1886e+09,
"SP500": 0.14291,
"Nasdaq": 0.19618,
"DAX": 0.30931
},
{
"date": 1.1912e+09,
"SP500": 0.12442,
"Nasdaq": 0.20806,
"DAX": 0.2792
},
{
"date": 1.1939e+09,
"SP500": 0.057481,
"Nasdaq": 0.094248,
"DAX": 0.24747
},
{
"date": 1.1965e+09,
"SP500": 0.035296,
"Nasdaq": 0.098121,
"DAX": 0.22289
},
{
"date": 1.1991e+09,
"SP500": -0.041502,
"Nasdaq": -0.030062,
"DAX": 0.0092265
},
{
"date": 1.2018e+09,
"SP500": -0.054158,
"Nasdaq": -0.059876,
"DAX": 0.0048679
},
{
"date": 1.2043e+09,
"SP500": -0.069085,
"Nasdaq": -0.058861,
"DAX": -0.055235
},
{
"date": 1.207e+09,
"SP500": -0.065287,
"Nasdaq": -0.04447,
"DAX": -0.062094
},
{
"date": 1.2096e+09,
"SP500": -0.08509,
"Nasdaq": -0.03143,
"DAX": -0.099739
},
{
"date": 1.2123e+09,
"SP500": -0.14857,
"Nasdaq": -0.11918,
"DAX": -0.19844
},
{
"date": 1.2149e+09,
"SP500": -0.12911,
"Nasdaq": -0.086684,
"DAX": -0.14564
},
{
"date": 1.2175e+09,
"SP500": -0.12969,
"Nasdaq": -0.088139,
"DAX": -0.15918
},
{
"date": 1.2202e+09,
"SP500": -0.23605,
"Nasdaq": -0.22566,
"DAX": -0.25828
},
{
"date": 1.2228e+09,
"SP500": -0.37475,
"Nasdaq": -0.39808,
"DAX": -0.378
},
{
"date": 1.2255e+09,
"SP500": -0.3949,
"Nasdaq": -0.42293,
"DAX": -0.40672
},
{
"date": 1.2281e+09,
"SP500": -0.38486,
"Nasdaq": -0.40541,
"DAX": -0.40374
},
{
"date": 1.2308e+09,
"SP500": -0.40091,
"Nasdaq": -0.38221,
"DAX": -0.36683
},
{
"date": 1.2334e+09,
"SP500": -0.44756,
"Nasdaq": -0.39342,
"DAX": -0.4304
},
{
"date": 1.2359e+09,
"SP500": -0.39679,
"Nasdaq": -0.3293,
"DAX": -0.37494
},
{
"date": 1.2385e+09,
"SP500": -0.37008,
"Nasdaq": -0.28825,
"DAX": -0.31363
},
{
"date": 1.2411e+09,
"SP500": -0.34365,
"Nasdaq": -0.29664,
"DAX": -0.3038
},
{
"date": 1.2438e+09,
"SP500": -0.28178,
"Nasdaq": -0.19971,
"DAX": -0.25079
},
{
"date": 1.2464e+09,
"SP500": -0.22085,
"Nasdaq": -0.14923,
"DAX": -0.17708
},
{
"date": 1.2491e+09,
"SP500": -0.2044,
"Nasdaq": -0.15141,
"DAX": -0.15014
},
{
"date": 1.2518e+09,
"SP500": -0.093693,
"Nasdaq": 0.014599,
"DAX": -0.026729
},
{
"date": 1.2544e+09,
"SP500": 0.069615,
"Nasdaq": 0.18836,
"DAX": 0.085604
},
{
"date": 1.257e+09,
"SP500": 0.22247,
"Nasdaq": 0.39661,
"DAX": 0.20484
},
{
"date": 1.2596e+09,
"SP500": 0.23454,
"Nasdaq": 0.43888,
"DAX": 0.2385
},
{
"date": 1.2623e+09,
"SP500": 0.30027,
"Nasdaq": 0.45443,
"DAX": 0.29284
},
{
"date": 1.265e+09,
"SP500": 0.50252,
"Nasdaq": 0.62447,
"DAX": 0.45651
},
{
"date": 1.2674e+09,
"SP500": 0.46569,
"Nasdaq": 0.56874,
"DAX": 0.50647
},
{
"date": 1.2701e+09,
"SP500": 0.35962,
"Nasdaq": 0.43317,
"DAX": 0.28646
},
{
"date": 1.2727e+09,
"SP500": 0.18525,
"Nasdaq": 0.27205,
"DAX": 0.20715
},
{
"date": 1.2754e+09,
"SP500": 0.12117,
"Nasdaq": 0.14942,
"DAX": 0.24058
},
{
"date": 1.2779e+09,
"SP500": 0.11557,
"Nasdaq": 0.1396,
"DAX": 0.153
},
{
"date": 1.2806e+09,
"SP500": 0.02813,
"Nasdaq": 0.052248,
"DAX": 0.085595
},
{
"date": 1.2833e+09,
"SP500": 0.079578,
"Nasdaq": 0.116,
"DAX": 0.097594
},
{
"date": 1.2859e+09,
"SP500": 0.14193,
"Nasdaq": 0.22605,
"DAX": 0.2191
},
{
"date": 1.2886e+09,
"SP500": 0.077508,
"Nasdaq": 0.16489,
"DAX": 0.18886
},
{
"date": 1.2912e+09,
"SP500": 0.12783,
"Nasdaq": 0.1691,
"DAX": 0.1606
},
{
"date": 1.2938e+09,
"SP500": 0.19765,
"Nasdaq": 0.2574,
"DAX": 0.26186
},
{
"date": 1.2965e+09,
"SP500": 0.20166,
"Nasdaq": 0.24305,
"DAX": 0.29899
},
{
"date": 1.2989e+09,
"SP500": 0.13374,
"Nasdaq": 0.15976,
"DAX": 0.14427
},
{
"date": 1.3016e+09,
"SP500": 0.14909,
"Nasdaq": 0.16754,
"DAX": 0.22471
},
{
"date": 1.3042e+09,
"SP500": 0.2348,
"Nasdaq": 0.2562,
"DAX": 0.22289
},
{
"date": 1.3069e+09,
"SP500": 0.28129,
"Nasdaq": 0.31494,
"DAX": 0.23648
},
{
"date": 1.3095e+09,
"SP500": 0.17309,
"Nasdaq": 0.2225,
"DAX": 0.16441
},
{
"date": 1.3122e+09,
"SP500": 0.16159,
"Nasdaq": 0.22016,
"DAX": -0.02369
},
{
"date": 1.3148e+09,
"SP500": -0.0085699,
"Nasdaq": 0.01975,
"DAX": -0.11671
},
{
"date": 1.3174e+09,
"SP500": 0.059192,
"Nasdaq": 0.070591,
"DAX": -0.069687
},
{
"date": 1.3201e+09,
"SP500": 0.056253,
"Nasdaq": 0.048879,
"DAX": -0.089654
},
{
"date": 1.3227e+09,
"SP500": -3.1806e-05,
"Nasdaq": -0.017988,
"DAX": -0.14692
},
{
"date": 1.3254e+09,
"SP500": 0.020441,
"Nasdaq": 0.042132,
"DAX": -0.0874
},
{
"date": 1.3281e+09,
"SP500": 0.028978,
"Nasdaq": 0.066356,
"DAX": -0.057236
},
{
"date": 1.3306e+09,
"SP500": 0.062331,
"Nasdaq": 0.11165,
"DAX": -0.013418
},
{
"date": 1.3332e+09,
"SP500": 0.025154,
"Nasdaq": 0.060142,
"DAX": -0.10024
},
{
"date": 1.3358e+09,
"SP500": -0.025922,
"Nasdaq": -0.0028075,
"DAX": -0.14112
},
{
"date": 1.3385e+09,
"SP500": 0.031439,
"Nasdaq": 0.05824,
"DAX": -0.13014
},
{
"date": 1.3411e+09,
"SP500": 0.067354,
"Nasdaq": 0.066442,
"DAX": -0.053991
},
{
"date": 1.3438e+09,
"SP500": 0.15398,
"Nasdaq": 0.18899,
"DAX": 0.20501
},
{
"date": 1.3465e+09,
"SP500": 0.27333,
"Nasdaq": 0.29015,
"DAX": 0.31155
},
{
"date": 1.349e+09,
"SP500": 0.12675,
"Nasdaq": 0.10908,
"DAX": 0.18226
},
{
"date": 1.3517e+09,
"SP500": 0.13571,
"Nasdaq": 0.1488,
"DAX": 0.21624
},
{
"date": 1.3543e+09,
"SP500": 0.13406,
"Nasdaq": 0.15905,
"DAX": 0.2906
},
{
"date": 1.357e+09,
"SP500": 0.1415,
"Nasdaq": 0.11667,
"DAX": 0.20393
},
{
"date": 1.3597e+09,
"SP500": 0.1091,
"Nasdaq": 0.065152,
"DAX": 0.12917
},
{
"date": 1.3621e+09,
"SP500": 0.11411,
"Nasdaq": 0.056913,
"DAX": 0.12214
},
{
"date": 1.3648e+09,
"SP500": 0.14283,
"Nasdaq": 0.092711,
"DAX": 0.17046
},
{
"date": 1.3674e+09,
"SP500": 0.24453,
"Nasdaq": 0.22232,
"DAX": 0.33275
},
{
"date": 1.37e+09,
"SP500": 0.17922,
"Nasdaq": 0.15952,
"DAX": 0.24047
},
{
"date": 1.3726e+09,
"SP500": 0.22215,
"Nasdaq": 0.23366,
"DAX": 0.22204
},
{
"date": 1.3753e+09,
"SP500": 0.21349,
"Nasdaq": 0.1985,
"DAX": 0.20657
} ],
"x": "date",
"id": "chartef455ec649e"
};
var svg = d3.select('#' + params.id).append("svg")
.attr("width", params.width)
.attr("height", params.height);
//get number of keys assuming everything besides date is to be plotted
var nKeys = d3.keys(params.data[0]).length - 1;
var chart = d3.horizon()
.width(params.width)
.height(params.height / nKeys)
.bands(params.bands)
.mode(params.mode)
.interpolate(params.interpolate);
d3.keys(params.data[0]).forEach(function(key,i) {
if (!(key == params.x)) {
var data = [params.data.map(function(d) {return[d[params.x],d[key]]})]
var gHorizon = svg.append("g")
.data(data)
.attr("transform","translate(0," + ( (i-1) * params.height / nKeys) + ")" )
.call(chart);
gHorizon.append("text")
.attr("x", 0)
.attr("y", params.height / nKeys / 2)
.attr("dy", ".35em")
.text(key);
};
});
</script>
</body>
<!-- Google Prettify -->
<script src="http://cdnjs.cloudflare.com/ajax/libs/prettify/188.0.0/prettify.js"></script>
<script
src='https://google-code-prettify.googlecode.com/svn-history/r232/trunk/src/lang-r.js'>
</script>
<script>
var pres = document.getElementsByTagName("pre");
for (var i=0; i < pres.length; ++i) {
pres[i].className = "prettyprint linenums";
}
prettyPrint();
</script>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment