exponenta event banner

Провести обратный тест на портфолио

В этом примере показано, как провести обратный тест набора запасов с использованием анализа затрат на транзакции от исследовательской группы Kissell.

  • Анализ реализации инвестиционной стратегии в определенный день или диапазон дат.

  • Оценка затрат за прошлые периоды, влияющих на рынок, и соответствующих значений в долларах за указанные даты.

  • Анализ затрат на торговлю различными заказами на различные даты.

Для вызова кода примера введите edit KRGBackTestingExample.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,datetime('today'),1,250);

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

load KRGExampleData TradeDataBackTest

Описание данных примера см. в разделе Наборы данных исследовательской группы Kissell.

Подготовка данных для обратного тестирования

Определение количества запасов numRecords в портфеле.

numRecords = length(TradeDataBackTest.Symbol);

Предварительно распределить таблицу выходных данных o.

o = table(TradeDataBackTest.Symbol,TradeDataBackTest.Side, ...
    TradeDataBackTest.Date,NaN(numRecords,1),NaN(numRecords,1), ...
    'VariableNames',{'Symbol','Side','Date','MI','MIDollar'});

Убедитесь, что количество общих ресурсов является положительным значением с помощью abs функция.

TradeDataBackTest.Shares = abs(TradeDataBackTest.Shares);

Преобразование торговой стратегии в процентное отношение к объемной торговой стратегии.

TradeDataBackTest.TradeTime = TradeDataBackTest.TradeTime ...
    .* TradeDataBackTest.ADV;
TradeDataBackTest.POV = krg.tradetime2pov(TradeDataBackTest.TradeTime, ...
    TradeDataBackTest.Shares);

Проведение обратного тестирования путем оценки затрат, связанных с воздействием на рынок, за прошлые периоды

Оценка исторических затрат, влияющих на рынок, для каждого запаса в портфеле на различные даты с использованием marketImpact. Преобразование затрат, влияющих на рынок, из десятичных в местные доллары. Получение результирующих данных в таблице выходных данных o.

for ii = 1:numRecords
    
    k.MiDate = TradeDataBackTest.Date(ii);
    k.MiCode = TradeDataBackTest.MICode(ii);

    o.MI(ii) = marketImpact(k,TradeDataBackTest(ii,:));
    MIDollars = (TradeDataBackTest.Shares(ii) * TradeDataBackTest.Price(ii)) ...
        * o.MI(ii)/10000 * TradeDataBackTest.FXRate(ii);

    o.MIDollar(ii) = MIDollars;
    
end

Просмотрите первые три строки выходных данных.

o(1:3,:)
ans = 

    Symbol    Side       Date        MI     MIDollar
    ______    ____    __________    ____    ________

    'A'       1.00    '5/1/2015'    1.04     103.91 
    'B'       1.00    '5/1/2015'    3.09    3864.44 
    'C'       1.00    '5/1/2015'    8.54    5335.03 

Выходные данные содержат следующие переменные:

  • Символ запаса

  • Сторона

  • Историческая дата торговли

  • Стоимость влияния на рынок за прошлые периоды в базисных точках

  • Стоимость за прошлые периоды воздействия на рынок в местных долларах

Ссылки

[1] Кисселл, Роберт. «Создание динамических предпродажных моделей: за черным ящиком». Журнал торгов. Том 6, номер 4, осень 2011, стр. 8-15.

[2] Кисселл, Роберт. «TCA в инвестиционном процессе: обзор». Журнал индексного инвестирования. Том 2, номер 1, лето 2011, стр. 60-64.

[3] Кисселл, Роберт. Наука алгоритмической торговли и управления портфелем. Кембридж, Массачусетс: Elsevier/Академическая пресса, 2013.

[4] Чон, Грейс и Роберт Кисселл. «Применение транзакционных издержек в процессе оптимизации портфеля». Журнал торгов. Том 11, номер 2, весна 2016, стр. 11-20.

См. также

|

Связанные темы