В этом примере показано, как оценить изменения в торговых затратах из-за ликвидности, волатильности и чувствительности рынка к потоку заказов и сделкам. С помощью анализа затрат на транзакции из исследовательской группы Kissell Research Group можно смоделировать среду торговых затрат для сбора запасов. Анализ чувствительности позволяет оценить будущие торговые затраты для различных рыночных условий, чтобы определить соответствующее содержимое портфеля, соответствующее потребностям инвесторов.
Здесь оцените изменения в торговых издержках из-за снижения среднесуточного объема на 50% и удвоения волатильности. В примере данных используется стратегия торговли в процентах от объема (POV).
Для вызова кода примера введите edit KRGSensitivityAnalysisExample.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);
Загрузка данных примера из файла KRGExampleData.mat, который входит в состав Toolbox™ Datafeed.
load KRGExampleData.matОписание данных примера см. в разделе Наборы данных исследовательской группы Kissell.
Оценка начальных торговых затрат с использованием данных примера TradeData. Торговые затраты:
Мгновенная торговая стоимость itc
Рыночные издержки mi
Риск таймирования tr
Повышение цены pa
Группировать все четыре торговые затраты в числовую матрицу initTCA.
itc = iStar(k,TradeData); mi = marketImpact(k,TradeData); tr = timingRisk(k,TradeData); pa = priceAppreciation(k,TradeData); initTCA = [itc mi tr pa];
Задайте переменные для создания сценария. Здесь сценарий снижает среднесуточный объем на 50% и удваивает волатильность. Цена акций, объем, оценочная альфа и торговая стратегия остаются неизменными по сравнению с данными примера. Значения этих переменных можно изменить для создания различных сценариев. Поля:
Среднесуточный объем
Изменчивость
Цена акций
Объем
Альфа-оценка
Торговая стратегия POV
Торговая стратегия в отношении торгового времени
adjADV = 0.5; adjVolatility = 2.0; adjPrice = 1.0; adjVolume = 1.0; adjAlpha = 1.0; adjPOV = 1.0; adjTradeTime = 1.0;
Скорректируйте данные примера на основе переменных сценария.
TradeDataAdj = TradeData; TradeDataAdj.Size = TradeData.Size .* (1./adjADV); TradeDataAdj.ADV = TradeData.ADV .* adjADV; TradeDataAdj.Volatility = TradeData.Volatility .* adjVolatility; TradeDataAdj.Price = TradeData.Price .* adjPrice; TradeDataAdj.Alpha_bp = TradeData.Alpha_bp .* adjAlpha;
TradeDataAdj содержит скорректированные данные. Размер удваивается, потому что среднесуточный объем уменьшается на 50%.
Преобразование торговой стратегии POV в торговую стратегию торгового времени.
[~,povFlag,timeFlag] = krg.krgDataFlags(TradeData); if povFlag TradeDataAdj.POV = TradeData.POV.*adjPOV; TradeDataAdj.TradeTime = TradeDataAdj.Size .* ... ((1-TradeDataAdj.POV) ./ TradeDataAdj.POV) .* (1./adjVolume); elseif timeFlag TradeDataAdj.TradeTime = tradedata.TradeTime .* adjTradeTime; TradeDataAdj.POV = TradeDataAdj.Size ./ ... (TradeDataAdj.Size + TradeDataAdj.TradeTime .* adjVolume); end
Оцените торговые затраты на основе скорректированных данных. Числовая матрица newTCA содержит торговые затраты для сценария.
itc = iStar(k,TradeDataAdj); mi = marketImpact(k,TradeDataAdj); tr = timingRisk(k,TradeDataAdj); pa = priceAppreciation(k,TradeDataAdj); newTCA = [itc mi tr pa];
Вычитайте торговые затраты из сценария из начальных торговых затрат.
rawWI = newTCA - initTCA; wi = table(rawWI(:,1),rawWI(:,2),rawWI(:,3),rawWI(:,4), ... 'VariableNames',{'ITC','MI','TR','PA'});
Стол wi содержит полное влияние этого сценария на торговые затраты.
Просмотр торговых затрат для первых трех строк в wi.
wi(1:3,:)
ans =
ITC MI TR PA
______ ______ ______ _____
43.05 0.65 290.80 -9.49
408.29 124.52 443.16 8.47
80.92 13.79 114.97 0.93Переменные в wi являются:
Мгновенная торговая стоимость
Рыночные издержки
Риск таймирования
Повышение цены
За подробной информацией о предыдущих расчетах обращайтесь в исследовательскую группу Kissell.
iStar | krg | marketImpact | priceAppreciation | timingRisk