Блог им. 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)

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

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

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

Читайте на SMART-LAB:
X5 объявляет о размещении корпоративных облигаций на сумму 20 млрд руб.
X5 объявляет о размещении ООО «ИКС 5 ФИНАНС» рублевых облигаций серии 003P-16 на сумму 20 млрд руб. Ставка купона по облигациям с ежемесячным...
Фото
NZD/CHF: цены уперлись в потолок, давая шанс на снижение
Кросс-курс NZD/CHF оттолкнулся от области сопротивления, сформированной между уровнями 0,4663 и 0,4674. При этом текущий день (среду) цена пробует...
В Центробанке намекнули на паузу в снижении ключевой ставки
Зампред Банка России Алексей Заботкин в интервью Радио РБК заявил, что изменение ставки на 0,5 п.п. на ближайших заседаниях «погоды не делает —...
Фото
Пошли продажи… Изменения в портфеле
Последний раз писал про портфель 13 января и сегодня я совершил несколько небольших сделок. Структура портфеля на 13.01.2026г.:

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

....все тэги



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