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, который включен с Datafeed 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, Роберт. “Алгоритмические торговые стратегии”. Ph.D. Тезис. Фордхемский университет, май 2006.

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

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

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

Введенный в R2016a