exponenta event banner

portfolioCostCurves

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

Описание

пример

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

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

  • Данные о портфеле portfolio

  • Торгуйте количеством 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, который включен с Trading Toolbox™.

load KRGExampleData

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

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

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

  • Локальная цена

  • Цена в различной валюте если применимо

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

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

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

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

Оцените влияние на рынок, стоившее за выполнение порядка на портфеле активов. Задайте торговое количество как 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 Research Group.

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

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

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

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

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

Введенный в R2016a