exponenta event banner

portfolioCostCurves

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

Описание

пример

pcc = portfolioCostCurves(k,portfolio,tradeQuantity,tqRange,tradeStrategy,tsRange) возвращает рыночную стоимость выполнения заказа для портфеля с использованием:

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

  • Портфельные данные portfolio

  • Торговое количество 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

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

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

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

  • Местная цена

  • Цена в другой валюте, если применимо

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

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

  • Количество акций

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

Оценка рыночных затрат на выполнение заказа по портфелю активов. Укажите торговое количество как DollarValue. Укажите диапазон торгового количества tqRange с приращениями в размере 10 000 000 долл. США. Начните с общей стоимости портфеля в 100 000 000 долларов США и закончите с 500 000 000 долларов США. Установить процент от стратегии торговли объемом POV. Определение диапазона торговой стратегии tsRange с приращениями 10%, начиная с процента объема 10% и заканчивая 40%.

tqRange = (100000000:10000000:500000000); 
tsRange = (0.10:0.10:0.40);

pcc = portfolioCostCurves(k,PortfolioData,'DollarValue',tqRange,...
'POV',tsRange);

Просмотрите первые три строки данных о затратах, влияющих на рынок.

pcc(1:3,:)
ans = 

    Size      Shares       TradeValue     AbsTradeValue    POV     TradeTime    Cost_bp    Cost_DollarsPerShare    Cost_Dollars
    ____    __________    ____________    _____________    ____    _________    _______    ____________________    ____________

    0.02    5612057.03    100000000.00    328737579.09     0.10    0.18         38.74      0.07                    387447.95   
    0.02    5612057.03    100000000.00    328737579.09     0.20    0.08         61.18      0.11                    611819.30   
    0.02    5612057.03    100000000.00    328737579.09     0.30    0.05         80.07      0.14                    800683.38   

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

  • Средний размер торговли по всем акциям в портфеле

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

  • Сумма торгуемой стоимости по всем акциям в портфеле

  • Сумма абсолютного значения торговой стоимости по всем акциям в портфеле

  • Средний процент выполнения объема для завершения количества общих ресурсов

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

  • Рыночные затраты в базисных точках местной цены

  • Рыночные издержки в долларах на акцию

  • Рыночные издержки в общей стоимости в долларах США

Отображение кривых стоимости портфеля для процента от объемных ставок: 10%, 20%, 30% и 40%.

figure
size10 = pcc.Size(1:4:end)*100;
size20 = pcc.Size(2:4:end)*100;
size30 = pcc.Size(3:4:end)*100;
size40 = pcc.Size(4:4:end)*100;
cost10 = pcc.Cost_bp(1:4:end);
cost20 = pcc.Cost_bp(2:4:end);
cost30 = pcc.Cost_bp(3:4:end);
cost40 = pcc.Cost_bp(4:4:end);
plot(size10,cost10,size20,cost20,size30,cost30,size40,cost40)
grid on
axis([2 11 25 200]) 
xlabel({'Size','(%ADV)'}) 
ylabel({'Cost','(bps)'}) 
legend('POV = 10%','POV = 20%','POV = 30%','POV = 40%',...
'Location','northwest') 
title('Portfolio Costs') 
a = gca; 
a.XAxis.TickLabelFormat = '%g%%';

На этом рисунке показано использование портфельных затрат для построения портфеля и управления его содержанием. Анализируя стоимость портфеля, можно определить оптимальный размер портфеля.

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

свернуть все

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

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

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

Symbol

Символ акции.

Price_Local

Местная цена.

Price_Currency

Цена, указанная как цена акций с другой валютой, если акции торгуются за пределами США. Если акции торгуются в США, стоимость равна местной цене.

ADV

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

Volatility

Волатильность.

Shares

Количество акций.

Количество символов в данных портфеля должно соответствовать количеству значений для каждого параметра влияния на рынок в miData имущество k. Подробную информацию о параметрах воздействия на рынок можно получить в исследовательской группе Kissell.

Пример: portfolio = table({'XYZ'},100.00,100.00,860000,0.27,550,'VariableNames',{'Symbol' 'Price_Local' 'Price_Currency' 'ADV' 'Volatility' 'Shares'})

Пример: portfolio = struct('Symbol','XYZ','Price_Local',100.00,'Price_Currency',100.00,'ADV',860000,'Volatility',0.27,'Shares',550)

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

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

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

СтоимостьОписание торгового количества

'DollarValue'

Общая долларовая стоимость портфеля

'PercentValue'

Процент от общей долларовой стоимости портфеля

Диапазон торгового количества, указанный как вектор. portfolioCostCurves использует эти значения со значениями диапазона торговой стратегии для оценки затрат на рыночное воздействие для различных количеств и стратегий.

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

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

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

ЦенностиНазвание торговой стратегии

'POV'

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

'TradeTime'

Торговое время в процентах от дня

Диапазон торговой стратегии, указанный как вектор. portfolioCostCurves использует эти значения со значениями диапазона торговых количеств для оценки затрат, влияющих на рынок, для различных количеств и стратегий.

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

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

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

свернуть все

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

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

Size

Средний размер торговли по всем акциям в портфеле.

Shares

Количество акций в сделке.

TradeValue

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

AbsTradeValue

Сумма абсолютного значения торговой стоимости по всем акциям в портфеле.

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