建立神经网络EA的流程

楼主  收藏   举报   帖子创建时间:  2019-05-05 05:48 回复:0 关注量:916
最近网络上对使用神经网络的关注很多,也看到不少人在朝这个方向努力。本文简单介绍使用神经网络构建EA的基本流程,而不涉及具体技术。系统也是根据这个构建起来的。需要声明的是,这只是一种流程方式,并不是唯一可行的方式。神经网络本身有无限可能!
首先,最根本的一点,要有一个有明确盈利预期的系统。这是很多人忽略的,最致命的一点。神经网络几乎有无限可能,但它只是个工具,如果没有正确的策略,使用什么工具是无关紧要的。网上看到一个帖子,记录作者建立包含神经网络的经过。到最后,作者制作出这样一个EA,却宣布他将回归到传统使用MACD等指标的方法,放弃神经网络。最根本的问题,并不是神经网络这个工具没用,而是作者没有一个稳固的策略基础。因此,第一步,有一个经得起考验的(或者说“合理的”)策略。这个策略即使在你不使用神经网络,也应该有正的收益预期。假设你有了上面说的这么一个良好的系统,接下来的事情就是利用神经网络提高系统的胜算。胜算=胜负比×报酬风险比,比如盈利的交易占总交易的50%(胜负比是1),平均亏损是平均收益的50%(报酬风险比是2,胜算就是1×2=2。良好的系统,胜算一定明显大于1,这意味着系统有正的收益预期。提高胜算自然就有两种方法,提高胜负比(信号准确率),增大报酬(或减低损失)。分析你的策略,胜负比还是报酬风险比是瓶颈,或者说,哪个因素因为系统太过机械,或太不“智能”,没有达到你的预期。利用神经网络来实现目的。补充两句,神经网络是个模糊的系统,因此像使用传统指标那样精确使用神经系统的输出。这也是为什么你需要一个本来就能赢利的策略,如果策略都是靠不住的,还依赖一个模糊(不稳定,甚至随机)的神经网络作决策,就是盲人骑瞎马。
  举个实例。假设某个基于20天均线突破的系统是个优良的系统,胜算大于1,而且反应市场波动的特性或本质。总之,本来就是个不错的系统。经过分析,作者发现系统的瓶颈是胜负比,而依靠传统的指标似乎没希望很好过滤掉错误的信号,这时候他就可以考虑使用神经网络。比如训练一个神经网络专门辨别突破是否有效。
  基于不同的策略,训练神经网络的目的和方法会有不同。比如训练专门辨别顶和底的,或者训练辨别明天涨跌的,甚至预测本周最高最低价...,可能性是无限的。但是神经网络也是有局限的,性能的局限是最现实的问题,再者就是模糊逻辑这一天生的特性。简单说,就是没有人用神经网络能准确预言明天12点某外汇对的价格。就我们能接触到的神经网络而言,正常人都比它们有更强的识别能力,不要太指望它对趋势的看法比你更高明。它只是个根据,是一个机器参谋,但是大战略不是它制定的。使用机械交易系统,目的是减轻人的工作量,同时避免人性弱点对交易的恶劣影响。但是有得必有失,它没有人交易的“艺术”、“直觉”。  你计算机上的神经网络,不会欣赏梵高的画。
当神经网络进入你的系统,或者还没进入,你要调教一位信得过的机器参谋,训练和测试是很重要的。很基本的一点,你需要把历史数据,或说样本,划分为训练部分和测试部分。网上看到一些讨论,说预测准确度达到90%,十分了得!但是一看才知道,是把训练数据又拿来测试。这是不行的,因为训练的结果就是要网络输出能在误差允许范围内,符合训练数据的预期。这有点类似中学数学考试,考试题目从平时习题里出,其实并不检验学生“活学活用”的程度。
具体使用神经网络的途径可以从网络上得到方案,然而除非作者有清晰的思路,或者有赢利的系统根基,不然神经网络只是花拳绣腿,并不能帮你打出个未来。
打赏