Этот пример показывает, как оценить изменения в торговых издержках из-за ликвидности, волатильности и чувствительности рынка к потоку заказов и сделкам. С помощью анализа транзакционных издержек исследовательской группы Kissell можно моделировать окружение торговых издержек для набора запасов. Анализ чувствительности позволяет вам оценить будущие торговые издержки для различных рыночных условий, чтобы определить соответствующее содержание портфеля, которое удовлетворяет потребности инвесторов.
Здесь оцените изменения в торговых издержках за счет снижения среднесуточного объема на 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
, который входит в комплект поставки Datafeed Toolbox™.
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