基于宏观经济指标的市场预测 - 页 51

 
Vladimir:
我同意,我甚至在这里的某个地方自己写过这样的东西。在所有的历史上挑选一个预测者,然后从相同的历史中使用远期测试,这是一种自欺欺人的做法,从商人到科学家都会这样做。许多关于预测经济的文章都是先列出一些选定的预测因素,然后报告 "伟大 "的结果。交易者选择基于反弹或突破的策略,因为 "它在过去是有效的",并希望它在未来也是有效的,并展示过去的前瞻性测试,却没有意识到他们对策略本身的选择是基于他们对所有历史的研究,包括前瞻性测试的历史。对我来说,对我的GDP和市场模型的远期测试将是未来,所以我开了这个话题--发布预测,看看它们如何实时实现。工作还没有完成。有很多关于非线性数据转换的想法。例如,一些预测因素如HOUST通过一些阈值函数影响GDP增长。

非线性,是的。

但你如何找到一个非线性函数呢?通过尝试不同的变体?还是直接使用神经网络

 
Дмитрий:

非线性,是的。

但你如何找到一个非线性函数呢?通过尝试不同的变体?还是直接使用神经网络?

你也可以试试随机森林,它更容易使用,也可以模拟非线性。

例子。https://www.quora.com/How-does-random-forest-work-for-regression-1

所产生的函数的外观也可以用内置工具进行评估。

How does random forest work for regression? - Quora
  • www.quora.com
I think the first step would be to understand how decision trees work in a regression problem. You might be aware of CART - Classification and Regression Trees. When dealing with regression problem you try to predict real valued numbers at the leaf nodes which would look something like this for singular scale feature: Now the question comes how...
 
Alexey Burnakov:

你也可以试试随机森林,它更容易使用,也能模拟非线性。

例子。https://www.quora.com/How-does-random-forest-work-for-regression-1

所产生的函数的外观也可以用内置工具进行评估。

谢谢你,随机森林对我来说很熟悉
 
Дмитрий:

非线性,是的。

但你如何找到一个非线性函数呢?通过尝试不同的变体?还是直接使用神经网络?

因此,让我们一起思考。我想选一个简单的阶梯函数。

out = -1 如果输入<阈值,+1 如果输入>阈值

其中阈值是我们的未知阈值,对于不同的预测器是不同的。例如,对于S&P500和GDP增量来说,阈值=0,也就是说,这些指标的下跌本身是重要的,而不是阈值的截止。对于其他经济指标来说,则没有这么简单。阈值需要调整。造型可以是这样的。

1.通过比较历史开始和结束时的数值,确定数据的类型:上升(S&P500,GDP,......)或不等(失业率,联邦利率,......)--你应该想出一个稳健的自动确定数据的方法。

2.如果数据是增加的,那么就用x[i]-x[i-1]的增量来代替。如果是范围,那就不要改变。

3.选择一个模拟输出,如GDP增量(增长),并对其应用一个零阈值的阶梯函数,即GDP增长被+/-1的二进制序列所取代。

4.我们开始以这种方式列举所有的预测器和它们的延迟版本的预测能力。我们根据第2点取一个预测器或其增量,测量其在整个历史上的范围,用这个范围除以例如10,得到9个阈值。使用9个阈值中的每一个,用+/-1的二进制序列替换预测器,并计算我们的预测器的+1和-1与我们的模拟序列(GDP)的+1和-1重合的次数,得到历史上N个完整 目的M个重合。我们为9个程序中的每一个计算M/N频率的函数,并留下能提供最高频率点击的阈值。并对每个预测因素重复这样做。这应该是一个快速的计算。

如果有人想帮忙,就拿我几页前在这里发布的数据来试试吧。我想暂时先完成线性模型,然后再转到非线性模型。

PS:由于在S&P500和GDP增量的系列中,正值(+1)比负值(-1)多得多,你可以想出一个修改上述方法的办法,将负值的重合度加大,从而强调这些指标的下降而不是上升。例如,拟合度指标可能看起来像这样。

j = m(+1)/n + w*m(-1)/n

其中W是一个>1的权重,反映了GDP增长中的负值比正值少多少。

如果我们想找到一个有2个或更多预测因子的模型,就会出现一个大问题。我们必须考虑如何连接这些预测器:用AND、OR或XOR函数。连接后,需要再次优化阈值。

 
Vladimir:

如果我们想找到一个有2个或更多预测因子的模型,就会出现一个大问题。我们需要考虑如何连接这些预测器:用AND、OR或XOR函数。连接后,需要再次优化阈值。

如果你向网格提供数据,它将 "自动 "找到阈值,而且是一次性找到输入向量中包含的所有预测因子。
 
Vladimir:

如果有人想帮忙,就拿我几页前在这里发布的数据来试试吧。

同样的数据可以转换为csv吗?
 
Stanislav Korotky:
同样的数据可以转换为csv吗?
附上。第一栏以Matlab格式显示日期,从1959年第一季度到2015年第四季度。其余各栏是未经转换的经济和财务数字。国内生产总值在第1168列。
附加的文件:
Data.zip  1037 kb
 

完成了对线性GDP的预测。下面是前面两个季度的情况。


模型中有4个预测因子,尽管3个就足够了。在3-4个预测者之后,剩下的看起来就像噪音。用与GDP相同的方法预测S&P500,效果很差。我甚至不在这里展示它。我还迅速尝试了我前面描述的带有阶梯函数的非线性变换。它比线性回归的效果更差。

等待4月底新的GDP值的发布。暂时在休息。

 
Vladimir:
附上。第一栏以Matlab格式显示日期,从1959年第一季度到2015年第四季度。其余各栏是未经转换的经济和财务数字。国内生产总值在1168栏中。
谢谢你。然而,最好能有所有栏目的名称。另外,据我所知,日期复制得不太正确(失去了 数字的准确性),所以条目以11个相同的日期为一组。
 
Vladimir:

完成了对线性GDP的预测。这里是前面两个季度。

这幅图很好,但我们是否可以在每一步计算预测变化与实际变化的乘积,在整个期间求和并除以相同的乘积,但在其中预测和实际变化被取模?