В этом примере показано, как определить стоимость ликвидации отдельных акций в портфеле с помощью анализа операционных затрат Исследовательской группы Kissell. Сравните отдельные акции в портфеле, используя различные метрики на графике рассеяния.
В примере данных для расчета затрат используется процентная доля стратегии торговли объемом. Можно также использовать торговую стратегию торгового времени для выполнения анализа путем замены процентного содержания данных объема данными торгового времени.
Для вызова кода примера введите edit KRGPortfolioLiquidityExample.m в командной строке.
Извлеките данные о влиянии на рынок с 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);
Загрузка данных примера TradeData из файла KRGExampleData.mat, который входит в состав Toolbox™ Datafeed.
load KRGExampleData.mat TradeData
Описание данных примера см. в разделе Наборы данных исследовательской группы Kissell.
Оценка затрат, влияющих на рынок mi.
TradeData.mi = marketImpact(k,TradeData);
Оценка временных рисков tr.
TradeData.tr = timingRisk(k,TradeData);
Оценка коэффициента ликвидности lf.
TradeData.lf = liquidityFactor(k,TradeData);
За подробной информацией о предыдущих расчетах обращайтесь в исследовательскую группу Kissell.
Создайте график разброса, который показывает следующее:
Размер
Изменчивость
Влияние на рынок
Риск таймирования
Коэффициент ликвидности
figure axOrder = subplot(2,3,1); nSymbols = 1:length(TradeData.Size); scatter(nSymbols,TradeData.Size*100,10,'filled') grid on box on title(' Order Size (%ADV)') axOrder.YAxis.TickLabelFormat = '%.1f%%'; axVolatility = subplot(2,3,2); scatter(nSymbols,TradeData.Volatility*100,10,'filled') grid on box on title('Volatility') axVolatility.YAxis.TickLabelFormat = '%g%%'; axMI = subplot(2,3,4); scatter(nSymbols,TradeData.mi,10,'filled') grid on box on title('Market Impact (bp)') axMI.YAxis.TickLabelFormat = '%.1f'; axTR = subplot(2,3,5); scatter(nSymbols,TradeData.tr,10,'filled') grid on box on title('Timing Risk (bp)') axTR.YAxis.TickLabelFormat = '%.1f'; axLF = subplot(2,3,6); scatter(nSymbols,TradeData.lf*100,10,'filled') grid on box on title('Liquidity Factor') axLF.YAxis.TickLabelFormat = '%.2f%%';

На этом рисунке показан снимок затрат на торговлю и ликвидацию, волатильность и размер акций в портфеле. Этот график рассеяния можно изменить, включив в него другие переменные из TradeData.
krg | liquidityFactor | marketImpact | timingRisk