在交易中使用神经网络。

 

亲爱的交易员们!最近,围绕着神经网络 的使用,人们的热情高涨。

金融市场的预测。我认为,观众分为那些已经尝试过的人,但在面对

问题,并得到了失望(用手更容易)或暂时退休,还有那些有一些(也许是非常好的)结果的人。

结果,并正在默默地工作和改进他们的系统......然而,新的患者出现了

渴望成功和问题。很多东西已经讨论过了,但也许有经验的神经交易商已经

新的想法?

我最近对非成长性感兴趣,积累了一些问题。我想听听擅长此道的人的意见。

我明白,在交易中使用神经网络时,许多细节是很重要的。按顺序排列。

1.为NS设定的任务是什么?我认为,分类的问题(即把市场上的时刻分成几类

"买入"、"卖出"、"远离市场")是最有希望在交易中获得良好结果的。

2.如何制定这项任务?我认为有两种方法。

а.首先是教会网络独立确定最有利的

在你最有可能获得交易利润的时候进入市场。

在这种情况下,网络将不断分析市场(例如,在每个新酒吧开业时)并确定

那么,训练样本应该是什么?很明显,它应该包含

输入值 (价格或指标值),来自样本的每个条形图

所需的输出值。如何?这是一个问题的问题!因此,在STATISTICA的神经网络4程序中,最好是

每个条形图都应该被赋予一个固定的值,以表明它属于哪个类别......

到某一等级...如1、0或-1...甚至用文字 "卖出""脱离市场""买入"。

另一方面,我读到,训练样本的输出值不应该是离散的

并且应该分布在一个范围内,从(例如)-1,表示100%卖出!到1,表示100%买入,那么0将是

"不知道 "或 "不在市场上"。也就是说,每个条形图应该有一组输入和一个输出值(例如)0.8745。

这就意味着100次中有87次购买机会。

当然,如何找到这样的输出值?我是否使用 "之 "字形?而在 "之 "字形的山峰之间

计算它的 "几率"?

б.第二种方式是过滤一些系统的信号......本身是一个好的系统,产生了

而神经元只 "允许 "或不在其上交易。

......在这种情况下,训练样本应该只在系统发出交易信号的条形图上提取......还是在所有条形图上提取?

再说一遍,输出(disaer)应该是离散的还是有中间值的?

3.输入值。他们建议不要把指标值当作是这样的。我认为这是一种误解。

指标 "观察 "历史,每个指标都有自己的深度和角度,并在此基础上给予

如果我们取一组指标值,传入的向量会提醒市场的某种 "条形码"。

而NS将利用这些条形码识别和总结市场情况。我们建议将差异作为一种变体。

的指标值(为网络提供关于价格运动方向的信息)。 还有什么其他变体?

什么是正确的方式?我试着取一个复数的Phi角(Phi角是一个几何学上的

解释一个复数),但在我用NeuroSolution进行的实验中,与一组

的指标值出来的效果要差得多。专家界有什么意见?;-)

4.输入值的规范化。该程序的含义很清楚,不清楚的是如何正确执行该程序。让我解释一下。正常化--

是将价值带入一个单一的范围。要做到这一点,我们必须找到样本中的最大值和最小值。

这很好。我们应该搜索到什么深度?假设我们在样本中有100个指标值,我们需要归一化

第75值。我们应该在哪里寻找最小和最大?在74岁以前? 或在50岁以前? 或在所有100岁(即

需要有确定性......因为在分类中,每条都应独立计算,并根据

否则都是胡扯......我认为它应该只基于过去的价值观,并采取

我认为有必要只给出过去的数值,并采取严格定义的单一深度(例如总是100条以前或500条或训练样本的数值)。

5.对进入的样本进行随机重新取样。蜂或不是你的蜂!众说纷纭...该理论指出,对于

的分类是有用的。但现实中是怎样的呢?谁试过了?有什么意见吗?

6.最后还有一个关于网络培训的问题。是否有人使用C.V.?(交叉验证)采样?

有必要吗?它是否真的有助于防止网络过度训练?而在一般情况下,你是如何处理这个问题的?

偷偷摸摸的过度训练?它破坏了一切!如同训练样品一样,一切都很美好!"。而在《出来》中

样本--无稽之谈。

我个人使用NeuroSolution 5 DE来研究NS在交易中的作用。这是一个很好的灵活方案。

它允许 ,将结果生成为DLL。

相当聪明。(但不清楚在训练和优化之后,如何从输入选择中找到哪些值是有用的,哪些值被排除在外。

我唯一想知道的是,哪些数值是有用的,哪些是被程序排除的有害或不必要的。

请不要路过。批评,建议分享您的想法!

 
当然,这是很多胡言乱语,但至少看看你帖子下面的链接,毕竟这不是一个新话题。
 
читайте================================>хайкина=========================> :О)
 
PraVedNiK >> :
читайте================================>хайкина=========================> :О)

已经找到了!一定会读的。

 
sayfuji >> :
当然,这是一个很大的字,但至少看看你帖子下面的链接,毕竟这不是一个新的话题。

我对大量的文字没有异议。都在那里......都在那里......你认为已经结束了,不是吗?

 

полагаете что тема исчерпана полность?

不可能。相反,挖来挖去,要用更大的铲子和一袋的时间。


 
alexish писал(а)>>

4.对输入值进行归一化处理。该程序的含义很清楚。不清楚的是如何正确地实施它。让我解释一下。正常化--

是将价值带入一个单一的范围。要做到这一点,我们需要找到样本中的最大值和最小值。

这很好。我们应该搜索到什么深度?假设我们在样本中有100个指标值,我们需要归一化

第75值。我们应该在哪里寻找最小和最大?在74岁以前? 或在50岁以前? 或在所有100岁(即

需要有确定性......因为在分类中,每条都必须独立计算,并根据

否则都是胡扯......我认为它应该只基于过去的价值观,并采取

我认为我们应该只使用过去的值,并采取相同的深度(例如总是100条以前或500条或与训练样本相同的值)。- 寻找一种通用的方法,并在专门的网站上阅读关于神经网络的文章。

5.对进入的样本进行随机的重新分类。- 不是一个基本点

6.最后是关于网络培训的最后一个问题。是否有人使用C.V.?(交叉验证)采样?

这真的有必要吗?它是否真的有助于防止网络过度训练?而在一般情况下,你如何打击这种

偷偷摸摸的过度训练?它破坏了一切!如同训练样品一样,一切都很美好!"。而在《出来》中

样本 - 胡说八道...- 在任何情况下,测试样本决定一切。

关于OOS的无稽之谈:1.不是一个有代表性的样本 2.不是固定的数据 3.不正确的预处理,可能还有其他一些东西...

我个人使用NeuroSolution 5 DE来研究NS在交易中的作用。这是一个良好而灵活的方案。

可以将结果生成为DLL,

相当聪明。(但不清楚在训练和优化之后,如何从输入选择中找到哪些值是有用的,哪些值被排除在外。

我唯一想知道的是哪些数值是有用的,哪些是被程序排除的有害或不必要的)。

请不要路过。批评,建议分享你的想法!

从好的方面来说,我必须自己写下一切,至少要更好地理解发生的事情和原因......。

 
alexish писал(а)>>

1.国家安全局的任务是什么?我认为,分类的任务(即把市场中的时刻分为类

"买入"、"卖出"、"远离市场")在获得良好的交易结果方面是最有希望的。

是的,它是。而且,国家 "退出市场 "通常与价差扩大有关,其他一切NS都有迹可循,应该利用其优势。这就是为什么只在 "买入 "或 "卖出 "的基础上进行分类对NS至关重要,而在TS本身,我们根据经纪公司佣金的当前价值,为交易设置 "允许-禁止"。

2.如何制定这项任务?我认为有两种方法。

а.第一个是教网络确定市场的最有利可图的时刻。

б.第二种方式--理论上,训练样本应该只在有系统交易信号的条形图上抽取......或者在所有条形图上抽取?

再说一遍......输出的样本(DISAER)应该是离散的还是有中间值的?

对--为了最大限度地促进国家统计局要解决的任务,为此,我们应该独立地确定最佳的TS(针对特定条件),并将已经剖析的时间序列作为输入数据提供给它,即不是每个条形图,而是可能的关键点,只有在这之后,我们才能期望国家统计局做出适当的进入-退出决定。而且它将决定你所建议的关键点是否是这样。

至于NS输出值的离散性问题的答案,并不明显,首先取决于NS输入信号 "切片 "的商数增量的分布规律。如果分布接近对称,那么我们可以将自己限制在离散输出+/-1(买入/卖出),但如果分布不对称,那么我们必须考虑其振幅(概率),此外还有符号。

3.输入值。

已作上述回答。

4.输入值的规范化。

正常化是NS正确工作的必要条件。

执行这一程序的正确方法是在+/-1的区域内实现NS的输入/输入的整个接收值的映射,具有均匀(空心)分布。这可以通过用双曲切线作用于输入矢量,然后用某种方法平滑分布来实现(可选)。

5.对进入的样本进行随机求助。双人或双胞胎!众说纷纭。

该程序是无用的!

问题是,使用反向误差传播法,我们对整个训练样本的误差进行加总,对我们来说,以何种顺序对单个异常值进行加总并无区别--重新排列音节的位置不会改变加总。

6.那么你到底是如何处理这种偷偷摸摸的过度训练的呢?

训练样本的最小长度 P、NS中的权重数W 和输入维度d 之间有一个明确的关系:P>4*(W^2)/d

如果满足了这个条件,显然过度训练就不会发生。当表征学习误差的参数达到渐近值时,学习过程必须停止。

我个人使用NeuroSolution 5 DE来研究NS在交易中的作用。这是一个良好而灵活的方案。

相当棘手。

太糟糕了!

你应该直接在MQL中编写NS的代码。这是避免陷阱之海、节省时间和精力的唯一方法。

 
Neutron >> :


1.

正确的做法是让NS尽可能容易地解决问题,为此,你需要自己确定最佳的TS(针对特定条件),并将已经剖析好的时间序列数据作为输入,即不是每个柱子,而是可能的关键点,只有这样,你才能期望从NS得到一个适当的入市-出市的解决方案。它将决定你建议的关键点是否是这样。


2.

糟糕!

你应该直接在MQL中编写NS代码。这是避免陷阱之海、节省时间和精力的唯一方法。


1.通过使其容易,不丢失数据。最重要的是不要给网络提供基本相同的数据。最好能跳出框框,想想什么能影响价格,以及如何将其作为数据呈现给神经网络。


2.不要为MQL编写NS代码。你将花费大量的时间和神经,一切工作都会非常缓慢。最好学习如何将你的dll与MT4连接起来,用C语言编写你自己的神经网络,例如用FANN包。这将有助于避免许多问题,包括将代码移植到新的MQL5终端。

 
Neutron писал(а)>>

正确的方法是让NS的整个输入/输入值范围出现在+/-1区域,呈均匀(空心)分布。这可以通过用双曲切线作用于输入矢量,然后以某种方式平滑分布(可选)来实现。

在最小训练样本长度 P、NS中可调整的权重数量W 和输入维度d 之间有一个明确的关系:P>4*(W^2)/d

如果满足了这个条件,显然过度训练就不会发生。当表征学习误差的参数达到渐近值时,学习过程必须停止。

糟糕!

有必要一次写出MQL的NS代码。这是避免陷阱之海、节省时间和精力的唯一方法。

二次方函数本身并不能使分布均衡...在我看来,在预处理中解决数据的静止性问题更为重要。

顺便说一下,你引用的公式,我得到W=420,d=14,所以P>50400--你不觉得样本有点大吗?

根据我的经验,样本的数量并不取决于你的建议...

 
alexish писал(а)>> 我个人使用NeuroSolution 5 DE来研究NS在交易中的作用。

一般来说,在应用这种特定的、相当复杂的程序之前,建议咨询这种软件的开发者,了解其在这个领域,即在金融市场的使用是否可取。因此,如果你向他们咨询,他们会告诉你NeuroSolution不适合在金融市场使用,并推荐另一个程序。NeuroSolution是为解决一般问题而设计的,而神经网络在金融市场的使用有一些特殊的特点,在这个软件中没有考虑到。也许NeuroSolution可以在某种程度上与金融市场挂钩,但它是相当复杂的,是在神经网络领域的大专家和交易员的力量下,他们清楚地了解什么结果,最重要的是如何从神经网络中得到它。因此,你有上面列出的所有问题--问题设置、数据规范化、过度训练等等.....。