优化批量交易策略的百分比

这个例子展示了如何通过使用Kissell Research Group的交易成本分析最小化交易成本来优化单个股票的策略。该优化最小化了与批量交易策略的百分比和指定的风险规避参数相关的交易成本λ.交易成本最小化表示为

最小值 + P 一个 + l 一个 b d 一个 T R

交易成本对市场的影响在哪里心肌梗死,价格升值巴勒斯坦权力机构,以及时机风险TR.详细信息请参见marketImpactpriceAppreciation,timingRisk.这个例子为这个表达式找到一个局部最小值。有关搜索全局最小值的详细信息,请参见优化故障排除和提示(MATLAB)。

在这里,您可以优化百分比交易量的交易策略。要优化交易时间和交易计划策略,请参见优化交易时间交易策略而且优化交易计划

要访问示例代码,请输入编辑KRGSingleStockOptimizationExample.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);

创建单个股票数据

结构tradeData包含单个股票的数据。使用结构或表来定义此数据。字段为:

  • 股份数量

  • 平均日成交量

  • 波动

  • 股票价格

  • 交易量策略的初始百分比

  • α估计

tradeData。股份= 100000;tradeData。一个DV = 1000000; tradeData.Volatility = 0.25; tradeData.Price = 35; tradeData.POV = 0.5; tradeData.Alpha_bp = 50;

定义优化参数

定义风险规避水平λ.集λ从0到

Lambda = 1;

定义低和上乌兰巴托优化策略输入的边界。

Lb = 0;Ub = 1;

定义函数句柄有趣的对于目标函数。要访问此函数的代码,请输入编辑krgSingleStockOptimizer.m

fun = @(pov)krgSingleStockOptimizer(pov,k,tradeData,Lambda);

最小化贸易策略的贸易成本

最小化交易成本的百分比的批量交易策略。fminbnd根据下限和上限值,找出交易量交易策略百分比的最优值。fminbnd为交易成本最小化表达式找到一个局部最小值。

[tradeData。观点,totalcost] = fminbnd(fun,LB,UB);

展示优化的贸易策略tradeData。观点

tradeData。观点
Ans = 0.35

估算交易成本以优化策略

估算交易成本povCosts采用优化的贸易策略。

mi = marketImpact(k,tradeData);pa = priceAppreciation(k,tradeData);tr = timingisk (k,tradeData);povCosts = [totalcost mi pa tr];

显示交易成本。

povCosts
100.04 56.15 4.63 39.27

交易成本为:

  • 总成本

  • 市场影响

  • 价格上涨

  • 时间风险

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

参考文献

罗伯特,基塞尔。“算法交易策略”博士论文。福特汉姆大学,2006年5月。

罗伯特,基塞尔。算法交易和投资组合管理的科学.马萨诸塞州剑桥:爱思唯尔/学术出版社,2013年。

Glantz, Morton和Robert Kissell。多资产风险建模.马萨诸塞州剑桥:爱思唯尔/学术出版社,2013年。

基塞尔,罗伯特和莫顿·格兰茨。最优交易策略.纽约,纽约州:AMACOM, Inc., 2003。

另请参阅

||||

相关的话题