利用遗传算法预测金融市场

在《华尔街随机漫步》(1973年)中,伯顿·马尔基尔建议,“一只蒙着眼睛的猴子向报纸的金融页面投掷飞镖,可以选择一个投资组合,它的效果和专家精心挑选的一样。”虽然进化可能使人在挑选股票方面不再聪明,查尔斯·达尔文的理论在更直接的应用中被证明是有效的。...

在《华尔街随机漫步》(1973年)中,伯顿·马尔基尔建议,“一只蒙着眼睛的猴子向报纸的金融页面投掷飞镖,可以选择一个投资组合,它的效果和专家精心挑选的一样。”虽然进化可能使人在挑选股票方面不再聪明,查尔斯·达尔文的理论在更直接的应用中被证明是有效的。

遗传算法是利用自然的力量解决复杂问题的独特方法。通过应用这些方法来预测证券价格,交易者可以通过为给定证券的每个参数确定最佳值来优化交易规则。

关键要点

  • 基于遗传规则和进化理论的复杂计算机算法最近在证券交易中取得了一些成功。
  • 通过运用这些方法预测证券价格,交易者可以优化交易规则,创造新的策略。
  • 个体交易者可以利用市场上几种软件包的遗传算法的力量。

1:40

什么是遗传算法?

什么是遗传算法(genetic algorithms)?

遗传算法(GAs)是一种模拟自然进化过程的问题解决方法(或启发式算法)。与人工神经网络(ANNs)不同,人工神经网络的功能类似于大脑中的神经元,这些算法利用自然选择的概念来确定问题的最佳解决方案。

因此,GAs通常被用作优化器,用于调整参数以最小化或最大化某些反馈度量,这些反馈度量可以单独使用,也可以在ANN的构造中使用(要了解有关人工神经网络的更多信息,请参见:神经网络:预测利润。)

在金融市场中,最常用的是遗传算法来寻找交易规则中参数的最佳组合值,并将其构建到用于选股和识别交易的ANN模型中。

一些研究已经证明了这些方法的有效性,包括“遗传算法:股票评估的起源”(2004)和“遗传算法在股票市场数据挖掘优化中的应用”(2004)(更多信息,请参见:如何创建交易算法。)

遗传算法的工作原理

遗传算法是用向量在数学上建立起来的,向量是有方向和大小的量。每个交易规则的参数都用一个一维向量来表示,这个向量可以被认为是遗传术语中的染色体。同时,每个参数中使用的值可以看作是基因,然后使用自然选择对其进行修改。

例如,交易规则可能涉及使用移动平均收敛-发散(MACD)、指数移动平均(EMA)和随机性等参数。然后,遗传算法将这些参数输入值,以实现净利润最大化为目标。随着时间的推移,一些小的变化会被引入,那些产生理想影响的变化会保留给下一代。

(另见:算法交易基础。)

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

  • 杂交代表了生物学中的繁殖和杂交,即孩子表现出父母的某些特征。
  • 突变代表生物突变,通过引入随机的微小变化来维持种群一代到下一代的遗传多样性。
  • 选择是从群体中选择个体基因组进行后期育种(重组或杂交)的阶段。

这三个操作随后在五步流程中使用:

  1. 初始化一个随机群体,其中每个染色体的长度为n,n是参数的个数。也就是说,用n个元素建立随机数目的参数。
  2. 选择染色体,或参数,以增加理想的结果(大概是净利润)。
  3. 对所选的双亲应用变异或交叉算子并生成后代。
  4. 用选择算子将子代和当前种群重组形成新的种群。
  5. 重复步骤二到四。

随着时间的推移,这个过程将导致越来越有利的染色体(或参数)用于交易规则。然后,当满足停止条件(包括运行时间、适合度、生成数或其他条件)时,进程终止。

遗传算法在证券交易中的应用

虽然遗传算法主要由机构定量交易员使用,但个人交易员可以利用市场上的几个软件包,在没有高等数学学位的情况下利用遗传算法的威力。

这些解决方案包括面向金融市场的独立软件包,以及可以促进更多实际分析的Microsoft Excel附加组件。

在使用这些应用程序时,交易员可以定义一组参数,然后使用遗传算法和一组历史数据对这些参数进行优化。一些应用程序可以优化所使用的参数及其值,而其他应用程序则主要关注于简单地优化给定参数集的值。

曲线拟合(即过度拟合)或围绕历史数据设计交易系统而不是识别可重复行为,这对使用遗传算法的交易员来说是一种潜在的风险。任何使用天然气的交易系统在使用前都应在纸上进行转发测试。

选择参数是这个过程的一个重要部分,交易者应该找出与给定证券价格变化相关的参数。例如,尝试不同的指标,看看是否有任何似乎与主要市场转折相关。

底线

这些算法不是圣杯,交易者应该小心选择正确的参数,而不是曲线拟合。

(更多阅读,请看:选择正确的算法交易软件,程序交易的力量,以及如何编写自己的算法交易机器人。)

  • 发表于 2021-06-17 22:22
  • 阅读 ( 172 )
  • 分类:商业金融

你可能感兴趣的文章

什么是大数据,为什么重要,有多危险?

...PC转移到远程服务器上。从那里,有许多方法可以访问和利用信息。 ...

  • 发布于 2021-03-25 07:09
  • 阅读 ( 187 )

算法交易

...易(algorithmic trading)? 算法交易是一个执行指令的过程,利用自动和预先编程的交易指令来考虑价格、时间和数量等变量。算法是解决问题的一组方向。随着时间的推移,计算机算法将全部订单的一小部分发送到市场。 算法交...

  • 发布于 2021-06-04 11:27
  • 阅读 ( 129 )

神经网络

什么是神经网络(a neural network)? 神经网络是一系列的算法,通过模仿人脑运作方式的过程,努力识别一组数据中潜在的关系。从这个意义上说,神经网络指的是神经元系统,无论是有机的还是人工的。神经网络能适应输入的变...

  • 发布于 2021-06-12 13:55
  • 阅读 ( 198 )

数据挖掘(data mining)和预测分析(predictive analytics)的区别

...ining)和预测分析(predictive ****ytics)的区别 定义 数据挖掘是利用机器学习、统计学和数据库系统的方法在大数据集中发现模式的过程。预测分析是统计学的一个领域,它处理从数据中提取信息并用它们来预测趋势和行为模式。这解...

  • 发布于 2021-07-01 00:14
  • 阅读 ( 443 )

遗传算法(genetic algorithm)和传统算法(traditional algorithm)的区别

...方案。 遗传算法在每一步中主要使用三种类型的规则,利用当前种群生成下一代。 选择规则——它选择对下一代人口有贡献的个体(父母)。 交叉规则-它与两个父母一起为下一代生成一个孩子。 变异规则-它将改变应用到单个...

  • 发布于 2021-07-01 15:41
  • 阅读 ( 252 )

什么是金融理论?(finance theory?)

...值。一些金融理论将这一分析向前推进了一步,通过使用算法和经济预测将可能的通货膨胀等问题考虑在内。随着时间的推移,衡量货币的价值对投资者来说非常重要,因为它可以从长远的角度看待当前做出的决策。 ...

  • 发布于 2021-12-24 13:02
  • 阅读 ( 139 )

什么是金融经济学?(financial economics?)

...响参与市场的投资者的决策过程来预测金融市场的行为。利用金融经济学理论描述的方程式,分析师可以插入市场因素并找到预测条件。金融经济学应用的一个例子是期权定价的布莱克-斯科尔斯理论。。 ...

  • 发布于 2022-01-03 12:38
  • 阅读 ( 207 )

什么是阿尔法一代?(alpha generation?)

...这一目标可能是一个有点复杂的过程,通常借助于计算机算法和程序的使用,这些算法和程序可以一次合成大量数据,并根据过去的性能进行快速预测。生成器既可以用于分析给定投资组合的财务状况,也可以用于对购买和收购...

  • 发布于 2022-02-06 20:14
  • 阅读 ( 172 )

财务工程师会做什么?

...见的是担任交易员、银行家或投资经理,并在这些职业中利用他们的金融工程背景,以提高他们能为客户提供的服务质量
. ...

  • 发布于 2022-02-15 20:10
  • 阅读 ( 77 )
bpr2_00290027
bpr2_00290027

0 篇文章

相关推荐