рекомендации

пятница, 15 мая 2020 г.

Сказка о двух типах доходностей

Оригинал: A tale of two returns

Ключевой элемент сюжета «Повести о двух городах» состоит в том, что есть два человека, Чарльз Дарни и Сидни Картон, которые выглядят почти одинаково. Они разные, но в некоторых отношениях взаимозаменяемы.

Простые доходности и логарифмические различны, но в некоторых отношениях взаимозаменяемы.


Определения доходностей

Традиционно простые доходности обозначаются заглавной буквой R, а логарифмические - строчной буквой r. Они определяются следующим образом:

Rt = (Pt – Pt-1) / Pt-1 = Pt / Pt-1 – 1

rt = log(Pt / Pt-1) = log(Pt) – log(Pt-1)

где Pt - цена актива в момент времени t. Мы определяем доходность от времени t-1 до времени t. Логарифмическая функция здесь - натуральный логарифм.

Вычисления в R

В языке R, если у вас есть вектор цен (для одного и того же актива в разное время), вы можете вычислить простую доходность следующим образом:

> R <- priceVec[-1] / priceVec[-length(priceVec)] - 1

Расчет будет немного отличаться, если у вас матрица цен (со временем в строках и активами вдоль столбцов):

> R <- priceMat[-1, ] / priceMat[-nrow(priceMat), ] - 1

Для логарифмических доходностей вы можете использовать одну и ту же команду в любом случае:

> r <- diff(log(prices))

Предостережение: здесь предполагается, что все позиции длинные. Продолжайте читать для объяснения доходностей для коротких позиций.

Номенклатура

У нас есть две одинаковые концепции, и мы должны различать их. К сожалению, это примерно так же грязно, как французская революция, в которую втянуты наши персонажи Диккенса.

Во-первых, некоторые думают, что то, что мы называем «доходностью» (return), является аббревиатурой «нормы прибыли» (rate of return).

Предостережение: здесь предполагается, что позиции все длинные. Далее будут рассмотрены доходности для коротких позиций.

Таблица 1: Названия для концепций доходностей.

r
R
R+1
log
simple
total
continuously
compounded
net gross

Мне трудно поверить, что в таблице 1 перечислены все слова, которые используются. Дайте мне знать, если есть другие.

Требуется крайняя осторожность. Некоторые из этих слов непоследовательно используются разными людьми.

Слово «итого» (total) может (и по моему опыту, скорее всего, так) означать доход, который включает как дивиденды, так и цены. Простой (simple) общий доход в этом смысле:

Rt = (Pt + Dt – Pt-1) / Pt-1

где Dt - дивиденды или проценты, выплачиваемые между моментами времени t-1 и t. Эта концепция иногда выражается как «общая» (overall) доходность.

Термины «брутто» (gross) и «нетто» (net) чаще используются для обозначения чего-то вроде до и после налогообложения.

Замечание: волшебного зелья нет. Вам нужно будет угрожать насилием в отношении тех, кто говорит, пока они не дадут понять, что они имеют в виду.

Преобразование

Легко преобразовать один тип доходности в другой. Вскоре мы увидим, почему это полезно.

Чтобы перейти от простой доходности к логарифмической, выполните:

r = log(R + 1)

Для перехода от логарифмической к простой доходности выполните:

R = exp(r) – 1

Эти формулы работают точно так же, как в R - независимо от того, являются ли возвращаемые значения векторами или матрицами.

Рисунок 1: Сравнение простых и логарифмических доходностей.


На рисунке 1 сравниваются простые и логарифмические доходности. Он показывает, что логарифмические доходности всегда меньше простых (потому что наименьшая возможная простая доходность составляет -100%, что дает минус бесконечность для логарифмической доходности). Для ежедневных или внутридневных доходностей различия между двумя типами будут, как правило, тривиальными.

Агрегация

Эти два типа доходностей ведут себя очень по-разному, когда дело доходит до агрегации. Каждый из них имеет преимущество перед другим:
  • простая доходность агрегируется по активам
  • логарифмическая агрегируется по времени

Простая доходность портфеля - это взвешенная сумма простых доходностей составляющих портфеля.

Логарифмическая доходность за период времени является суммой логарифмических доходностей частей периода времени. Например, логарифмическая доходность за год - это логарифмических доходностей дней в году.

Обратное движение во времени

Физики склонны считать, что время идет только в одном направлении. В финансах время может идти в обратном направлении - вы можете шортить актив.

Или вы можете думать об этом как о введении в заблуждение. То, что было определено как начальное время в формулах доходности, должно на самом называться временем покупки, а то, что было определено как конечное время, должно быть временем продажи. Когда мы открываем короткую позицию по активу, время продажи идет раньше времени покупки.

Логарифмическая доходность короткой позиции является отрицательным значение логарифмической доходности длинной позиции. Соотношение простой доходности короткой позиции относительно длинной позиции немного сложнее:

-R / (R + 1)

Вычисления, которые мы видели ранее на языке R, предполагают, что позиции длинные, а времена идут в правильном порядке. При вычислении логарифмической доходности коротких позиций вы всегда можете просто взять отрицательный результат вычисления для длинных позиций. Для простой доходности у вас есть несколько вариантов.

Иностранная валюта

Доходность, которую вы получаете для актива, который оценивается в иностранной валюте, зависит как от доходности в иностранной валюте, так и от доходности этой валюты по отношению к вашей домашней валюте.

Существует простая связь для логарифмической доходности: это сумма логарифмической доходности актива в иностранной валюте и логарифмической доходности валюты. Формула для простых доходностей немного сложнее.

Если у вас есть доходность по евро за доллар, то какова доходность по долларам за евро? Опять же, это легко для логарифмической доходности: одно - отрицательное значение другого.

Эпилог 

Повесть о двух городах заканчивается тем, что Картон занимает место Дарне в тюрьме и на гильотине. Он делает это для женщины, которую они оба любят, которая выбрала Дарне, а не Картона, чтобы выйти замуж. Последнее предложение романа - мысли Кардона перед тем, как он будет казнен.

Приложение R

Чтобы создать рисунок 1 с помощью R, вы можете выполнить следующий код:

> retseq <- seq(-.75, .75, length=100)
> plot(retseq, log(retseq + 1), type='l')
> abline(0,1, lty=2)

Команды, которые фактически создают рисунок 1:

> retseq <- seq(-.75, .75, length=100)
> plot(retseq, log(retseq + 1), type="l",
+    axes=FALSE, col="blue", lwd=3, xlab="Simple return",
+    ylab="Log return")
> axis(1, at=c(-.5, 0, .5), label=c("-50%", "0%", "50%"))
> axis(2, at=c(-1, -.5, 0, .5),
+    label=c("-100%", "-50%", "0%", "50%"))
> box()
> abline(0,1, lty=2, col="gold")

Комментариев нет:

Отправка комментария