我们将使用折线图,柱形图和散点图可视化资产回 。
下载Highcharts最新版本
今天,我们将使用折线图,柱形图和散点图可视化资产回 。下次我们将通过添加回归线和模拟结果来进行更复杂的工作。将可视化宏观经济数据,如BLS就业 表和GDP数据。 对于我们的数据,我们将使用以下5个ETF的5年月度回 。
+ SPY (S&P500 fund)+ EFA (a non-US equities fund)+ IJS (a small-cap value fund)+ EEM (an emerging-mkts fund)+ AGG (a bond fund)
需要以下包
library(tidyverse)library(timetk)library(kableExtra)library(highcharter)
完整的代码在这里:
symbols <- c("SPY","EFA", "IJS", "EEM","AGG")prices <- getSymbols(symbols, src = 'yahoo', from = "2013-01-01", to = "2017-12-31", auto.assign = TRUE, warnings = FALSE) %>% map(~Ad(get(.))) %>% reduce(merge) %>% `colnames<-`(symbols)prices_monthly <- to.monthly(prices, indexAt = "last", OHLC = FALSE)asset_returns_xts <- na.omit(Return.calculate(prices_monthly, method = "log"))asset_returns_xts <- asset_returns_xts * 100 asset_returns_long <- prices %>% to.monthly(indexAt = "last", OHLC = FALSE) %>% tk_tbl(preserve_index = TRUE, rename_index = "date") %>% gather(asset, returns, -date) %>% group_by(asset) %>% mutate(returns = (log(returns) - log(lag(returns))) *100 ) %>% na.omit()
我们将使用保存每月资产回 的两个数据对象。第一个被称为asset_returns_xts。看看前几行。

每个ETF月度回 都有一列,但请注意日期在无名栏中。实际上,日期根本不在列中,它被认为是该矩阵的基于时间的索引。 比较一下asset_returns_long。
该对象有一个名为的列date,一个名为asset的列和一个名为的列returns。它被认为是一个长数据对象,因为ETF是按行堆叠的,而asset_returns_xts被认为是一个宽数据对象,因为每个ETF都有自己的列并使对象更宽。asset_returns_long并asset_returns_xts保持完全相同的信息,但格式不同。我们将研究如何使用highcharter对两者进行可视化,因为它们都是金融界的流行数据格式。
让我们从asset_returns_xtsHighcharts工具链的Highstock部分开始并使用它。要从R调用此功能,我们首先提供,然后提供要绘制的数据。请注意,我们指定type =“line”,但这不是必需的,因为默认值是折线图。 highchart(type = “stock”)

highchart(type = "stock") %>% hc_add_series(asset_returns_xts$SPY, type = "line")
看一下图表,注意它底部有一个导航器,右上角有一个日期范围选择器。我们没有必要对它们进行编码,默认情况下创建它们是我们最终用户的一个非常好的功能。highchart(type = “stock”) 如果我们喜欢不同的颜色,我们可以改变它。color = “green”
highchart(type = "stock") %>% hc_add_series(asset_returns_xts$SPY, type = "line", color = "green")

如果我们想要柱形图而不是折线图怎么办了我们指定之外,它是相同的代码流。type = “column”
highchart(type = "stock") %>% hc_add_series(asset_returns_xts$SPY, type = "column")
将鼠标悬停在这两个图表上并注意工具提示如何自动从x轴拉出日期。 对于散点图,我们使用相同的代码流,更改为,但我们也可以通过追加来添加EFA ETF的回 。我们可以为所有5个ETF做这个,逐行添加它们,将所有5个放在同一个散点图上。type = “scatter”hc_add_series(asset_returns_xts$EFA)
highchart(type = "stock") %>% hc_add_series(asset_returns_xts$SPY, type = "scatter") %>% hc_add_series(asset_returns_xts$EFA, type = "scatter")

购买Highcharts正版授权,请点击“咨询在线客服”哟!
标签:图表图表控件highcharts
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!