Построение эффективной границы и линии распределения капитала для портфеля из трёх акций в Excel
David Johnk
0:00 / 0:00
Построение эффективной границы и линии распределения капитала для портфеля из трёх акций в Excel
9 286 просмотров · 1 год назад
David Johnk
8,25 тыс. подписчиков
9 286 просмотров · 1 год назад
Я написал несколько функций Lambda для расчета портфеля, вот они:
/* Эти функции Lambda для Excel рассчитывают различные статистические данные портфеля на основе списка цен (P), отсортированных в порядке возрастания (от старых к новым), и весов портфеля (w) */
/* Обратите внимание: */
/* 1) Ожидаемые значения не являются гарантированными значениями, они основаны на исторических данных */
/* 2) Результаты будут отличаться в зависимости от частоты (ежедневно, ежемесячно и т. д.) и количества наблюдений */
/* 3) Дэвид В. Джонк не несет ответственности за какие-либо ошибки или упущения. Предоставляется "как есть", без каких-либо гарантий полноты, точности, полезности или актуальности. */
/* Смотрите мое видео на YouTube: • Excel Lambda functions which easily calcul... */
periodicreturns = LAMBDA(P,OFFSET(P,1,0,ROWS(P)-1)/OFFSET(P,0,0,ROWS(P)-1)-1);
expectedrets = LAMBDA(P,BYCOL(periodicreturns(P),LAMBDA(array, AVERAGE(array))));
stdevrets = LAMBDA(P,BYCOL(periodicreturns(P),LAMBDA(array,stdev.p(array))));
varrets = LAMBDA(P,BYCOL(periodicreturns(P),LAMBDA(array,var.p(array))));
excessrets = LAMBDA(P,periodicreturns(P)-expectedrets(P));
varcovarmatrix = LAMBDA(P,MMULT(TRANSPOSE(excessrets(P)),excessrets(P))/(ROWS(P) - 1));
correlmatrix = LAMBDA(P,varcovarmatrix(P)/mmult(transpose(stdevrets(P)),stdevrets(P)));
portexpectedret = LAMBDA(w,P,sumproduct(w,expectedrets(P)));
portstddev = LAMBDA(w,P,SQRT(MMULT(MMULT(w,varcovarmatrix(P)),TRANSPOSE(w))));