costCurves

Оцените стоимость влияния на рынок выполнения порядка

Описание

пример

cc = costCurves(k,trade,tradeQuantity,tqRange,tradeStrategy,tsRange) возвращает затраты влияния на рынок на использование выполнения порядка:

  • Аналитический объект k операционных издержек Kissell Research Group (KRG)

  • Торгуйте данными trade

  • Торгуйте количеством tradeQuantity с областью значений значений tqRange

  • Торгуйте стратегией tradeStrategy с областью значений значений tsRange

Примеры

свернуть все

Получите данные о влиянии на рынок от FTP-сайта КРГ. Соединитесь с FTP-сайтом с помощью ftp функция с именем пользователя и паролем. Перейдите к MI_Parameters папка и получает данные о влиянии на рынок в MI_Encrypted_Parameters.csv файл. miData содержит зашифрованную дату влияния на рынок, код и параметры.

f = ftp('ftp.kissellresearch.com','username','pwd');
mget(f,'MI_Encrypted_Parameters.csv');

miData = readtable('MI_Encrypted_Parameters.csv','delimiter', ...
    ',','ReadRowNames',false,'ReadVariableNames',true);

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

k = krg(miData);

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

load KRGExampleData

Переменная TradeData появляется в рабочей области MATLAB®.

TradeData содержит эти переменные:

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

  • Курс акций

  • Среднесуточный объем

  • Энергозависимость

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

Оцените затраты влияния на рынок с торговым количеством 'Size' и стратегия 'POV'. Укажите торговый диапазон количества с шагом 0,01 путем запуска от 0,01 и окончания в одном. Укажите торговый диапазон стратегии с шагом 0,05 путем запуска от 0,05 и окончания в 0,5.

cc = costCurves(k,TradeData,'Size',(0.01:0.01:1),'POV',(0.05:0.05:0.5));

Отобразите первые три строки данных о расходах влияния на рынок.

cc(1:3,:)
ans = 

    Symbol    Size     Shares       Dollars      POV     TradeTime    Cost_BP    Cost_DollarsPerShare    Cost_Dollars
    ______    ____    _________    __________    ____    _________    _______    ____________________    ____________

    'AAL'     0.01    114764.24    6251208.50    0.05    0.19         11.42      0.06                     7139.93    
    'AAL'     0.01    114764.24    6251208.50    0.10    0.09         17.93      0.10                    11210.76    
    'AAL'     0.01    114764.24    6251208.50    0.15    0.06         23.42      0.13                    14637.37    

Данные о расходах влияния на рынок содержат:

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

  • Размер

  • Количество долей в транзакции

  • Сумма в долларах транзакции

  • Процент объема, чтобы завершить транзакцию

  • Торгуйте временем, чтобы завершить транзакцию в проценте дня

  • Влияние на рынок стоится в пунктах

  • Влияние на рынок стоится в долларах на долю

  • Влияние на рынок стоится в долларах

Отобразите кривые затрат для первого запаса для них процент уровней объема: 5%, 15%, 25% и 35%.

figure
subplot(2,2,1) 
plot(cc.Size(1:10:1000)*100,cc.Cost_BP(1:10:1000))
grid on
axis([0 100 0 250]) 
xlabel({'Size','(%ADV)'}) 
ylabel({'Cost','(bps)'}) 
title('POV = 5%') 
a = gca; 
a.XAxis.TickLabelFormat = '%g%%';

subplot(2,2,2) 
plot(cc.Size(3:10:1000)*100,cc.Cost_BP(3:10:1000)) 
grid on
axis([0 100 0 250]) 
xlabel({'Size','(%ADV)'}) 
ylabel({'Cost','(bps)'}) 
title('POV = 15%') 
b = gca; 
b.XAxis.TickLabelFormat = '%g%%';

subplot(2,2,3) 
plot(cc.Size(5:10:1000)*100,cc.Cost_BP(5:10:1000)) 
grid on
axis([0 100 0 250]) 
xlabel({'Size','(%ADV)'}) 
ylabel({'Cost','(bps)'}) 
title('POV = 25%') 
c = gca; 
c.XAxis.TickLabelFormat = '%g%%';

subplot(2,2,4) 
plot(cc.Size(7:10:1000)*100,cc.Cost_BP(7:10:1000)) 
grid on
axis([0 100 0 250]) 
xlabel({'Size','(%ADV)'}) 
ylabel({'Cost','(bps)'}) 
title('POV = 35%') 
d = gca; 
d.XAxis.TickLabelFormat = '%g%%';

Этот рисунок демонстрирует, как быстро торговать определенным размером порядка в уровне цен.

Входные параметры

свернуть все

Анализ операционных издержек в виде объекта KRG, созданного с помощью krg.

Торгуйте данными, которые описывают запасы в транзакции в виде таблицы или структуры. trade должен содержать их переменная или имена полей.

Переменная или имя поляОписание

Symbol

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

Price

Курс акций

ADV

Среднесуточный объем

Volatility

Энергозависимость

Пример: trade = table({'XYZ'},100.00,860000,0.27,'VariableNames',{'Symbol' 'Price' 'ADV' 'Volatility'})

Пример: trade = struct('Symbol','XYZ','Price',100.00,'ADV',860000,'Volatility',0.27)

Эти примеры не представляют действительные данные о рынке.

Типы данных: struct | table

Торгуйте количеством в виде одного из этих значений.

ЗначениеТоргуйте описанием количества

'Size'

Доли в транзакции, которая является процентом среднесуточного объема торгов

'Shares'

Количество долей в транзакции

'Dollars'

Итоговое значение транзакции

Торгуйте областью значений количества в виде вектора. costCurves использование эти значения с торговыми значениями области значений стратегии, чтобы оценить влияние на рынок стоит за различные количества и стратегии.

Пример: 'Size',(0.01:0.01:1) указывает торговый диапазон количества с шагом 0,01 запусков от 0,01 и окончание в одном

Типы данных: double

Торгуйте стратегией в виде одного из этих значений.

ЗначенияТоргуйте именем стратегии

'POV'

Процент объема

'TradeTime'

Торгуйте временем в проценте дня

Торгуйте областью значений стратегии в виде вектора. costCurves использование эти значения с торговыми значениями области значений количества, чтобы оценить влияние на рынок стоит за различные количества и стратегии.

Пример: 'POV',(0.05:0.05:0.5) указывает торговый диапазон стратегии с шагом 0,05 запусков от 0,05 и окончание в 0,5

Типы данных: double

Выходные аргументы

свернуть все

Кривые затрат, возвращенные как таблица или структура с этими именами переменных или полями.

Переменная или имя поля Описание

Symbol

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

Size

Доли в транзакции в проценте среднесуточного объема торгов

Shares

Количество долей в транзакции

Dollars

Сумма в долларах транзакции

POV

Процент объема, чтобы завершить транзакцию

TradeTime

Торгуйте временем, чтобы завершить транзакцию в проценте дня

Cost_BP

Стоимость влияния на рынок транзакции в пунктах

Cost_DollarsPerShare

Стоимость влияния на рынок транзакции в долларах на долю

Cost_Dollars

Стоимость влияния на рынок транзакции в долларах

Советы

  • Для получения дополнительной информации о вычислениях, свяжитесь с Kissell Research Group.

Ссылки

[1] Kissell, Роберт. “Практическая Среда для Анализа Операционных издержек”. Журнал Торговли. Издание 3, Номер 2, Лето 2008 года, стр 29–37.

[2] Kissell, Роберт. “Алгоритмические торговые стратегии”. Ph.D. Тезис. Фордхемский университет, май 2006.

[3] Kissell, Роберт. “TCA в Инвестиционном Процессе: Обзор”. Журнал Инвестирования индекса. Издание 2, Номер 1, Лето 2011 года, стр 60–64.

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

[5] Kissell, Роберт и Мортон Глэнц. Оптимальные торговые стратегии. Нью-Йорк, Нью-Йорк: AMACOM, Inc., 2003.

Введенный в R2016a