翻譯|使用教程|編輯:王香|2018-11-30 09:49:53.000|閱讀 392 次
概述:我們將使用折線圖,柱形圖和散點圖可視化資產回報。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
今天,我們將使用折線圖,柱形圖和散點圖可視化資產回報。下次我們將通過添加回歸線和模擬結果來進行更復雜的工作。將可視化宏觀經濟數據,如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正版授權,請點擊“”喲!
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@ke049m.cn