exponenta event banner

costCurves

Оценка рыночных затрат на выполнение заказа

Описание

пример

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

  • Объект анализа затрат транзакции Kissell Research Group (KRG) k

  • Торговые данные trade

  • Торговое количество tradeQuantity с диапазоном значений tqRange

  • Торговая стратегия tradeStrategy с диапазоном значений tsRange

Примеры

свернуть все

Извлеките данные о влиянии на рынок из FTP-сайта KRG. Подключитесь к 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);

Создание объекта анализа затрат транзакции Kissell Research Group k.

k = krg(miData);

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

load KRGExampleData

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

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

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

  • Цена акций

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

  • Изменчивость

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

Оценка затрат, влияющих на рынок, с учетом объема торговли '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] Кисселл, Роберт. «Практическая основа для анализа затрат на транзакции». Журнал торгов. Том 3, номер 2, лето 2008, стр. 29-37.

[2] Кисселл, Роберт. «Алгоритмические торговые стратегии». Доктор философии. Дипломная работа. Фордемский университет, май 2006 года.

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

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

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

Представлен в R2016a