主要内容

使用成本指数确定Buy-Sell失衡

这个例子展示了如何确定buy-sell失衡Kissell研究小组利用交易成本分析。不平衡的区别是buy-initiated和sell-initiated卷实际市场状况,指定交易期间。积极的不平衡表明购买股票和消极不平衡的压力表明抛售压力。成本指数可以帮助投资者了解交易成本环境影响市场的订单。索引可以是一个绩效指标,如标准普尔500指数,显示市场运动和价值或波动性指数显示市场的不确定性。

不平衡量的值是分享x这样

0 = | C o 年代 t | 10000年 ( x ) ,

在哪里

( x ) = ( b 1 ( x V o l u e ) 一个 4 + ( 1 b 1 ) ] ( 一个 1 ( x 一个 D V ) 一个 2 σ 一个 3 P r c e 一个 5 ]

心肌梗死股票交易的市场影响成本。估计股票的交易成本代表增量价格波动与底层指数价格波动。体积股票的实际成交量在篮子里。阿德的日均成交量是股票篮子里。价格筐里是一个股票的价格。其他变量的方程是:

  • σ ——价格波动。

  • 一个 1 ——价格敏感性顺序流。

  • 一个 2 ——订单大小形状。

  • 一个 3 ——波动性的形状。

  • 一个 4 ——体积率的百分比的形状。

  • 一个 5 ——价格的形状。

  • 1 b 1 ——比例的永久的市场影响。永久性的影响是不可避免的影响成本,是因为信息内容的贸易。

  • b 1 ——临时市场影响的百分比。暂时的影响依赖于交易策略。临时发生的影响,因为投资者的流动性需求。

  • C o 年代 t = T o t 一个 l C o 年代 t B e t 一个 n d e x C o 年代 t , 地点:

    • TotalCost成交量加权平均价,变化而股票的公开价格。

    • β-β。

    • IndexCost——的变化相比,成交量加权平均价的公开价格指数。指数成本调整价格为市场运动使用一个潜在的索引和β。

在本例中,您可以使用当前或历史数据运行这段代码。当前的数据包括价格从开放时间在当前时间。历史数据使用价格在整个一天。历史成本使用市场影响参数为指定的地区和日期。因此,历史成本变化从记录到记录。

当前成本指数,你加载示例表TradeDataCurrent从文件KRGExampleData.mat。历史成本指数,你加载示例表TradeDataHistorical从文件KRGExampleData.mat。这个例子计算现行费用指数。

访问示例代码,回车编辑KRGCostIndexExample.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。指定初始设置的日期、市场影响代码,数量的交易日。

k =库尔德斯坦地区政府(miData datetime (“今天”),1250);

加载示例数据TradeDataCurrent这是包含在数据处理工具箱™。计算投资组合的股票数量。

负载KRGExampleData.matTradeDataCurrentTradeData = TradeDataCurrent;numStocks =身高(TradeData);

示例数据的描述,请参阅Kissell研究小组的数据集

定义优化参数

定义函数迭代优化的最大数量。集“MaxIterations”一个较大的值,以便优化可以多次迭代来解决系统的非线性方程。

选择= optimoptions (“fsolve”,“MaxIterations”,4000);

使用成本指数估计交易成本

确定成本和β总成本。计算的初始市场影响成本估算。确定初始体积x0

totalCost = TradeData。VWAP。/ TradeData。开放- 1;indexCost = TradeData。β。*(TradeData。我ndexVWAP。/ TradeData。IndexOpen - 1);miCost = totalCost - indexCost;sideIndicator =符号(miCost);x0 = 0.5 * TradeData.Volume;

创建一个表存储所有输出数据。首先,添加这些变量:

  • 象征——股票代码

  • 日期——交易日期

  • 一边——边

  • TotalVolume——交易量

  • TotalCost——总交易成本

  • IndexCost——成本指数

costIndexTable =表;costIndexTable。象征=Tr一个deD一个t一个。象征; costIndexTable.Date = TradeData.Date; costIndexTable.Side = sideIndicator; costIndexTable.TotalVolume = TradeData.Volume; costIndexTable.TotalCost = totalCost; costIndexTable.IndexCost = indexCost;

使用一个循环计算每个股票的成本指数的投资组合。每只股票可能有不同的市场影响代码和日期。使用costIndexExampleEq包含非线性函数方程来解决。访问的代码costIndexExampleEq函数,输入编辑KRGCostIndexExample.m

这些变量添加到输出表:

  • 不平衡——不平衡

  • ImbalancePctADV——日均交易量的比例失衡

  • ImbalancePctDayVolume——不平衡是成交量的百分比

  • BuyVolume——购买体积

  • SellVolume——销售数量

  • 心肌梗死——市场影响成本

  • ExcessCost——多余的成本

我= 1:numStocks%设置MiCode和MiDate对象的每个股票k。米我Code=Tr一个deD一个t一个。米我Code(i); k.MiDate = TradeData.Date(i);%求出每个股票,结果在目标市场%影响成本。%在这个例子中,x是股票的数量(不平衡)的原因%的MI影响成本,导致市场的数量的股票%影响MI成本。这里用abs (MI)因为市场影响%的成本总是正的。如果市场影响成本是0.0050% fsolve试图找到x数量的股票市场%的影响公式返回0.0050。%注意fsolve是使用成本的基点。x = fsolve (@ (x) costIndexExampleEq (x, miCost(我),TradeData(我:),k),x0 (i)、选择);% 0之间的失衡必须和实际交易的体积。x = max (min (x, TradeData.Volume(我)),0);%重新计算体积的百分比和股票基于x。TradeData.POV (i) = x / TradeData.Volume(我);TradeData.Shares (i) = x;%计算新的成本作为一个十进制值。mi = marketImpact (k, TradeData(我,:))/ 10000;%不平衡是分享指定购买或出售的数量% sideIndicator。不平衡= sideIndicator (i) * x;%计算买卖卷。%知道:%% = buyVolume + sellVolume体积;% = buyVolume - sellVolume失衡;%%求buyVolume sellVolumebuyVolume = (TradeData.Volume(我)+失衡)/ 2;sellVolume = (TradeData.Volume (i) -失衡)/ 2;%填充输出表costIndexTable.Imbalance(我,1)=不平衡;costIndexTable.ImbalancePctADV(我,1)=不平衡/ TradeData.ADV(我);costIndexTable.ImbalancePctDayVolume(我,1)=不平衡/ TradeData.Volume(我);costIndexTable.BuyVolume(我,1)= buyVolume;costIndexTable.SellVolume(我,1)= sellVolume;costIndexTable.MI(我,1)= mi * sideIndicator(我);costIndexTable.ExcessCost (1) = totalCost (i) - mi - indexCost(我);结束

第一的股票数量显示不平衡输出数据。

costIndexTable.Imbalance (1)
ans = -8.7894 e + 04

消极不平衡量表明抛售压力。决定是否购买、持有或出售股票的投资组合的股票。

关于前面的计算,详情请联系Kissell研究小组。

引用

[1]Kissell,罗伯特。算法交易和投资组合管理的科学。剑桥,麻州:爱思唯尔/学术出版社,2013年。

[2]Malamut,罗伯特。“多阶段优化技术贸易调度。“在QWAFAFEW纽约会议上表示,2002年4月。

[3]Kissell,罗伯特,和莫顿Glantz。最优交易策略。纽约,纽约州:AMACOM, Inc ., 2003。

另请参阅

||(优化工具箱)|(优化工具箱)

相关的话题