Блог им. NickolayF

Как быстро оценить свой портфель

Привет всем. Чтобы не изобретать велосипеды #софты для просмотра структуры портфеля#.

Скачиваем R, RStduio. В RStudio устанавливаем библиотеки: rusquant, PerformanceAnalytics, PerformanceAnalytics.
Добавляем следующий код в RStudio.

Подключаем библиотеки:

library(rusquant)
library(PerformanceAnalytics)
library(PortfolioAnalytics)

Задаем тикеры, веса, начальную дату и просто переменную куда вытянем цены.

tickers <- c("FXGD","IRAO")
weights <- c(.5,.5)
start_data <- "2014-01-01"
PortPrices <- NULL

Вытягиваем данные с финама, есть и другие источники mfd,alor(вроде)

for(curr in tickers) {
               PortPrices <- cbind(PortPrices, getSymbols(curr, src = 'Finam', auto.assign = FALSE)[,4])
}

Тянем значения индекса, очищаем от пропущенных значения, считаем дневную доходность.

benchmark <- getSymbols("MICEX", src = "Finam", auto.assign = FALSE)[,4]
benchmarkRet <- na.omit(ROC(benchmark))
Тоже самое для портфеля акций, плюс считаем портфель и включаем ребалансировку каждый месяц.

PortReturn <- na.omit(ROC(PortPrices))
PortRet <- Return.portfolio(PortReturn, weights = weights, rebalance_on = "month")
PortCum <- cumsum(PortRet)
Micex <- cumsum(benchmarkRet)

Строим график портфеля и индекса.

chart_Series(PortCum)
add_TA(Micex, on = 1, col="blue", lty=2)
Как быстро оценить свой портфель

видим что портфель из двух непримечательных активов FXGD и акций ИнтерРАО в соотношении(50/50) уделывает индекс ммвб.
Считаем альфу, бету.

CAPM.beta(PortRet, benchmarkRet, .035/252)
CAPM.jensenAlpha(PortRet, benchmarkRet, .035/252)

0.8568791
0.126834

Эти и кучу других функций изучайте сами :)

table.AnnualizedReturns(PortRet)
table.CalendarReturns(PortRet)
table.Correlation(PortRet, benchmarkRet)

Спасибо за внимание, всем профита!

Улучшения, доработки пишите в комментах.

★6
1 комментарий
В Ехcеl есть функция чистодоход.
avatar

теги блога Некто никто

....все тэги



UPDONW
Новый дизайн