Оптимизация длинного портфеля

В этом примере показано, как определить оптимальные веса портфеля для заданного долларового значения с помощью анализа транзакционных издержек от Kissell Research Group. Выборочный портфель содержит только длинные акции акций. Во время реализации инвестиционного решения можно учитывать риски, окупаемость и рыночное влияние.

Для этого примера требуется лицензия Optimization Toolbox™. Для получения справочной информации смотрите Обзор теории оптимизации (Optimization Toolbox).

KRGPortfolioOptimizationExample функцию, доступ к которой можно получить путем ввода edit KRGPortfolioOptimizationExample.m, обращается к трем различным сценариям оптимизации:

  1. Максимизируйте компромисс между чистым возвратом портфеля и риском портфеля. Максимизация компромисса выражается как

    argmaxx[R'xMI'|x|λx'Cx],

    где:

    • R - предполагаемый возврат для каждого запаса в портфеле.

    • x обозначает веса для каждой акции в портфеле.

    • MI - стоимость влияния на рынок для указанного значения и количества акций.

    • λ - заданный параметр отвращения к риску.

    • C - ковариационная матрица складских данных.

  2. Минимизируйте риск портфеля, удовлетворяющий минимальному целевому показателю возврата, используя

    argminx[x'Cx].

  3. Максимизируйте чистый возврат портфеля при условии максимального целевого риска с помощью

    argmaxx[R'xMI'|x|].

Нижняя и верхняя границы ограничивают x в каждом сценарии. Каждая оптимизация находит локальный оптимум. Для способов поиска глобального оптимума смотрите Локальный и Глобальный оптимумы (Optimization Toolbox).

Извлечение параметров влияния рынка и данных о загрузке

Получите данные о влиянии рынка на FTP-сайт Kissell Research Group. Подключитесь к FTP-сайту с помощью ftp функция с именем пользователя и паролем. Перейдите к MI_Parameters папка и извлечение данных о влиянии рынка в MI_Encrypted_Parameters.csv файл. miData содержит зашифрованную дату влияния на рынок, код и параметры.

f = ftp('ftp.kissellresearch.com','username','pwd');
mget(f,'MI_Encrypted_Parameters.csv');
close(f)

miData = readtable('MI_Encrypted_Parameters.csv','delimiter', ...
    ',','ReadRowNames',false,'ReadVariableNames',true);

Создайте объект анализа затрат на транзакцию Kissell Research Group k. Укажите начальные настройки для даты, кода влияния на рынок и количества торговых дней.

k = krg(miData,datetime('today'),1,250);

Загрузите пример данных TradeDataPortOpt и ковариационные данные CovarianceData из файла KRGExampleData.mat, который входит в комплект поставки Datafeed Toolbox™. Ограничьте набор данных первыми 50 строками.

load KRGExampleData TradeDataPortOpt CovarianceData

n = 50;
TradeDataPortOpt = TradeDataPortOpt(1:n,:);
CovarianceData = CovarianceData(1:n,1:n);

Описание примерных данных см. в разделе Наборы данных исследовательской группы Kissell.

Максимизация чистого возврата портфеля

Запустите сценарий оптимизации, используя пример и ковариационные данные. Чтобы запустить первую оптимизацию, задайте 1 в последнем входном параметре.

[Weight,Shares,Value,MI] = KRGPortfolioOptimizationExample(TradeDataPortOpt, ...
    CovarianceData,1);

KRGPortfolioOptimizationExample возвращает оптимизированные значения для каждого запаса в портфеле:

  • Вес портфеля

  • Количество акций

  • Портфельные долларовые значения

  • Затраты, влияющие на рынок

Чтобы запустить два других сценария, задайте 2 или 3 в последнем входном параметре KRGPortfolioOptimizationExample.

Отображение веса портфеля для первых трех запасов в портфеле в десятичном формате.

format

Weight(1:3)
ans =

    0.0100
    0.3198
    0.1610

Отображение количества акций с использованием двух десятичных знаков для первых трех акций в портфеле.

format bank

Shares(1:3)
ans =

      24420.02
    3249893.71
     402364.47

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

Value(1:3)
ans =

    1000000.00
   31977654.17
   16097274.50

Отображение затрат на влияние на рынок для первых трех запасов в портфеле в десятичном формате.

format

MI(1:3)
ans =

   1.0e-03 *

    0.1250
    0.7879
    0.3729

Ссылки

[1] Кисселл, Роберт. Создание динамических моделей Pre-Trade: Beyond the Black Box (неопр.) (недоступная ссылка). Торговый журнал. Том 6, № 4, осень 2011, стр. 8-15.

[2] Кисселл, Роберт. «TCA в инвестиционном процессе: обзор». Журнал Индекса инвестиций. Том 2, № 1, лето 2011, с. 60-64.

[3] Кисселл, Роберт. Наука об алгоритмической торговле и управлении портфелем. Cambridge, MA: Elsevier/Academic Press, 2013.

[4] Чунг, Грейс и Роберт Кисселл. «Применение транзакционных издержек в процессе оптимизации портфеля». Торговый журнал. Том 11, номер 2, весна 2016, стр. 11-20.

См. также

| | (Optimization Toolbox) | (Optimization Toolbox)

Похожие темы