进行敏感性分析以估计交易成本

这个例子展示了如何评估由于流动性、波动性和市场对订单流和交易的敏感性而导致的交易成本变化。通过Kissell Research Group的交易成本分析,您可以模拟一组股票的交易成本环境。敏感性分析使您能够估计不同市场条件下的未来交易成本,以确定满足投资者需求的适当投资组合内容。

在这里,评估由于平均日交易量减少50%和波动率翻倍而导致的交易成本变化。示例数据使用交易量百分比(POV)交易策略。

要访问示例代码,请输入编辑KRGSensitivityAnalysisExample.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”);close(f) miData = readtable(“MI_Encrypted_Parameters.csv”“分隔符”...”、““ReadRowNames”假的,“ReadVariableNames”,真正的);

创建Kissell Research Group交易成本分析对象k

k = krg(miData);

从文件加载示例数据KRGExampleData.mat,这是包括在交易工具箱™。

负载KRGExampleData.mat

有关示例数据的描述,请参见Kissell研究组数据集

估算初始交易成本

使用示例数据估计初始交易成本TradeData.交易成本为:

  • 瞬时交易成本美国国际贸易委员会

  • 市场影响成本心肌梗死

  • 时间风险tr

  • 价格上涨巴勒斯坦权力机构

将所有四种交易成本组合成一个数字矩阵initTCA

itc = iStar(k,TradeData);mi = marketImpact(k,TradeData);tr = timingisk (k,TradeData);pa = priceAppreciation(k,TradeData);initTCA = [itc mi tr pa];

创建场景

设置变量以创建场景。在这种情况下,平均日成交量减少50%,波动率增加一倍。与示例数据相比,股票价格、交易量、估计alpha值和交易策略保持不变。您可以修改这些变量的值来创建不同的场景。字段为:

  • 平均日成交量

  • 波动

  • 股票价格

  • 体积

  • α估计

  • POV贸易策略

  • 交易时间交易策略

adjADV = 0.5;adjVolatility = 2.0;adjPrice = 1.0;adjVolume = 1.0;adjAlpha = 1.0;adjPOV = 1.0;adjTradeTime = 1.0;

请根据场景变量调整样例数据。

TradeDataAdj = TradeData;TradeDataAdj。大小=贸易数据。大小。*(1./adjADV); TradeDataAdj.ADV = TradeData.ADV .* adjADV; TradeDataAdj.Volatility = TradeData.Volatility .* adjVolatility; TradeDataAdj.Price = TradeData.Price .* adjPrice; TradeDataAdj.Alpha_bp = TradeData.Alpha_bp .* adjAlpha;

TradeDataAdj包含调整后的数据。体积翻倍,因为平均日体积减少了50%。

将POV交易策略转换为交易时间交易策略。

[~,povFlag,timeFlag] = krg. krgdatafags (TradeData);如果povFlag TradeDataAdj。POV = TradeData.POV.*adjPOV;TradeDataAdj。TradeTime = TradeDataAdj。大小。*...((1-TradeDataAdj.POV) ./ TradeDataAdj.POV) .* (1./adjVolume);elseiftimeFlag TradeDataAdj。TradeTime =贸易数据。TradeTime .* adjTradeTime;TradeDataAdj。POV =贸易数据adj。大小。/...(TradeDataAdj。大小+ TradeDataAdj。TradeTime .* adjVolume);结束

估计场景的交易成本

根据调整后的数据估算交易成本。数值矩阵newTCA包含场景的交易成本。

itc = iStar(k,TradeDataAdj);mi = marketImpact(k,TradeDataAdj);tr = timingRisk(k,TradeDataAdj);pa =价格升值(k,TradeDataAdj);newTCA = [itc mi tr pa];

从初始交易成本中减去场景中的交易成本。

rawWI = newTCA - initTCA;wi =表(rawWI (: 1), rawWI (:, 2), rawWI (:, 3), rawWI (:, 4),...“VariableNames”, {“国贸”“小姐”“TR”“爸爸”});

wi包含此场景对交易成本的全部影响。

显示交易成本的前三行wi

: wi (1:3)
ans = ITC MI TR PA  ______ ______ ______ _____ 43.05 0.65 290.80 -9.49 408.29 124.52 443.16 8.47 80.92 13.79 114.97 0.93

中的变量wi是:

  • 瞬时交易成本

  • 市场影响成本

  • 时间风险

  • 价格上涨

有关上述计算的详细信息,请联系Kissell Research Group。

另请参阅

||||

相关的话题