分析交易执行结果
此示例显示了如何使用Kissell研究小组的交易成本分析进行贸易后分析。贸易后分析包括实施不足,alpha捕获,基准成本,经纪人价值添加和Z分数。有关这些指标的详细信息,请参阅贸易后分析指标定义。您可以使用贸易后分析来评估投资组合收益和利润。您可以衡量经纪人和算法的性能。
要访问示例代码,请输入编辑krgposttradeanalysisexample.m
在命令行。
检索市场影响参数和负载交易数据
从Kissell Research Group FTP站点中检索市场影响数据。使用该网站连接到FTP网站ftp
使用用户名和密码函数。导航到mi_parameters
文件夹和检索市场影响数据mi_encrypted_parameters.csv
文件。Midata
包含加密的市场影响日期,代码和参数。
f = ftp('ftp.kissellresearch.com',,,,'用户名',,,,'PWD');mget(f,'mi_encrypted_parameters.csv');关闭(f)midata =可读取('mi_encrypted_parameters.csv',,,,“定界符”,,,,...',',,,,“ readlownames',错误的,“ ReadVariablenames”,真的);
创建Kissell研究小组交易成本分析对象k
。
K = KRG(MIDATA);
加载示例数据交易后
从文件krgexampledata.mat
,其中包含在DataFeed Toolbox™中。
加载krgexampledata.mat交易后
有关示例数据的描述,请参见Kissell研究小组数据集。
确定实施不足成本
确定实施短缺成本的组成部分。组件是:
固定成本
iSfixed
延迟成本
ISDELAYCOST
执行费用
IsexectionCost
机会成本
IsopportunityCost
有关成本组件的详细信息,请参阅贸易后分析指标定义。
tradedata.isdollars =...tradedata.ordershares。* tradedata.isdecisionprice;tradedata.isfixed =...tradedata.isfixeddollars ./ tradedata.isdollars*10000;tradedata.isdelaycost =...tradedata.ordershares。*...(PostTradedata.isarrivalPrice-Posttradedata.isdecisionprice)**...Tradedata.sideindicator ./ tradedata.isdollars*1000;tradedata.isexecutioncost =...交易后。交易店。*...(Posttradedata.avgexecprice-posttradedata.isarrivalprice)。*...Tradedata.sideindicator ./ tradedata.isdollars*1000;tradedata.isopportunitycost =...(posttradedata.ordershares-posttradedata.tradedshares)。...(tradedata.isendprice-posttradedata.isarrivalprice)。...Tradedata.sideindicator ./ tradedata.isdollars*1000;
确定总实施不足成本ISCOST
。
tradedata.iscost = tradedata.isfixed +...tradedata.isdelaycost + tradedata.isexecutioncost +...tradedata.isopportunitycost;
确定利润
确定alpha捕获alpha_capturepct
。划分实现利润alpha_realized
通过潜在的利润alpha_totalperiod
。
tradedata.alpha_realized =...(Posttradedata.isendprice-posttradedata.avgexecprice)。*...Tradedata.tradedshares。...(Tradedata.tradedshares。* tradedata.isarrivalprice)* 10000;tradedata.alpha_totalperiod =...(tradedata.isendprice-posttradedata.isarrivalprice)。...Tradedata.tradedshares。...(Tradedata.tradedshares。* tradedata.isarrivalprice)* 10000;lenalpha_realized =长度(tradedata.alpha_realized);tradedata.alpha_capturepct = zeros(lenalpha_realized,1);为了II = 1:Lenalpha_realized如果tradedata.alpha_totalperiod(ii)> 0 posttradedata.alpha_capturepct(ii)=...tradedata.alpha_realized(ii)./...tradedata.alpha_totalperiod(ii);别的tradedata.alpha_capturepct(ii)=...- (tradedata.alpha_realized(ii) -...tradedata.alpha_totalperiod(ii))。/...tradedata.alpha_totalperiod(ii);结尾结尾
确定基准和交易成本
确定基准点基准成本。在这里,基准价格是:
前一天的关闭价格
PrevClose_cost
开价
open_cost
关闭价格
close_cost
到达成本
Arrival_cost
时期VWAP
erecevwap_cost
tradedata.prevclose_cost =...(Posttradedata.avgexecprice-posttradedata.prevclose)。*...Tradedata.sideindicator ./ tradedata.prevclose*10000;tradedata.open_cost =...(Posttradedata.avgexecprice-posttradedata.open)。...Tradedata.sideindicator ./ tradedata.open*10000;posttradedata.close_cost =(posttradedata.avgexecprice-posttradedata.close)。...Tradedata.sideindicator ./ tradedata.close*10000;posttradedata.arrival_cost =(posttradedata.avgexecprice-...tradedata.ArrivalPrice)*。...Tradedata.sideindicator ./ tradedata.ararivalprice*10000;posttradedata.periodvwap_cost =(posttradedata.avgexecprice-...tradedata.periodvwap)。...Tradedata.sideindicator ./ tradedata.periodvwap*10000;
估计市场影响micost
和时机风险tr
费用。
tradedata.size = tradedata.tradedshares ./ tradedata.adv;tradedata.price = tradedata.arrivalprice;Tradedata.micost = MarketImpact(K,Tradedata);tradedata.tr = timingrisk(k,tradedata);
确定经纪人增值和z得分
使用到达成本和市场影响来确定经纪人的增值。
tradedata.valueadd =(tradedata.arrival_cost-posttradedata.micost) * -1;
使用代理增值添加和时机风险确定z得分。
tradedata.zscore = tradedata.valueadd./posttradedata.tr;
有关上述计算的详细信息,请联系Kissell研究小组。