Проведите анализ чувствительности, чтобы оценить торговые издержки

В этом примере показано, как оценить изменения в торговых издержках из-за ликвидности, энергозависимости и чувствительности рынка, чтобы заказать поток и отрасли. С анализом операционных издержек от 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);

Создайте аналитический объект k операционных издержек Kissell Research Group.

k = krg(miData);

Загрузите данные в качестве примера из файла KRGExampleData.mat, который включен с Datafeed Toolbox™.

load KRGExampleData.mat

Для описания данных в качестве примера смотрите Наборы данных Kissell Research Group.

Оцените начальные торговые издержки

Оцените начальные торговые издержки с помощью данных в качестве примера 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 Research Group.

Смотрите также

| | | |

Похожие темы