翻譯|使用教程|編輯:王香|2018-11-30 09:49:53.000|閱讀 379 次
概述:我們將使用折線圖,柱形圖和散點圖可視化資產回報。
# 界面/圖表報表/文檔/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@fc6vip.cn