官方微信 手机客户端
查看: 143|回复: 0

什么是遗传算法交易? 遗传算法(GA)

[复制链接]

419

主题

422

帖子

1734

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1734
发表于 2019-5-9 17:11 | 显示全部楼层 |阅读模式
什么是遗传算法?
遗传算法(GA)是模仿自然进化过程的问题解决方法(或启发式方法)。与人工神经网络(ANN)不同,人工神经网络设计为像大脑中的神经元一样运作,这些算法利用自然选择的概念来确定问题的最佳解决方案。因此,GA通常用作优化器,用于调整参数以最小化或最大化某些反馈测量,然后可以单独使用或在ANN的构造中使用。
金融市场中,遗传算法最常用于在交易规则中找到参数的最佳组合值,并且它们可以构建到用于挑选股票和识别交易的ANN模型中。一些研究已经证明了这些方法的有效性
遗传算法的工作原理
使用向量在数学上创建遗传算法,向量是具有方向和幅度的量。每个交易规则的参数用一维向量表示,该向量可以被认为是遗传方面的染色体。同时,每个参数中使用的值可以被认为是基因,然后使用自然选择对其进行修饰。








例如,交易规则可能涉及使用诸如移动平均收敛发散  (MACD),  指数移动平均  (EMA)和随机指标之类的参数  。然后遗传算法将值输入这些参数,目标是最大化净利润。随着时间的推移,引入了微小的变化,并为下一代保留了产生理想影响的变化。(另请参阅:  算法交易的基础知识。)



然后可以执行三种类型的遗传操作:


  • 交叉表示在生物学中看到的繁殖和交叉,其中儿童具有其父母的某些特征。
  • 突变代表生物突变,用于通过引入随机的小变化来维持从一代群体到下一群体的遗传多样性。
  • 选择是从群体中选择个体基因组以供稍后繁殖(重组或交叉)的阶段。


然后将这三个操作用于五个步骤:


  • 初始化随机群体,其中每个染色体是n-长度,n是参数的数量。也就是说,建立随机数量的参数,每个参数具有n个元素。
  • 选择增加理想结果的染色体或参数(可能是净利润)。
  • 将突变或交叉运算符应用于选定的父项并生成后代。
  • 通过选择算子重组后代和当前种群以形成新的种群。
  • 重复步骤2到4。


随着时间的推移,这个过程将导致越来越有利的染色体(或参数)用于交易规则。当满足停止标准时,该过程终止,该标准可包括运行时间,适合度,代数或其他标准。


在交易中使用遗传算法
虽然遗传算法主要由机构定量交易者使用,但个体交易者可以利用遗传算法的力量 - 没有高等数学学位 - 使用市场上的几个软件包。这些解决方案包括面向金融市场的独立软件包,以及可以促进更多实际操作分析的Microsoft Excel附加软件。


使用这些应用程序时,交易者可以定义一组参数,然后使用遗传算法和一组历史数据对其进行优化。一些应用程序可以优化使用哪些参数及其值,而其他应用程序主要专注于简单优化给定参数集的值。(要了解有关这些程序派生策略的更多信息,请参阅:  程序交易的力量。)


曲线拟合(过度拟合),或围绕历史数据设计交易系统而不是识别可重复行为,代表了使用遗传算法的交易者的潜在风险。任何使用GA的交易系统都应在实际使用前在纸面上进行前瞻性测试。






回复

举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

精选推荐

联系客服 关注微信 下载APP 返回顶部 返回列表