В этом примере показано, как определить оптимальные веса портфеля для заданного долларового значения с помощью анализа транзакционных издержек от Kissell Research Group. Выборочный портфель содержит только длинные акции акций. Во время реализации инвестиционного решения можно учитывать риски, окупаемость и рыночное влияние.
Для этого примера требуется лицензия Optimization Toolbox™. Для получения справочной информации смотрите Обзор теории оптимизации (Optimization Toolbox).
KRGPortfolioOptimizationExample
функцию, доступ к которой можно получить путем ввода edit KRGPortfolioOptimizationExample.m
, обращается к трем различным сценариям оптимизации:
Максимизируйте компромисс между чистым возвратом портфеля и риском портфеля. Максимизация компромисса выражается как
где:
R - предполагаемый возврат для каждого запаса в портфеле.
x обозначает веса для каждой акции в портфеле.
MI - стоимость влияния на рынок для указанного значения и количества акций.
- заданный параметр отвращения к риску.
C - ковариационная матрица складских данных.
Минимизируйте риск портфеля, удовлетворяющий минимальному целевому показателю возврата, используя
Максимизируйте чистый возврат портфеля при условии максимального целевого риска с помощью
Нижняя и верхняя границы ограничивают 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.
krg
| marketImpact
| fmincon
(Optimization Toolbox) | optimoptions
(Optimization Toolbox)