翻譯|使用教程|編輯:王香|2018-11-30 09:49:53.000|閱讀 379 次
概述:我們將使用折線圖,柱形圖和散點(diǎn)圖可視化資產(chǎn)回報(bào)。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
今天,我們將使用折線圖,柱形圖和散點(diǎn)圖可視化資產(chǎn)回報(bào)。下次我們將通過(guò)添加回歸線和模擬結(jié)果來(lái)進(jìn)行更復(fù)雜的工作。將可視化宏觀經(jīng)濟(jì)數(shù)據(jù),如BLS就業(yè)報(bào)表和GDP數(shù)據(jù)。 對(duì)于我們的數(shù)據(jù),我們將使用以下5個(gè)ETF的5年月度回報(bào)。
+ 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()
我們將使用保存每月資產(chǎn)回報(bào)的兩個(gè)數(shù)據(jù)對(duì)象。第一個(gè)被稱為asset_returns_xts。看看前幾行。
每個(gè)ETF月度回報(bào)都有一列,但請(qǐng)注意日期在無(wú)名欄中。實(shí)際上,日期根本不在列中,它被認(rèn)為是該矩陣的基于時(shí)間的索引。 比較一下asset_returns_long。
該對(duì)象有一個(gè)名為的列date,一個(gè)名為asset的列和一個(gè)名為的列returns。它被認(rèn)為是一個(gè)長(zhǎng)數(shù)據(jù)對(duì)象,因?yàn)镋TF是按行堆疊的,而asset_returns_xts被認(rèn)為是一個(gè)寬數(shù)據(jù)對(duì)象,因?yàn)槊總€(gè)ETF都有自己的列并使對(duì)象更寬。asset_returns_long并asset_returns_xts保持完全相同的信息,但格式不同。我們將研究如何使用highcharter對(duì)兩者進(jìn)行可視化,因?yàn)樗鼈兌际墙鹑诮绲牧餍袛?shù)據(jù)格式。
讓我們從asset_returns_xtsHighcharts工具鏈的Highstock部分開(kāi)始并使用它。要從R調(diào)用此功能,我們首先提供,然后提供要繪制的數(shù)據(jù)。請(qǐng)注意,我們指定type =“line”,但這不是必需的,因?yàn)槟J(rèn)值是折線圖。 highchart(type = "stock")
highchart(type = "stock") %>% hc_add_series(asset_returns_xts$SPY, type = "line")
看一下圖表,注意它底部有一個(gè)導(dǎo)航器,右上角有一個(gè)日期范圍選擇器。我們沒(méi)有必要對(duì)它們進(jìn)行編碼,默認(rèn)情況下創(chuàng)建它們是我們最終用戶的一個(gè)非常好的功能。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")
將鼠標(biāo)懸停在這兩個(gè)圖表上并注意工具提示如何自動(dòng)從x軸拉出日期。 對(duì)于散點(diǎn)圖,我們使用相同的代碼流,更改為,但我們也可以通過(guò)追加來(lái)添加EFA ETF的回報(bào)。我們可以為所有5個(gè)ETF做這個(gè),逐行添加它們,將所有5個(gè)放在同一個(gè)散點(diǎn)圖上。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")
購(gòu)買Highcharts正版授權(quán),請(qǐng)點(diǎn)擊“”喲!
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn