В этом примере показано, как определить стоимость ликвидации отдельных запасов в портфеле с помощью анализа операционных издержек от Kissell Research Group. Сравните отдельные запасы в портфеле с помощью различных метрик в графике рассеивания.
Данные в качестве примера используют процент стратегии торговли объемом вычислить затраты. Можно также использовать торговую стратегию торговли времени запустить анализ, заменяя процент данных об объеме с торговыми данными времени.
Чтобы получить доступ к примеру кода, введите 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);
Создайте аналитический объект k
операционных издержек Kissell Research Group.
k = krg(miData);
Загрузите данные в качестве примера TradeData
из файла KRGExampleData.mat
, который включен с Datafeed Toolbox™.
load KRGExampleData.mat TradeData
Для описания данных в качестве примера смотрите Наборы данных Kissell Research Group.
Оцените, что влияние на рынок стоит mi
.
TradeData.mi = marketImpact(k,TradeData);
Оцените, что синхронизация рискует tr
.
TradeData.tr = timingRisk(k,TradeData);
Оцените фактор ликвидности lf
.
TradeData.lf = liquidityFactor(k,TradeData);
Для получения дополнительной информации о предыдущих вычислениях, свяжитесь с Kissell Research Group.
Создайте график рассеивания, который показывает следующее:
Размер
Энергозависимость
Влияние на рынок
Синхронизация риска
Фактор ликвидности
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
| marketImpact
| timingRisk
| liquidityFactor