Post List

2019년 2월 15일 금요일

asset_data 데이터 업데이트 및 plot 라인 업데이트

 




데이터과학의 단계 중
마지막 부분인 Communicate에 맞게,

수익률 및 지표를 시각화하는 라인이 업데이트 되었습니다.





remove.packages('HenryQuant')
Removing package from C:/Users/Henry/Documents/R/win-library/3.5
(as lib is unspecified)

먼저 깔끔하게 패키지는 삭제해 줍니다.


devtools::install_github("hyunyulhenry/HenryQuant")
library(HenryQuant)

devtools 패키지의 함수를 이용해
깃헙에 있는 HenryQuant 패키지를 설치해줍니다.

devtools 패키지가 없는 분들은 해당 패키지를 먼저 설치하셔야 합니다.




import 패키지에 dplyrtidyr, 그리고 ggplot2 함수가
더해졌습니다.

앞으로 해당 패키지를 이용한 (결과물 출력 위주)
추가 함수들도 업데이트 할 예정입니다.


library(xts)
data(asset_data)

first(index(asset_data))
[1] "1993-01-01 KST"

last(index(asset_data))
[1] "2018-12-31 KST"

먼저 xts 패키지를 불러온 후,
10개 자산의 시계열 데이터가 있는 asset_data 데이터를 불러옵니다.

기존 1993년~2017년까지 자료에서 1년이 추가된
1993년~2018년까지 데이터가 늘어났습니다.

각종 전략의 2018년 성과를 확인해보고 싶으신 분은
업데이트된 데이터를 이용하시면 됩니다.


plot_cumulative(asset_data[, 1])


plot_cumulative() 함수는 누적수익률을 그려줍니다.
먼저 S&P500 지수의 1993년부터 2018년 까지의 모습입니다.
ggplot() 함수를 이용하여 이쁘게 그려집니다.


plot_cumulative(asset_data)



10개 자산 모두를 그려줍니다.
잘 그려지기는 하나, y축의 스케일 차이가 너무 많이 나는 바람에
최하단에 위치한 그래프는 단순히 수평으로 보이는 단점이 있습니다.


plot_cumulative(asset_data, ylog = TRUE)


ylog 파라미터를 TRUE로 지정해줄 경우,
log 수익률 그래프로 변경되어 스케일 이펙트가 줄어들게 됩니다.

최하단에 위치한 JAPAN의 시계열 움직임도 제대로 확인할 수 있습니다.


plot_drawdown(asset_data[, c(1,5,7)])


plot_drawdown() 함수는 드로우다운을 나타내줍니다.
PerformanceAnalytics 패키지의 Drawdowns() 함수를 이용하며
파라미터 값은 없습니다.


plot_yearly(asset_data[,c(1,5)])


plot_yearly() 함수는 연율화 수익률을 막대그래프로 나타내며,
각 그래프 위에 수익률 text를 보여줍니다.


plot_yearly(asset_data)


그러나 포트폴리오가 많아질 경우,
텍스트로 인해 그림이 지나치게 지저분해지는 단점이 있습니다.


plot_yearly(asset_data, label.text = FALSE)


label.text() 파라미터를 FALSE로 지정할 경우
텍스트 라벨이 보이지 않고, 막대그래프만 그리게 됩니다.


pf = PerformanceAnalytics::Return.portfolio(asset_data[, c(1,5)],
                                            rebalance_on = 'month',
                                            verbose = TRUE)
wts = pf$EOP.Weight
head(wts)
                  US LONG_BOND
1993-01-01 0.5000000 0.5000000
1993-01-02 0.5000000 0.5000000
1993-01-03 0.5000000 0.5000000
1993-01-04 0.4987022 0.5012978
1993-01-05 0.4981492 0.5018508
1993-01-06 0.4982560 0.5017440

다음은 비중을 뽑아주기 위해 간단한 작업을 해줍니다.
주식 채권 5:5 포트폴리오의 일간 비중을 만들어 줍니다.


plot_StackedBar(wts)


plot_StackedBar() 함수는
비중으로 치환된 중첩그래프를 보여줍니다.

각종 포트폴리오의 비중 변화를 나타내기 유용한 함수입니다.

댓글 없음:

댓글 쓰기