lambda统计数量_MATLAB金融工具箱:07:统计套利的机器学习3:训练、调优和预测...

示例展示了如何使用贝叶斯优化来优化算法交易模型的超参数,涉及交易策略、超参数调整、训练验证数据、交叉验证和机器学习。交易策略基于连续时间马尔可夫模型,通过调整失衡指数的加权参数和平滑期间的反向刻度数来寻找最大交易回报。优化结果用于实时交易数据,以期望的价格变化获利。
摘要由CSDN通过智能技术生成

此示例使用贝叶斯优化来优化算法交易模型中的超参数,并由日末收益监督。

加载预处理的LOB数据集LOBVars.mat,来自NASDAQ证券INTC。

 load LOBVars

数据集包含每个订单的以下信息:到达时间t(从午夜开始的秒数),1级要价MOAsk,1级出价MOBid,中间价S和失衡指数I

此示例包括几个支持函数,这些函数存储在中matlabroot/examples/finance/data/LOBSupportingFiles。要查看它们,请更改您的工作文件夹。

 cd(fullfile(matlabroot,'examples','finance','data','LOBSupportingFiles'));

交易策略

给定限价单(LOB)不平衡指数I的当前和先前状态rho,以及价格DS中最新观察到的方向,交易矩阵Q包含未来价格走势的概率。

查看支持函数 tradeOnQ.m,该函数根据Q中的交易模式实施一个简单的交易策略。

 function cash = tradeOnQ(Data,Q,n,N)
 ​
 % Reference: Machine Learning for Statistical Arbitrage
 %            Part II: Feature Engineering and Model Development
    
 % Data
 ​
 t = Data.t;
 MOBid = Data.MOBid;
 MOAsk = Data.MOAsk;
 ​
 % States
 ​
 [rho,DS] = getStates(Data,n,N);
 ​
 % Start of trading
 ​
 cash = 0;
 assets = 0;
 ​
 % Active trading
 ​
 T = length(t);
 ​
 for tt = 2:T-N  % Trading ticks
 ​
     % Get Q row, column indices of current state
     
     row = rho(tt-1)+n*(DS(tt-1)+1);
     downColumn = rho(tt);
     upColumn = rho(tt) + 2*n;
 ​
     % If predicting downward price move
     
     if Q(row,downColumn) > 0.5
 ​
         cash = cash + MOBid(tt); % Sell
         assets = assets - 1;
             
     % If predicting upward price move
 ​
     elseif Q(row,upColumn) > 0.5
 ​
         cash = cash - MOAsk(tt); % Buy
         assets = assets + 1; 
 ​
     end
 ​
 end
 ​
 % End of trading (liquidate position)
 ​
 if assets > 0
 ​
     cash = cash + assets*MOBid(T); % Sell off
 ​
 elseif assets < 0
 ​
     cash = cash + assets*MOAsk(T); % Buy back
 ​
 end

该算法使用来自Q的预测来做出每笔交易的决策。它说明了任何优化的机器学习算法的一般机制。

如果套利机会出现,该策略将试图通过在每个报价时使用单个股票的市场定单(最好的报价)从预期的价格变化中获利。该策略可以扩大到更大的交易量。使用从Q中获得的条件概率,该tradeOnQ函数采取以下操作之一:

  • 如果向上远期价格变动的可能性大于0.5,则买入
  • 如果向下远期价格变动的可能性大于0.5,则卖出

在交易日结束时,该功能会立即平仓(liquidates the position at the touch)。

该策略要求Data具有t报价时间和相应的市场订单买入价MOBid和卖出价MOAsk。在实时交易中,数据由交易所提供。本示例通过将历史样本分为训练(校准)和验证子样本来评估策略。验证子样本可充当实时交易数据的代表。该策略取决于其本身的交易矩阵Q,我们可以在做出许多超参数选择后进行估算。当优化策略时,输入nN是要调整的超参数。

超参数

连续时间马尔可夫模型和所得的交易矩阵Q取决于四个超参数的值:

  • lambda —用于计算失衡指数 I的加权参数
  • dI— 平滑期间用于平均I的反向刻度数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值