基于多因子量化选股模型的采摘机器人学习策略研究

2024-01-09 09:46
农机化研究 2024年4期
关键词:多因子学习策略蚂蚁

赵 睿

(中共鹤壁市委党校,河南 鹤壁 458030)

0 引言

采摘农作物是一种重复且繁琐的工作,对劳动力需求很大。虽然小麦、玉米和大麦等基本粮食都由收割机来完成收割任务,但对于采摘水果和蔬菜等作物则需要采摘机器人来完成。为此,基于多因子量化选股模型对采摘机器人学习策略进行制定,实现了对采摘机器人的路径规划,对采摘机器人的研究具有一定参考价值。

1 多因子量化选股模型研究

指数增强基金是利用数字模型和算法计算出交易决策,给基金经理作为调仓参考。其核心思路是:在保证超额波动率的情况下,采用多因子选股模型建立投资组合,选择一些对股票收益影响大的因子,通过这些因子实现对收益率高的股票进行投资,实现超额完成目标指数的收益。当前环境下,采用多因子模型构建选股策略是非常普遍的做法,其多因子量化模型流程如图1所示。

1.1 确定候选的影响因子

影响股票投资策略的因子有很多,候选因子的选择也相应较多。其可以是基本指标,如市盈率PE(Price earnings ratio,即P/E ratio)和平均市净率PB(Price to book ratio);也可以是技术指标,如动量、换手率、成交量、相对强弱指数和随机指数等;又或者是其他宏观方面的指标等。选择哪些因子作为候选因子,是根据经济环境和投资经验决定的,而选择有效因子是增强选股模型收益的核心因素。

图1 多因子量化模型流程图Fig.1 The flow chart of multi-factor quantitative model

1.2 数据预处理

在前期收集股票因子的过程中,这个数据会存在噪声、量纲不一致和缺失等问题,需要对数据进行预处理,剔除掉不合适的数据,让数据模型更具有适应性,从而满足选股模型的需求。对股票因子进行预处理的方法很多,如对数据进行清理、集成、变化和规约等。本文是将多因子量化选股模型应用于采摘机器人路径规划中,数据完整性显得尤为重要。因此,采用缺失处理、离群值处理,标准化和中性化等4种方法对因子数据进行预处理。

1.3 数据预处理

股票市场上的影响因子成千上万,每个因子伴随市场环境具有不同的作用。本文采用XGBoost模型方法对能影响股票收率的因子进行分析研究。

1)XGBoost模型方法理论基础。XGBoost模型方法是采用梯度提升树的智能算法,可以自动判断获取到的特征因子的重要性,并利用提升树对这些特征进行选择和分类。本文就是在算法框架上使用XGBoost模型方对重要的候选因子进行筛选。

XGBoostt模型方法是利用不断添加新树并学习新函数方法对上一次预测结果进行重新拟合,从而通过特征分裂组成新的树。XGBoostt模型方法的核心是:在确定第t-1颗树时,对下一棵树的叶子结构权重ω和第t棵树进行预测,其目标函数表达式为

(1)

其中,l为损失函数;Ω(ft)为正则项;c为常数项;f(x)为其中一颗回归树;yi为整个累加模型的输出。

对式(1)进行二阶泰勒处理后得

(2)

(3)

采用正则化项对式(2)进行展开,可得

(4)

对式(4)进行求导,求出叶子结构权重ωj的最优值为

(5)

带入式(4),可得

(6)

其中,γ为叶子的个数。

式(6)是判断一棵树结果是否满足要求的标准,分数越小,表示结构越好。其可以用来作为最佳切分点的判断,也可以用来在确定是否还需要在此基础上进行新的分裂。其分裂的增益表达式为

(7)

式(7)是整个XGBoost模型方法的根据,其是左子、右子和不分割等3部分的分数,通过该式可以在一定程度上对树结构分裂程度上进行控制。

XGBoost模型方法处理流程为:①确定输入条件,即当前节点的数据集;②确定输出条件,即特征维度;③根据最高分进行分割输出。XGBoost模型方法具体的流程图如图2所示。

1.4 构建多因子量化选股模型

多因子量化选股模型主要包括打分法和回归法两种构建方法,本文采用前者。其主要思路是:选择一些对股票收益影响大的预测因子,再根据股票对这些因子进行排序,并在相对位置进行打分;随后,根据每个因子的权重比例对每个因子进行计算,得出个股的综合分数,并进行降序排列,挑选出分数高的股票作为投资的组合。但是由于行业变化和投资环境的变化,很多因子会出现不稳定的情况,随着时间而逐渐失去作用,所以在打分模型中需对于选用的因子进行不断的评价和改进,剔除不良和因子和加入新的有效因子。若每次都根据因子计算的个股综合分数重新建立投资组合,这样换手率会很大高,从而大大增加交易成本,所以还会利用半衰期IC加权方法构建模型,提前先确定每个因子影响力的长短,然后隔一段周期才进行大的调仓。

图2 XGBoost模型方法流程图Fig.2 The flow chart XGBoost model method

2 采摘机器人学习策略模型

采用学习策略模型对采摘机器人路径进行规划,环境场景通过栅格法建立二维地图。在环境场景中,障碍物、起始点、终止点都是在初始时刻确定好,在整个过程中都不会发生变化。采摘机器人路径规划流程如图3所示。

图3 采摘机器人路径规划流程图Fig.3 The flow chart of picking robot path planning

对二维地图进行栅格化处理中,一般通过对x轴和y轴方向分别进行栅格化。图4是对二维环境进行栅格化,黑色和白色分别为障碍物和无障碍物区域。

图4 栅格地图模型示意图Fig.4 The schematic diagram of grid map model

3 基于多因子量化蚁群算法的采摘机器人路径规划

3.1 多因子量化的蚁群算法

蚁群算法以基于动物灵感的一种算法,其由Italy学者Dorigo等人提出,核心思想是实时对蚂蚁行走路上的信息素进行更新,并通过最优反馈实现算法的收敛。该方法被广泛应用在复杂组合优化问题上,如旅行商问题、车间调度、路径优化、无线传感器网络控制等。为了实现对采摘机器人路径规划,本文将多因子量化方法应用在蚁群算法上,对其进行改进。改进包括两个方向:①对蚁群信息素的更新方法进行改进;②利用多因子量化中的XGBoost模型方法,对蚁群算法中当前位置到下一位置的转移概率进行改进。

蚁群信息素采用多因子量化的学习策略进行实时更新,将蚁群移动路径上任何一点的信息素作为多因子量化学习策略的长期收益来求解。任意时刻对任意栅格的信息素采用多因子量化学习策略进行全局更新。

设定蚁群算法立即奖赏函数规则为:当蚂蚁顺利到达目标终点后,会获得+10的立即奖赏;而到达非目标终点的位置,则获得+1的累计奖赏。

设定蚁群算法迁移函数规则为:采摘机器人从下向上运动时,x轴坐标不变,y轴方向依次-1,往其反方向时则相反;采摘机器人从右向左运动时,y轴坐标保持不变,x轴方向依次-1,往其反方向时也相反。

采用多因子量化的学习策略对蚁群信息素进行实时更新的算法为:

1)输入:路径探索因子为ε,折扣率为γ,步长因子为α,情节最大值为ET,最大时间步为ETS。

2)参数初始化:二维地图栅格化的状态空间为X,动作包括5种,即向下(-1)、向上(+1)、向左(-1)、向右(+1)和原地(0);初始化时所有的动作收益值Q都是0,即Q0(x,u)=0;初始化状态为x=x0。

Repeat(ET)

Loop(ETS)

Step2:根据路径探索因子ε的值,设定1-ε的概率会选择最优动作α,而选择其他动作的概率为ε。

Step3:根据选择的动作和实时状态,根据蚁群算法迁移函数将其迁移到后续状态x′,并根据奖赏函数设置立即奖赏为r。

Step4:根据多因子量化方法,对各个状态出的收益值进行更新,并剔除不合格的状态,Q值更新为Q(x,u)=Q(x,u)+α(r+γQ(x′,u′)-Q(x,u))。

Step5:更新蚂蚁的当前状态:x←x′。

Step7:更新下一状态会执行的动作:α←α′。

Step8:更新当前时步;

End Loop

更新当前情节

End Repeat

3)输出:各状态动作处的收益值Q。

3.2 转移概率的改进

为了增加策略的多样性,在转移概率中引入了随机机制,如同多因子量化的学习策略中的ε。设定随机参数s∈(0,1),每个时间步t会产生的一个随机数st∈(0,1)。当s≤st时,可以计算转移概率来确定移动到下一个的位置;而当s>st时,则查看周边可以移动的位置,去除障碍物无法移动和已经移动的位置,随机选择一个可性位置。

(8)

其中,rand(allowedt)表示可行位置从非障碍物到未经过的位置集合allowedt中的选择。

对于任何一个可行节点j,其转移概率表达式为

(9)

其中,λ(i,j)为(i,j)区域内的蚁群信息素;μ(i,j)=1/d(i,j);d(i,j)为(i,j)区域内的面积;t为蚂蚁已经移动过的列表。

3.3 采摘机器人路径规划

基于多因子量化蚁群算法的采摘机器人路径规划,其求解流程如图5所示。

图5 基于多因子量化蚁群算法流程图Fig.5 The flow chart of ant colony algorithm based on multi-factor quantization

具体步骤如下:

Step1:搭建采摘机器人的二维环境地图模型。

Step2:对蚁群算法参数进行初始化。

Step3:将所有蚂蚁放置在起点A。

Step4:所有蚁群根据制定的规则和概率在节点间移动,并对每个蚂蚁的移动次数进行统计。

Step5:采用多因子量化方法对信息表进行更新。若有蚂蚁的移动次数小于设定的最大次数,但没有到达目标点,则回到Step4重新开始;若有蚂蚁的移动次数大于或等于设定的最大次数,但没有达到目标点,则清除所有数据,并将其放于起点。

Step6:统计成功到达目标点的蚂蚁路径P,并查看是否满足要求。

Step7:对比所有符合要求的蚂蚁路径P,选出最优值。

Step8:输出采摘机器人最优路径,也就是蚂蚁的最优路径。

4 仿真实验

为了验证基于多因子量化选股模型的采摘机器人学习策略的可靠性,采用MatLab 8.0对其进行了仿真实验。实验中,设定采摘机器人运动区域为一个二维平面,所有障碍物及其形状都是已知的。初始化设置蚂蚁总数为8000,移动次数NC=300,起始点为A,目标终点为B,要求是求出一条从起点到终点的无碰撞最优路径。仿真结果如图6所示。

图6 Matlab仿真结果图Fig.6 The Simulation diagram of MatLab

由图6可知:基于多因子量化选股模型的蚁群算法为采摘机器人规划了一条长度最短、转弯次数最少的最优路径,移动过程中没有发生碰撞。这证明,该算法对改善采摘机器人移动路径效果明显,使规划的路径更合理。

5 结论

将多因子量化选股模型和蚁群算法相结合,设计了一种改进的蚁群算法,并对采摘机器人的路径规划进行了研究。该算法具有一定的学习策略,可以根据实际作业区域为采摘机器人设计最优的作业路径。实验结果表明:该算法为采摘机器人规划了一条长度最短、转弯次数最少的最优路径,移动过程中没有发生碰撞,改善采摘机器人移动路径效果明显,使规划的路径更合理。

猜你喜欢
多因子学习策略蚂蚁
基于BP神经网络的多因子洪水分类研究
基于打分法的多因子量化选股策略研究
我们会“隐身”让蚂蚁来保护自己
基于多因子的ZigBee安全认证机制
高中生数学自主学习策略探讨
蚂蚁
一种使用反向学习策略的改进花粉授粉算法
蚂蚁找吃的等
基于微博的移动学习策略研究
自主学习策略在写作教学中的应用