在“A Random Walk Down Wall Street”(1973)中,Burton Malkiel表示,“在报纸的财经页面上投掷飞镖的蒙着眼睛的猴子可以选择一个与专家精心挑选的投资组合一样好的投资组合。” 虽然进化可能使人在挑选股票方面不再聪明,但查尔斯达尔文的理论在更直接地应用时证明是非常有效的。
什么是遗传算法?
遗传算法(GA)是模仿自然进化过程的解决问题的方法(或启发式方法)。与人工神经网络(ANN)不同,人工神经网络设计为像大脑中的神经元一样运作,这些算法利用自然选择的概念来确定问题的最佳解决方案。因此,GA通常用作优化器,其调整参数以最小化或最大化一些反馈测量,然后可以独立地或在ANN的构造中使用。
在金融市场中,遗传算法最常用于在交易规则中找到参数的最佳组合值,并且它们可以构建到用于挑选股票和识别交易的ANN模型中。一些研究已经证明了这些方法的有效性,包括“ 遗传算法:股票评估的起源 ”(2004)和“ 遗传算法在股市数据挖掘优化中的应用 ”(2004)。
什么是遗传算法?
遗传算法的工作原理
使用向量在数学上创建遗传算法,向量是具有方向和幅度的量。每个交易规则的参数用一维向量表示,该向量可以被认为是遗传方面的染色体。同时,每个参数中使用的值可以被认为是基因,然后使用自然选择对其进行修饰。
例如,交易规则可能涉及使用诸如移动平均会聚发散 (MACD), 指数移动平均 (EMA)和随机指标之类的参数 。然后遗传算法将值输入这些参数,目标是最大化净利润。随着时间的推移,引入了微小的变化,并为下一代保留了产生理想影响的变化。
然后可以执行三种类型的遗传操作:
- 交叉表示在生物学中看到的繁殖和交叉,其中儿童具有其父母的某些特征。
- 突变代表生物突变,并通过引入随机的小变化用于维持从一代群体到下一群体的遗传多样性。
- 选择是从群体中选择个体基因组以供稍后繁殖(重组或交叉)的阶段。
然后将这三个操作用于五个步骤:
- 初始化随机群体,其中每个染色体是n-长度,n是参数的数量。也就是说,建立随机数量的参数,每个参数具有n个元素。
- 选择增加理想结果的染色体或参数(可能是净利润)。
- 将突变或交叉运算符应用于选定的父项并生成后代。
- 通过选择算子重组后代和当前种群以形成新的种群。
- 重复步骤2到4。
随着时间的推移,这个过程将导致越来越有利的染色体(或参数)用于交易规则。当满足停止标准时,该过程终止,该标准可包括运行时间,适合度,代数或其他标准。
在交易中使用遗传算法
虽然遗传算法主要由机构定量交易者使用,但个体交易者可以利用遗传算法的力量 – 没有高等数学学位 – 使用市场上的几种软件包。这些解决方案包括面向金融市场的独立软件包,以及可以促进更多实际操作分析的Microsoft Excel附加软件。
使用这些应用程序时,交易者可以定义一组参数,然后使用遗传算法和一组历史数据进行优化。一些应用程序可以优化使用哪些参数及其值,而其他应用程序主要专注于简单地优化给定参数集的值。
曲线拟合(过度拟合),或围绕历史数据设计交易系统而不是识别可重复行为,代表了使用遗传算法的交易者的潜在风险。任何使用GA的交易系统都应在实际使用前在纸面上进行前瞻性测试。
选择参数是该过程的重要部分,交易者应该寻找与给定证券价格变化相关的参数。例如,尝试不同的指标,看看是否有任何与主要市场转向相关的指标。
遗传算法是利用自然力量解决复杂问题的独特方法。通过应用这些方法来预测证券价格,交易者可以通过确定给定证券的每个参数使用的最佳值来优化交易规则。然而,这些算法并不是圣杯,交易者应该谨慎选择正确的参数而不是曲线拟合。