这个例子说明如何使用交易成本分析从Kissell研究小组进行的交易后分析。交易后分析包括执行不足,阿尔法捕捉,基准成本,经纪人附加价值,和Z得分。有关这些指标的详细信息,请参阅交易后分析指标定义。你可以使用交易后分析来评估投资组合的回报和利润。您可以度量代理和算法的性能。
要访问示例代码,输入编辑KRGPostTradeAnalysisExample.m
在命令行。
检索来自Kissell研究小组FTP站点的市场影响力的数据。连接到使用FTP站点ftp
具有用户名和密码的函数。导航到MI_Parameters
文件夹和检索的市场影响数据MI_Encrypted_Parameters.csv
文件。miData
包含加密的市场影响日期、代码和参数。
F = FTP('ftp.kissellresearch.com',“用户名”,“pwd”);MGET(F,'MI_Encrypted_Parameters.csv');关闭(f) miData = readtable('MI_Encrypted_Parameters.csv',“分隔符”,...”、“,'ReadRowNames'假的,'ReadVariableNames',真正);
创建一个Kissell研究组事务成本分析对象ķ
。
k =库尔德斯坦地区政府(miData);
加载的示例数据PostTradeData
从文件KRGExampleData.mat
,其中包括与贸易工具箱™。
加载KRGExampleData.matPostTradeData
有关示例数据的描述,请参见Kissell研究集团的数据集。
确定实施不足成本的组成部分(以基点计算)。组件包括:
固定成本用
延迟成本ISDelayCost
执行成本ISExecutionCost
机会成本ISOpportunityCost
有关成本构成的详细信息,请参阅交易后分析指标定义。
PostTradeData。ISDollars =...PostTradeData.OrderShares * PostTradeData.ISDecisionPrice。PostTradeData.ISFixed =...PostTradeData。用Dollars ./ PostTradeData.ISDollars*10000; PostTradeData.ISDelayCost =...PostTradeData.OrderShares。*...(PostTradeData.ISArrivalPrice-PostTradeData.ISDecisionPrice)。*...PostTradeData.SideIndicator ./ PostTradeData.ISDollars * 1000;PostTradeData。ISExecutionCost =...PostTradeData.TradedShares。*...(PostTradeData.AvgExecPrice-PostTradeData.ISArrivalPrice)。*...PostTradeData.SideIndicator ./ PostTradeData.ISDollars * 1000;PostTradeData.ISOpportunityCost =...(PostTradeData.OrderShares-PostTradeData.TradedShares)。*...(PostTradeData.ISEndPrice-PostTradeData.ISArrivalPrice)。*...PostTradeData.SideIndicator ./ PostTradeData.ISDollars * 1000;
确定实施总成本的差额ISCost
。
PostTradeData.ISCost = PostTradeData.ISFixed +...PostTradeData.ISDelayCost + PostTradeData.ISExecutionCost +...PostTradeData.ISOpportunityCost;
确定alpha捕获Alpha_CapturePct
。鸿沟实现盈利Alpha_Realized
潜在的利润Alpha_TotalPeriod
。
PostTradeData。Alpha_Realized=...(PostTradeData.ISEndPrice-PostTradeData.AvgExecPrice)。*...PostTradeData.TradedShares。*PostTradeData。SideIndicator。/...(PostTradeData.TradedShares * PostTradeData.ISArrivalPrice)* 10000;PostTradeData.Alpha_TotalPeriod =...(PostTradeData.ISEndPrice-PostTradeData.ISArrivalPrice)。*...PostTradeData.TradedShares。*PostTradeData。SideIndicator。/...(PostTradeData.TradedShares * PostTradeData.ISArrivalPrice)* 10000;lenAlpha_Realized =长度(PostTradeData.Alpha_Realized);PostTradeData.Alpha_CapturePct =零(lenAlpha_Realized,1);对于2 = 1:lenAlpha_Realized如果1 . PostTradeData.Alpha_TotalPeriod(ii) > 0 2 . PostTradeData.Alpha_CapturePct(ii) =...PostTradeData.Alpha_Realized(ⅱ)./...PostTradeData.Alpha_TotalPeriod(ⅱ);其他PostTradeData.Alpha_CapturePct(II)=...——(PostTradeData.Alpha_Realized (ii)...PostTradeData.Alpha_TotalPeriod (ii))。/...PostTradeData.Alpha_TotalPeriod(ⅱ);结束结束
确定基点的基准成本。在这里,基准价格为:
前一天的收盘价PrevClose_Cost
开放价格Open_Cost
接近的价格Close_Cost
到达成本Arrival_Cost
期VWAPPeriodVWAP_Cost
PostTradeData.PrevClose_Cost =...(PostTradeData.AvgExecPrice-PostTradeData.PrevClose)。*...PostTradeData。SideIndicator。/ PostTradeData.PrevClose * 10000;PostTradeData。Open_Cost =...(PostTradeData.AvgExecPrice-PostTradeData.Open)。*...PostTradeData.SideIndicator ./ PostTradeData.Open * 10000;PostTradeData.Close_Cost =(PostTradeData.AvgExecPrice-PostTradeData.Close)。*...PostTradeData.SideIndicator ./ PostTradeData.Close * 10000;PostTradeData.Arrival_Cost =(PostTradeData.AvgExecPrice-...PostTradeData.ArrivalPrice)。*...PostTradeData。SideIndicator。/ PostTradeData.ArrivalPrice * 10000;PostTradeData。PeriodVWAP_Cost = (PostTradeData.AvgExecPrice -...PostTradeData.PeriodVWAP)。*...PostTradeData。SideIndicator。/ PostTradeData.PeriodVWAP * 10000;
估计市场影响miCost
和时间风险TR
成本。
PostTradeData.Size = PostTradeData.TradedShares ./ PostTradeData.ADV;PostTradeData.Price = PostTradeData.ArrivalPrice;PostTradeData.miCost = marketImpact(K,PostTradeData);PostTradeData.tr = timingRisk(K,PostTradeData);
确定采用的到来成本和市场影响力的经纪人附加价值。
PostTradeData.ValueAdd =(PostTradeData.Arrival_Cost-PostTradeData.miCost)* -1;
使用代理价值添加和时间风险确定z分数。
PostTradeData.zScore = PostTradeData.ValueAdd./PostTradeData.tr;
有关上述计算的详细信息,请联系Kissell研究小组。
库尔德斯坦地区政府
|marketImpact
|timingRisk