程序化参数优化问题
了解AI技术的超参数优化与调整方法

了解AI技术的超参数优化与调整方法随着人工智能(AI)技术的迅猛发展,越来越多的应用场景涉及到机器学习和深度学习算法。
在这些算法中,超参数的选择对模型性能至关重要。
超参数指的是那些无法从数据中学习到的参数,例如学习率、批量大小和正则化系数等。
为了取得较好的模型性能,研究者们致力于寻找一种可靠、高效的超参数优化与调整方法。
本文将介绍一些常见的方法,并探讨它们各自的优势和局限性。
一、网格搜索网格搜索是最简单直观的超参数优化方法之一。
顾名思义,在网格搜索中,我们根据预定义范围内的不同取值组合来遍历所有可能的超参数组合,并通过交叉验证来评估每个组合下模型的性能。
然后,选择具有最佳性能指标(如准确率或F1分数)的超参数组合作为最终结果。
尽管网格搜索易于实现且思路清晰,但其效率较低。
随着超参数数量和范围增加,需遍历组合数呈指数级增长,因此计算成本非常高。
此外,网格搜索方法未考虑超参数之间的相关性,可能导致一些冗余尝试。
因此,在大多数情况下,我们需要更高效、自动化的方法。
二、随机搜索为了解决网格搜索存在的问题,随机搜索应运而生。
与网格搜索不同的是,随机搜索从预定义范围内随机选择超参数值来进行组合,从而形成不同的超参数组合。
然后使用交叉验证评估模型效果,并选择表现最好的超参数组合作为最终结果。
相比网格搜索,随机搜索能够更好地在给定时间内探索大范围的超参数空间。
由于其随机性质,可以忽略低影响力的细节选项,并将更多注意力放在可能具有更高影响力的超参数上。
然而,这种方法仍然没有考虑到超参数之间的相关性。
三、贝叶斯优化贝叶斯优化是一类基于概率理论和统计模型构建的优化方法。
它通过根据每次迭代获得结果调整下一次尝试样本分布,以找到使目标函数最大或最小化的全局最优解。
贝叶斯优化通常基于高斯过程回归(Gaussian Process Regression)模型进行建模。
该模型根据历史尝试结果为每一组超参数估计其性能,并通过不断选择可能具有更高性能的超参数来更新样本分布。
人工智能开发技术中的参数优化和自动机器学习

人工智能开发技术中的参数优化和自动机器学习人工智能(Artificial Intelligence, AI)在过去几十年里取得了令人瞩目的进展,成为了现代科技领域中的热门话题。
而在人工智能的开发技术中,参数优化和自动机器学习被广泛运用,成为了提高人工智能性能和效果的重要手段。
一、参数优化的概念与方法在人工智能开发中,参数优化旨在通过调整和优化算法模型中的参数,以达到最佳的性能和效果。
这些参数的选择往往直接关系到算法的执行效率和准确性。
常用的参数优化方法包括网格搜索、贝叶斯优化、遗传算法等。
1. 网格搜索网格搜索是一种简单而直观的参数优化方法。
它通过指定参数的一组可能取值,对所有可能的组合进行遍历,最终找到在给定数据集上表现最好的参数组合。
然而,网格搜索的缺点在于当参数数量增加时,搜索空间呈指数级增长,导致计算量大大增加。
2. 贝叶斯优化贝叶斯优化是一种基于贝叶斯统计学原理的参数优化方法。
它通过建立一个概率模型来估计参数的后验分布,并选择期望改进最大的参数组合。
相比于网格搜索,贝叶斯优化能够更高效地找到最优解,尤其在参数空间复杂或者存在噪声的情况下表现更好。
3. 遗传算法遗传算法是一种通过模拟生物进化过程进行参数优化的方法。
在遗传算法中,通过模拟自然选择、交叉和变异等操作,生成新的参数组合,并筛选出适应度更高的个体。
遗传算法不仅能够处理高维、非线性的参数空间,还能够避免陷入局部最优解。
二、自动机器学习的概念与应用自动机器学习是一种旨在简化机器学习流程的技术,它通过自动化数据预处理、特征选择、模型选择和参数优化等步骤,实现了对机器学习的全自动化。
相比于传统的手动调参和模型选择,自动机器学习能够极大地减少开发者的工作量,同时提高了模型的性能和效果。
自动机器学习的应用广泛,例如在图像分类、自然语言处理、推荐系统等领域都取得了显著成果。
以图像分类为例,传统的机器学习方法需要人工选择特征、调整参数,而自动机器学习则能够自动从原始图像中提取特征,并自动选择合适的模型和参数,从而大大提升了分类的准确性和效率。
多参数优化的快速方法

多参数优化的快速方法Finding a fast method for optimizing multiple parameters can be a challenging task. However, with the right approach and tools, it is possible to streamline the process and achieve the desired results efficiently. One effective strategy is to leverage machine learning techniques, such as genetic algorithms or gradient descent, to search for the optimal combination of parameters. These methods can efficiently explore the parameter space and identify the best values to optimize the desired objective function.寻找优化多个参数的快速方法可以是一个具有挑战性的任务。
然而,通过正确的方法和工具,可以简化流程并高效地实现所需的结果。
一个有效的策略是利用机器学习技术,如遗传算法或梯度下降,来搜索最佳参数组合。
这些方法可以有效地探索参数空间,并识别出优化所需目标函数的最佳值。
Another approach to solving this problem is to use optimization libraries or frameworks that are specifically designed for handling multiple parameters. These tools provide pre-built algorithms and functions that are tailored for optimization tasks, making it easier to find the optimal solution. By leveraging these libraries, researchersand practitioners can save time and effort in developing and implementing optimization algorithms for multiple parameters.另一种解决这个问题的方法是使用专门设计用于处理多个参数的优化库或框架。
软件系统参数智能优化平台的设计与实现

软件系统参数智能优化平台的设计与实现软件系统参数智能优化平台的设计与实现一、引言在软件系统开发过程中,参数优化是一个关键环节。
传统的手动参数调整方法往往效果不佳,需要耗费大量的时间和人力资源。
为了提高软件系统的性能和效率,研发一个软件系统参数智能优化平台尤为重要。
本文将主要介绍这个平台的设计与实现。
二、平台需求分析在设计与实现之前,我们首先需要对平台的需求进行分析。
软件系统参数智能优化平台需要具备以下功能:1. 参数采集:能够自动收集软件系统的参数信息,并将其存储在数据库中,以便后续的分析和优化。
2. 参数分析:对采集到的参数信息进行分析,发现其中的潜在问题,并提出相应的优化建议。
3. 参数优化:根据分析结果,自动调整软件系统的参数,以提高系统的性能和效率。
4. 统计和报表:汇总参数采集、分析和优化的结果,形成统计和报表,以便进一步分析和评估系统的整体性能。
5. 用户管理:对于不同的用户角色,提供不同的权限和功能,保证平台的安全性和可用性。
基于以上需求,我们可以开始着手设计与实现软件系统参数智能优化平台。
三、平台设计与实现1. 系统架构设计为了实现参数智能优化平台的功能,我们采用了分布式架构,将系统划分为以下三个层次:数据采集层、业务逻辑层和展示层。
- 数据采集层:负责定时收集各种软件系统的参数信息,并存储到数据库中,包括硬件信息、运行日志等。
- 业务逻辑层:对采集到的参数信息进行分析,发现潜在问题,并提出优化建议。
同时,根据分析结果,自动调整系统的参数。
- 展示层:用户可以通过展示层查看系统的参数采集、分析和优化结果,以及相关的统计和报表。
2. 数据库设计与实现为了存储参数信息和分析结果,我们设计了一个关系型数据库。
数据库中包括以下表:参数采集表、参数分析表、参数优化表和用户表。
- 参数采集表:存储各类软件系统的参数信息,包括系统配置、运行状态等。
- 参数分析表:存储参数分析的结果,包括潜在问题的描述、优化建议等。
参数优化原理-概述说明以及解释

参数优化原理-概述说明以及解释1.引言1.1 概述概述参数优化是一种优化算法,它通过调整模型或系统中的参数,以使其性能达到最优。
在各个领域的科学研究和工程实践中,参数优化都扮演着重要的角色,可以提高模型的准确性、系统的效率和优化目标的实现程度。
参数是模型或系统中可调整的变量,它们对于模型或系统的性能具有重要的影响。
参数优化通过遍历参数空间,寻找使得模型或系统性能最优的参数组合。
在实际中,参数空间往往是高维的,并且通常存在多个局部最优解,这使得参数优化成为了一项具有挑战性的任务。
参数优化的重要性不言而喻。
首先,参数优化可以提高模型的准确性。
在机器学习领域,模型的参数对于模型的性能起着决定性的作用。
通过合理的参数选择和优化,可以使得模型在训练和测试阶段的表现更加优秀。
其次,参数优化可以提高系统的效率。
在工程实践中,系统中各种参数的选择对系统的运行效率有重要影响。
通过优化参数,可以使系统在满足各种约束条件的前提下,达到最高的效率。
此外,参数优化还可以帮助实现优化目标。
在一些优化问题中,参数的优化是实现最优解的关键步骤。
通过对参数进行优化,可以找到使目标函数取得最小(或最大)值的参数组合。
虽然参数优化在实践中具有广泛的应用前景,但也存在一些局限性。
首先,参数优化通常需要耗费较大的计算资源。
由于参数空间往往是高维的,并且搜索整个参数空间是一项耗时的任务,因此需要充分利用计算资源来完成参数优化过程。
其次,参数优化往往是一个迭代的过程。
由于参数空间的复杂性和局部最优解的存在,往往需要多次迭代才能找到最优解。
因此,参数优化需要投入大量时间和精力来进行实施。
此外,参数优化依赖于问题的定义和约束条件的设定。
对于不同的问题,需要设计相应的优化算法和适合的参数确定方法。
综上所述,参数优化作为一种优化算法,在科学研究和工程实践中具有重要的作用。
通过优化模型或系统中的参数,可以提高模型的准确性、系统的效率和优化目标的实现程度。
学习AI技术的算法优化与参数调整方法

学习AI技术的算法优化与参数调整方法一、引言AI技术作为当今科技领域的重要研究方向,已经在许多领域得到了广泛应用。
然而,为了实现高效准确的AI模型,在算法设计和参数调整方面仍然存在许多挑战。
本文将介绍一些常见的算法优化和参数调整方法,帮助读者更好地掌握AI技术。
二、算法优化方法1. 梯度下降法梯度下降法是一种常用的优化算法,旨在通过寻找目标函数的极小值点来改善模型性能。
该方法通过计算目标函数关于各个参数的偏导数,并逐步调整参数值以降低目标函数值。
梯度下降法有不同的变体,如批量梯度下降法、随机梯度下降法和小批量梯度下降法等。
2. 基于进化策略的优化算法进化策略是一类通过模拟生物进化过程来进行参数搜索和优化问题求解的算法。
其中常见的方法包括遗传算法、粒子群优化和差分进化等。
这些算法通过设定合适的个体表达方式、适应度函数和演化操作,寻找最优解以提高AI模型的效果。
三、参数调整方法1. 网格搜索网格搜索是一种简单但有效的参数调整方法。
它通过对给定的参数空间进行穷举搜索,评估每个参数组合对模型性能的影响,并选择表现最佳的组合。
虽然网格搜索在小规模参数空间中可以得到较好结果,但当参数数量较多时,耗时较长。
2. 随机搜索随机搜索是一种更快速且灵活的参数调整方法。
与网格搜索不同,随机搜索从预定义的参数分布中随机采样,并评估每个采样点的性能。
通过增加采样点数目,可以更好地探索参数空间并找到最优解。
随机搜索在大规模数据集和复杂模型中表现出较好性能。
3. 贝叶斯优化贝叶斯优化将建立一个关于目标函数和观测值之间概率约束关系的贝叶斯模型。
它通过更新先验信息来生成下一个待评估点,并根据目标函数值反馈进行迭代优化。
相比于传统方法,贝叶斯优化具有更高效的收敛性和对噪声的鲁棒性,适合多样化的参数调整问题。
四、算法优化与参数调整的应用实例1. 图像识别在图像识别任务中,深度学习模型通常需要大量参数和复杂的计算过程。
通过使用梯度下降等算法优化方法,可以加速模型训练过程,提高准确性。
马斯京根方程参数确定及其程序化实现

马斯京根方程参数确定及其程序化实现马斯京根(Meshing)程是一种常用的抽象表达概念的方法。
它可以应用于许多不同的领域,括天文学、物理学、数学、机械工程等。
它能够描述复杂的系统的结构,而且大部分的细节可以忽略。
为了识别马斯京根方程的参数,需要使用数学工具,例如数学分析或机器学习技术。
本文将介绍马斯京根方程参数确定方法以及其程序化实现。
一、马斯京根方程参数确定马斯京根方程是一种可以描述复杂系统结构的方程,其参数可以很容易地用数学方法来求解。
传统的数学方法包括拉格朗日方法、小波方法和马尔可夫方法等。
拉格朗日方法是一种采用蒙特卡洛方法的变分方法,用于确定马斯京根方程的参数。
它的基本思想是通过最小化目标函数来求解参数。
在蒙特卡洛方法中,它被表示为参数之间的最佳变换,用于满足某种限制条件。
它是一种非概率优化方法,可以在求解参数的同时自动调整参数。
小波方法是一种采用小波变换的参数确定方法。
它的思想是将信号分解为基于小波的局部特征,用于确定马斯京根方程的参数。
它的优点是可以准确地确定马斯京根参数,而且具有稳定性。
马尔可夫方法是一种利用马尔可夫过程的参数求解方法。
它的基本思想是使用马尔可夫过程来模拟复杂系统,用于确定马斯京根方程的参数。
它具有高精度、计算简单、准确性高等特点,适用于许多复杂系统的模拟。
二、马斯京根方程程序化实现为了更好地实现马斯京根方程参数的程序化实现,在数学方法的基础上,也提出了一系列的计算机程序技术,包括最优化、智能计算和机器学习等。
最优化方法是指通过最优化算法来实现马斯京根方程参数的程序化实现。
它具有易于实现、精度高的优点。
最优化算法的基本思想是根据所给的限制条件,通过最小化预定义的目标函数来确定参数,从而获得最优解。
主要的最优化算法包括梯度下降法、遗传算法、模拟退火算法和免疫算法等等。
智能计算方法是指通过智能计算技术来实现马斯京根方程参数的程序化实现。
它的基本思想是使用智能计算技术,例如神经网络、模糊逻辑等,来对复杂系统进行建模,并用于确定马斯京根方程的参数。
机器学习中的参数优化的高级技巧介绍

机器学习中的参数优化的高级技巧介绍在机器学习中,参数优化是一个非常重要的任务。
通过优化参数,我们可以让模型更好地拟合数据,提高模型的性能。
传统的参数优化方法如网格搜索和随机搜索已经有了很多成熟的技巧,但在某些情况下,这些方法可能会受到一些限制,效果不尽人意。
因此,研究人员不断提出一些高级的参数优化技巧来解决这些问题。
一种常见的高级参数优化技巧是贝叶斯优化。
贝叶斯优化通过构建一个目标函数的统计模型,来推断出在哪些参数组合下模型的性能最好。
它首先选择一些初始参数组合,并在模型上进行评估。
然后,利用这些评估结果来更新模型的统计模型,并根据统计模型来选择下一组要评估的参数。
通过不断迭代这个过程,贝叶斯优化能够在较少的评估次数下找到最优的参数组合。
另一种高级参数优化技巧是遗传算法。
遗传算法是一种受到自然界进化过程启发的方法。
它通过模拟基因交叉和变异的过程,来生成新的参数组合,并根据目标函数的评估结果来选择下一代的参数组合。
遗传算法具有一定的随机性,在搜索空间较大或者存在多个局部最优解的情况下,表现良好。
同时,由于其并行化的特点,遗传算法在大规模参数优化问题上也有较好的表现。
除了贝叶斯优化和遗传算法,启发式算法也是一种常见的高级参数优化技巧。
启发式算法试图通过模拟一些智能体的行为,来搜索最优参数组合。
例如,模拟退火算法就是一种启发式算法,它以一定的概率接受较差的解,并逐渐降低这个概率,以便在搜索过程中跳出局部最优解。
遗传算法也可以被认为是一种启发式算法。
除了上述介绍的高级参数优化技巧,还有很多其他方法可以用来优化参数。
比如,粒子群优化算法、蚁群优化算法等。
这些方法都来源于不同的领域或者灵感,但它们的目标都是找到最优的参数组合。
在实际应用中,我们需要根据具体的问题和数据特征选择适合的参数优化方法。
不同方法有不同的优势和适用范围。
贝叶斯优化适用于参数空间连续且维度较高的情况,而遗传算法适用于参数空间离散或者维度较低的情况。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
如何解决在程序化交易中参数优化的问题程序化交易的书籍在市面上层出不穷,大多数打算进行程序化交易的朋友都会去阅读一两本或者更多。
我敢肯定通过阅读大家会发现,这些书里面每一本都会提到交易模型的参数优化的问题。
这是由于现代的计算机处理技术发展的同时也带来了一些困惑,程序化交易可以说是建立在计算机和通讯技术的基础之上的一种交易手段,如果没有这些基础设施,那么程序化交易也就不能存在。
正是有了可以高速运行的CPU才使我们可以对参数进行优化。
光凭技术手段并不足以解决所有交易的问题,这就是为什么说交易是一门艺术之所在,而我们使用机械的交易方法是为了尽可能的避免人为的判断和情绪对交易的不良影响,在我们没有形成自己的一套交易体系之前通过机械的方法来进行交易无疑可以少走很多弯路,把时间和金钱留给我们用来积累更多的经验,让我们首先确保在市场中生存,再去追求如何使交易变成艺术。
因此作为一个力求以科学和规律的方法解决交易的问题的人,我试图通过本文来解决大家在程序化交易中参数优化这个矛盾的问题。
什么是参数优化在这里首先我们介绍一下什么是参数优化,以便一些刚刚接触程序化交易的朋友阅读本文,已经了解这方面知识的朋友可以掠过本段。
对于一些模型来说会有一些参数,这些参数设置的主要含义可能是为模型提供一个周期,举个例子来说象n日均线上穿N日均线(n为短周期均线参数,N为长周期均线参数,一般短周期的移动平均要比长周期的变化要快,所以我们通过这两个不同周期的均线来制定交易计划),n和N参数的意义就是指定周期,一般来说参数的意义都与时间有关系(周期),但也有其他的用途。
参数优化实际上就是利用计算机的处理能力对参数的各个值进行一次测试,找到盈利最大的那次值,如上面函数的n和N,我们利用系统的参数优化功能就可以把n(1~10),N(10~30)都测试一遍,找到最好的那个值。
参数优化的基本矛盾参数优化的基本矛盾在于,我们选取出的最优的参数数值只是在我们历史数据上成立的,就是说我们是往回看用这个或这组参数能够获得最大的收益,但行情的发展却是无法完全预料的,我们可以找到历史上表现最好的参数,但是这个参数未必在未来是最好的。
因为每种系统设置参数的用意不同,更有甚者可能历史上最好的参数在未来可能就是一组很糟糕的参数。
比如一个参数的设置刚好让你抓住了一波大行情,在参数优化取到这样的值时很有可能对未来没有任何帮助。
当然有些参数优化是由于减少了平均的亏损率使你的系统的效果更好,这种参数优化可能对未来会有一定意义,但也不是绝对的,因为行情的发展有其不可预知的一方面。
所以参数优化的基本矛盾在于历史统计结果和行情未来发展之间的矛盾。
我写本文的主要目的就是为了在这样的问题面前,我们该如何处理,如何辩证的看待参数优化带来的利与弊,更重要的是提供一个方法让大家面对参数优化的时候知道该怎么办。
统计研究为了研究这个问题,首先我对我自己使用的一个很成熟的模型的各个参数值进行了测试,并把一些关键的数据如收益率,交易次数进行了统计。
首先介绍一下我的交易系统,我的交易系统是属于趋势跟随型的一个交易系统,跟所有趋势跟随型的交易系统有着同样的特点。
就是趋势形成的时候进入头寸,当权益回吐一定程度的时候认为是是趋势结束了轧平头寸,胜率不高,但在趋势市中能够赚钱来弥补在盘整震荡市中必然要赔的钱。
这个系统只有一个参数,其设置的目的是为了给系统中所使用的计算公式和技术指标提供周期。
这里需要提到的一点是,很多人说模型最好不要设置参数,做好了模型应该把参数固定在模型内部不再改变,我对这个观点持有不同的看法,我认为市场总是在变化的,而我们使用模型就是为了抓住这种变化中的规律,当然这种规律也是会变的,我给我自己的模型留有一个参数就是为了调节这种变化,比如使用均线系统,这几年因为这个品种总是大起大落,那么我们使用短一点的周期就可以了。
因为行情变化的总是比均线走的快,不会总触发平仓或者开仓条件,但是过了几年发现这个品种不是那么活跃了,那么我们就应该调整参数把周期调长一些,以适应市场。
而不是以一刀切的观点认为没有参数就不再面对参数优化的问题了。
这个观点之所以错误,是他看到了参数优化的矛盾,而没有意识到我们做交易的最根本目的是什么。
我们做交易最根本的目的是在于获取利润,而不是逃避仅仅一个参数优化的问题。
不过这里还需要提醒的是,参数固然要设置,但是不能设置过多,设置最多两个足矣,自己必须搞清楚设置这个参数的意义是什么。
参数设置过多一方面代表的是你的交易思想的不成熟,因为成熟的交易思想是抓住市场中本质的东西,而本质的东西并不需要太多的变量来对其进行描述;另一方面,过多的参数等于说给程序更大的灵活性,以适应更多情况的行情,但你在选择参数的时候会面对更大的困惑,因为多参数的模型经优化后的一组参数值很有可能是让你灵活的系统最符合历史行情的情况,这就是所谓的“参数拟合”。
下面我提供一个通过统计我的模型参数从1到120各个值的时候,盈利和交易次数的图表。
为了保持数据来源的一致性,这里我们将这些值都在豆粕主力(由文华系统提供的主力连续数据)2003年9月19日到2008年9月19日这段时间进行测试(测试系统为文华mytrader2008)。
我们可以发现图1和图3两条曲线非常的相似,我们可以通过回归分析计算出你的交易系统的这条关系曲线,但是其实没有多大的必要。
这里主要说说为什么会形成这样形状的一条曲线。
首先我们使用的系统是趋势跟随型的系统,我们设定的参数的含义是周期的长短,当我们选取的参数较小的时候,系统中使用的周期(如移动平均)较短,所以系统也较为灵敏产生的信号也就多,当参数较大的时候,系统中使用的周期较长,所以系统所产生的信号也少。
当系统在周期较短比较敏感的时候,每调增一些周期所降低的交易次数,要大于在周期较长的时候。
这就是为什么这条曲线是这样的原因。
之所以我做了参数与交易次数关系统计,一方面是因为这是我们选取系统的一个参照,因为交易次数多所带来的交易费用也就多,有些人的性格希望系统能多提供一些信号,有些人希望系统的信号不要太多;另一方面我发现绝大多数参数为时间周期的趋势跟随系统的交易次数与参数之间的关系都符合这样的一个规律,所以大家以后在对自己系统进行研究的时候就不用统计交易次数了,节省了大家的时间。
大家只用知道这种以时间周期为参数的趋势跟随系统的交易次数会随着参数增加而减小,而且在参数比较小的时候减少幅度大,参数比较大的时候减少幅度小,当你在在考虑选取交易次数大的参数还是交易次数小的参数的时候就只用比较这两个参数的大小就知道他们交易次数上的变化了。
接下来通过观察图2我们发现,参数值使模型能够盈利的情况大多集中在一段连续的参数范围内,如我的这个系统的在3~14之间,82~95之间,最优的参数是11(见图2)。
我们管这些能够使模型盈利并且连续的参数值所构成的一段区间叫做参数有效域,对于豆粕过去5年的数据来说我们模型的参数有效域是3~14,82~95。
一般来说总是会有一段连续的参数构成有效域,这是由于有效的系统是必须能够抓住某个特定市场的本质特性,而这个特性是一个比较稳定的状态,不是经常发生变化的。
而如果出现参数设为3能盈利,4就是亏损,5又能盈利,6就得亏损……这样的情况,要么说明市场不稳定,要么就更加可能是你的系统有问题。
我们定义了参数有效域了之后,下面就要来解决最重要的问题,如何选择参数,如何对待最优化的参数。
通过我上面的统计我们发现11是这个系统在豆粕过去5年中最优的参数,那么,现在的问题就是11这个最优的参数我们到底可不可以用呢?我们观察发现11是在我们的参数有效域中的,这说明如果我们选择11作为我们的参数,虽然以后11可能不是能够使我们获得最大收益的参数,但是至少它肯定还是会落到参数有效域中间的。
因为参数有效域代表的是这个系统是如何抓住某一个特定市场的特性的,而市场的特性变动是需要很长的时间,相对稳定的,所以对于一个模型的参数有效域来说也是相对稳定的,不会说今年我们模型测试的参数有效域是10~20,明年就会变成20~30了,即使变动,其变化幅度也不会很大,可能象今年参数有效域是10~20,明年可能是9~19。
参数有效域代表的是这个模型对这个市场盈利概率的分布的把握,跟这个市场的本身属性有关,它只会随着市场本身属性的变动而变动。
所以这就是说参数有效域中的参数是这个市场的普遍特性的代表。
所以我们可以选取11为参数,因为即使其不能在以后是最优的参数,这个是我们决定不了的问题,但11在参数有效域中的事实也证明其还是一个能够抓住这个市场规律能够带来利润的参数。
我们选取11可以即享受它成为未来最优参数的很大可能性,又不至于因为设置个别参数可能导致的系统亏损的情况,因为我们知道在这个区间中的参数值大部分都可以抓住市场的主要脉搏,而市场要变化是很漫长的过程,我们有充足的时间去反应这个变化,当然这是在你意识到程序化交易并不是一劳永逸的时候。
假如说上面我们测试的结果最优的参数值不是11而是23的话,那么我们就不能选取这个值,可以把这个值作为一个偶然,刚好参数为某个值的时候使系统抓住了几次行情,而不具有普遍意义。
对于这种不在参数有效域中的最优化的结果,我们坚决不能选取。
另外在有效域边界的最优化结果也不能选取,如上面有效域是3~14,如果14是最优值,我们也尽可能的不选择它,因为参数值抓住市场规律的过程也是逐渐增加到达最佳再慢慢减小到亏损的过程,在有效域两边的盈利状况应该小于在中间的那些参数值。
如果出现了在参数有效值边界的最优参数,很有可能也是因为刚好抓住了过去的几次大行情,在选用的时候除非你确定知道它的意义,否则还是选择次优的在参数有效值中间的那些参数比较可靠。
总结以上就是我根据实践和研究发现的关于参数优化的以及该如何处理参数优化普遍性与偶然矛盾的方法,还有很多问题有待于进一步研究和推敲,欢迎有想法的朋友来跟我切磋交流,或者指正本文中的不足之处。
总结一下本文,参数优化并不是一无是处,正确的用好参数优化可以给你带来额外的收益,并且可以让你更加了解市场的本质把握市场本质的变化。
在趋势跟随型模型中如果参数代表的是周期长短,那么参数与交易次数的关系为反比例关系,即参数值增大交易次数减少,并且在参数较小的时候,参数变化所引起的交易次数变化幅度要比参数较大时候要大。
我们在决定是否选取最优参数之前,先应该确定参数有效域,哪些连续在一起的参数都能够盈利,有效域才是代表的是市场的本质特性的标志。
之后我们再看最优的那个参数是否在有效域中,如果不在那么应该果断舍弃,如果在有效域的边界,那么根据情况考虑,如果在有效域中那么可以选用。