此示例显示如何使用基奇研究组的交易成本分析来确定跨交易的最佳执行经纪人。您根据经纪人的评级和到达费用排列经纪人,然后确定哪些经纪人在市场条件和交易特征中表现最佳。正价值添加表明经纪人在考虑到实际市场条件和贸易特征的情况下,经纪人超出了性能预期,这导致基金节省。负值添加表示经纪人没有满足性能预期,这导致基金的增量成本。
在此示例中,您可以通过比较到达费用和估计的交易成本来发现哪些经纪人提供过度或不足。抵达费用的经纪人低于估计的交易成本超过所需的费用,这导致基金省钱。抵达成本的经纪人大于估计的交易成本,导致基金产生增量费用。
此示例还显示了如何通过经纪人估算成本,这需要每个经纪人的自定义市场影响参数。
You can use similar steps as in this example to rank trading venues and algorithms.
要访问示例代码,请输入编辑KrgtraDeperFormancanCerankingExample.m.
在命令行。
After executing the code in this example, you can submit an order for execution using Bloomberg®那对于example.
从Kissell Research Group FTP站点检索市场影响数据。使用该连接到FTP站点ftp
function with a user name and password. Navigate to themi_parameters.
folder and retrieve the market-impact data with broker codes in theMI_Broker.csv
file.米塔
contains the encrypted market-impact date, code, and parameters.
f = ftp('ftp.kissellresearch.com'那'username'那'pwd');mget(f,'MI_Broker.csv');close(f) miData = readtable('MI_Broker.csv'那'delimiter'那','那......'ReadRowNames'那false,'readvariablenames',真正);
Create a Kissell Research Group transaction cost analysis objectK.
。为日期,市场影响码和交易日的数量指定初始设置。
k = krg(midata,datetime('今天'),1,250);
加载示例数据TradeData
那Basket
那and交易所家
,它包含在Trading Toolbox™中。
加载KRGExampleData.matTradeDataBasket交易所家
For a description of the example data, seeKissell Research Group Data Sets。
选择the trade categories. Calculate the average arrival cost, market-impact cost, and broker value add for each broker.
tradedata.traDesize = TradeData.shares ./ TradeData.Adv;TradeData.ArrivalCost = TradeData.SideIndicator。*......(tradeData.avgexecprice ./ TradeData.ArrivalPrice-1)* 10000;TradeData.mi = MarketImpact(K,TradeData);tradedata.valueadd = tradeData.mi - TradeData.Arrivalcost;
检索经纪人名称和经纪人的数量。preal分配输出数据变量。
uniquebrokers =唯一(tradedata.broker);numbrokers =长度(概述);avgcost = nan(numbrokers,1);avgmi = nan(numbrokers,1);avgvalueadd = nan(numbrokers,1);
使用交易规模计算经纪人排名,平均每日卷(ADV)的5%至10%。计算平均到达费用,平均市场影响成本和平均经纪人值。
indBroker = (TradeData.TradeSize >= 0.05) & (TradeData.TradeSize <= 0.10);ifany(indBroker) TD = TradeData(indBroker,:);对于i = 1:numbrokers j = strcmp(td.broker,uniquebrokers(i));ifany(j) avgCost(i) = mean(TD.ArrivalCost(j)); avgMI(i) = mean(TD.MI(j)); avgValueAdd(i) = mean(TD.ValueAdd(j));结束结束结束% Get valid average cost values (non NaN's)indAvgCost = ~isnan(avgCost);
创建一个表来存储经纪人排名。按平均成本对排名进行排序。
BrokerRankings = table(uniqueBrokers(indAvgCost),(1:sum(indAvgCost))',......avgCost(indAvgCost),avgMI(indAvgCost),avgValueAdd(indAvgCost),......'variablenames'那{'经纪人'那'秩'那'avgarrivalcost'那'AvgMI'那'avgvalueadd'}); BrokerRankings = sortrows(BrokerRankings,-5); BrokerRankings.Rank = (1:sum(indAvgCost))';% Reset rank
Compare the average broker value add in basis points using a bar graph.
bar(BrokerRankings.AvgValueAdd) set(gca,'XTickLabel'那BrokerRankings.Broker) ylabel('Average Value Add (bp)') title('平均值由经纪人添加') grid
经纪人Broker2
超越的时间Broker3
under-performs across transactions. Decide to useBroker2
对于未来的交易。
使用指定的订单或交易清单估算每个经纪人的交易费用。
%获取交易表表中的订单数量numOrders = size(Basket.Symbols,1);%计算每个订单的每个经纪人的贸易前费用brokerpreetrade = zeros(nuborders,numbrokers);对于我= 1:numbrokers经纪人的%市场 - 影响守则对应于市场中的主要电影例如,影响数据,例如,Broker1 = 1。k.micode = i;% Calculate market-impact cost for each brokerBrokerPreTrade(:,i) = marketImpact(k,Basket);结束% Convert output to a table with the symbols used as the row names.BrokerPreTrade = array2table(BrokerPreTrade,'variablenames'那......交易所家。Broker,'rownames'那Basket.Symbols);
For one stockABC.
,使用条形图比较每个经纪人的市场影响成本。
%绘制了股票的最佳经纪人bar(table2array(BrokerPreTrade(1,:))) set(gca,'XTickLabel'那交易所家。Broker) ylabel('Market-Impact Cost (bp)') title(['Market-Impact Cost by Broker for Symbol '......brokerpreetrade.properties.rownames {1}])网格
经纪人Broker8
has the highest market-impact cost andBroker1
有最低的。决定使用Broker1
使用库存执行交易ABC.
。
有关前面计算的详细信息,请联系Kissell研究组。
[1] Kissell, Robert.The Science of Algorithmic Trading and Portfolio Management。Cambridge, MA: Elsevier/Academic Press, 2013.
[2] Malamut, Roberto. “Multi-Period Optimization Techniques for Trade Scheduling.” Presentation at the QWAFAFEW New York Conference, April 2002.
[3] Kissell,Robert和Morton Glantz。最佳交易策略。New York, NY: AMACOM, Inc., 2003.