price2ret

Преобразуйте цены в возвраты

Синтаксис

[RetSeries,RetIntervals] = ...
price2ret(TickSeries,TickTimes,Method)

Описание

[RetSeries,RetIntervals] = ...
price2ret(TickSeries,TickTimes,Method)
вычисляет возвраты активов для NUMOBS ценовые наблюдения за NUMASSETS активы.

Входные параметры

TickSeries

Временные ряды ценовых данных. TickSeries может быть вектором-столбцом или матрицей:

  • Как вектор, TickSeries представляет одномерный ценовой ряд. Длина вектора является количеством наблюдений (NUMOBS). Первый элемент содержит самое старое наблюдение, а последний - самое последнее.

  • Как матрица, TickSeries представляет собой NUMOBS-по количеству активов (NUMASSETS) матрица цен на активы. Строки соответствуют временным индексам. Первая строка содержит самые старые наблюдения и последняя строка - самые последние. price2ret принимает, что наблюдения по данной строке происходят одновременно для всех столбцов, где каждый столбец является ценовым рядом отдельного актива.

TickTimes

A NUMOBS вектор элемента монотонно увеличивающегося времени наблюдения. Время является числовым и принимается либо как серийные номера дат (day модулей), либо как десятичные числа в произвольных модулях (для примера, ежегодно). Если TickTimes является [] или не определено, затем price2ret принимает последовательное время наблюдения от 1, 2, ..., NUMOBS.

Method

Вектор символов, указывающий метод компаундирования для вычисления возвратов активов. Если Method является 'Continuous', [], или не определено, тогда price2ret вычисляет непрерывно компаундируемые возвраты. Если   Method = 'Periodic', затем price2ret принимает простые периодические возвраты. Method является нечувствительным к регистру.

Выходные аргументы

RetSeries

Массив возвратов активов:

  • Когда TickSeries является NUMOBS элементы вектора-столбца, RetSeries является NUMOBS-1 Вектор-столбец.

  • Когда TickSeries является NUMOBS-by- NUMASSETS матрица, RetSeries является (NUMOBS-1)-by- NUMASSETS матрица. price2ret i возврат актива за период TickTimes(i) на TickTimes(i+1). Затем он нормализует его по временному интервалу между последовательными наблюдениями цен.

    Принимая, что

    RetIntervals(<reservedrangesplaceholder1>) = TickTimes(i +1) – TickTimes(<reservedrangesplaceholder0>)

    тогда если Method является 'Continuous', [], или не определено, price2ret вычисляет непрерывно компаундируемые возвраты как

    RetSeries(i) = журнал [TickSeries(i +1) / TickSeries(<reservedrangesplaceholder1>)] / RetIntervals(<reservedrangesplaceholder0>)

    Если Method является 'Periodic', затем price2ret вычисляет простые возвраты как

    RetSeries(<reservedrangesplaceholder1>) = [TickSeries(i +1) / TickSeries(<reservedrangesplaceholder1>)] – 1 / RetIntervals(<reservedrangesplaceholder0>)

RetIntervals

NUMOBS-1 вектор элемента времени между наблюдениями. Если TickTimes является [] или не задан, price2ret принимает, что все интервалы 1.

Примеры

свернуть все

Создайте процесс цен на акции, постоянно составленный на уровне 10 процентов:

S = 100*exp(0.10 * [0:19]'); 
    % Create the stock price series

Преобразуйте ценовую серию в 10-процентную возвратную серию:

R = price2ret(S);   % Convert the price series to a 
                    % 10 percent return series
[S [R;NaN]]  % Pad the return series so vectors are of  
ans = 20×2

  100.0000    0.1000
  110.5171    0.1000
  122.1403    0.1000
  134.9859    0.1000
  149.1825    0.1000
  164.8721    0.1000
  182.2119    0.1000
  201.3753    0.1000
  222.5541    0.1000
  245.9603    0.1000
      ⋮

   % same length. price2ret computes the ith return from 
   % the ith and i+1th prices.

См. также

|

Представлено до R2006a