美国政府尤其是公开市场委员会多次被怀疑伪造和操纵美国劳动力市场和GDP宏观经济统计数据,以影响金融市场,这是否令人困惑?
是的,这很让人困惑。同样令人困惑的是,公布的数据在发布后被多次调整。但另一方面,交易员对美国政府给他们的数据做出反应,使市场向一个方向发展,无论这些数据是伪造的还是不完整的,还是不成熟的。因此,根据这些数据来预测市场的技术原则上应该是可行的。
你只对标普感兴趣,还是只把它作为一个例子?
只是标准普尔指数有一个奇特的运动模式,与货币比率不一样。
是的,这很让人困惑。同样令人困惑的是,公布的数据在发布后被多次调整。但另一方面,交易员对美国政府提供的数据作出反应,使市场向一个方向发展,无论这些数据是伪造的还是不完整的,还是不成熟的。因此,根据这些数据来预测市场的技术原则上应该是可行的。
好吧,让我们来看看。我也一直在这样做。
一个持续的暗示-希望-前进的测试
这是一个相当有趣的话题。我试图根据数据文件制定指标:就业、新房建设、新房销售等。你知道,你可以用肉眼看到一些数据与股市有一定的关联。但是,与货币市场似乎没有关联。我使用了美国的基本统计数据。
你不觉得你选择了太多的数据类型吗?在 我看来,你需要从有价值的数据中排除不重要的东西,那些影响市场的数据。
输入数据量大或小都是相对的。
另一个是更重要的。
所有的投入都分为两类。
- 对目标变量有影响的人
- 那些没有影响或影响不大的人。
我特意用了影响这个词,而不是相关。相关性是一个空洞的工具,因为相关性总是有一些值,而没有值是NA,这是确定原始数据对目标变量影响的根本。
在确定对目标变量的影响时,没有(具有低影响--注意,这是一个定性的特征)的变量是噪音。这里的隐患是,从一些没有通过算法确定的数量开始,这种噪音 "堵塞 "了重要的变量,然后 "重要 "的变量就不能通过算法从这个总量中提取出来。
因此,人们必须手动查看整个输入变量列表,并凭直觉或基于其他考虑决定 "这个输入变量可能会产生影响,而这个变量可能不会。"
我知道有几十种确定变量重要性的算法,我在我的论文和书中的一套算法(最多100个输入变量)上进行了试验。结果与描述完全一致。我手动选择了一些列表,然后用算法进行过滤,得到了这个列表。而这样一个列表的价值是根本性的:使用这样一组 "影响 "输入数据的模型(使用3种不同类型的模型)不具有过度学习的属性,而这正是主要问题。过度拟合是使用 "噪声 "输入数据的主要后果。
PS。
静止性在我的模型中不起作用,这些模型是随机森林、ada、SVM。
...
....没有静止性,任何模型都无法工作。
...
对静止性的要求是非常僵硬的,完全没有道理。
.
而 "非稳态 "模型也能正常工作;)
回归算法可以根据任何数据来预测任何指标,即使它们之间没有明确的关系。
因此,任务是根据可用的经济指标预测标准普尔 500 指数。
第 1 步:找到指标。这些指标可在此处公开获得:http://research.stlouisfed.org/fred2/ 其中有 240,000 个。最重要的是GDP的增长。该指标每季度计算一次。因此我们的步骤 - 3 个月。较短期间的所有指标都重新计算 3 个月期间,其余(每年)被丢弃。我们还丢弃了除美国以外的所有国家的指标和历史不深(至少 15 年)的指标。于是,经过艰苦的努力,我们过滤掉了一堆指标,得到了大约一万个指标。我们制定了一项更具体的任务,即预测标准普尔 500 指数未来一两个季度,每季度有 1 万个经济指标可用。我在 MatLab 中做所有事情,尽管在 R 中是可能的。
步骤 2:通过微分和归一化将所有数据转换为平稳形式。这里有很多方法。最主要的是可以从转换后的数据中恢复原始数据。没有平稳性,任何模型都无法工作。转换前后的标普 500 系列如下图所示。
第三步:选择模型。也许是神经网络。可以做多变量线性回归。您可以进行多变量多项式回归。在测试了线性和非线性模型之后,我们得出的结论是数据非常嘈杂,以至于进入非线性模型毫无意义。 y(x) 图,其中 y = S&P 500,x = 10,000 个指标之一,是一个近乎圆形的云。因此,我们更具体地制定了任务:使用多变量线性回归预测标准普尔 500 指数未来一两个季度,每季度有 1 万个经济指标。
步骤 4:我们从 10,000 个中选择最重要的经济指标(减少问题的维度)。这是最重要也是最困难的一步。假设我们将标准普尔 500 指数的历史记录长达 30 年(120 个季度)。要将标准普尔500指数表示为各种经济指标的线性组合,有120个指标就足以准确描述标准普尔500指数这30年。此外,指标绝对可以是任何指标,以创建一个包含 120 个指标和 120 个 S&P 500 值的精确模型。因此,您需要将输入的数量减少到所描述的函数值的数量以下。例如,我们正在寻找 10-20 个最重要的输入指标。这种用从大量候选库(字典)中选择的少量输入来描述数据的任务称为稀疏编码。
有许多选择预测输入的方法。我都试过了。以下是主要的两个:
以下是与标准普尔500指数相关系数最高的前10个指标:
以下是与标准普尔 500 指数具有最多相互信息的前 10 个指标:
滞后是输入系列相对于模拟标准普尔 500 系列的延迟。从这些表中可以看出,选择最重要输入的不同方法会导致不同的输入集。由于我的最终目标是最小化模型误差,所以我选择了第二种输入选择方法,即枚举所有输入并选择误差最小的输入。
步骤 5:选择计算模型误差和系数的方法。最简单的方法是 COEX 方法,这就是为什么使用这种方法进行线性回归如此受欢迎的原因。 RMS 方法的问题在于它对异常值很敏感,即这些异常值显着影响模型的系数。为了降低这种敏感性,可以使用绝对误差值之和而不是平方误差之和,从而导致最小模量(LSM)或鲁棒回归的方法。与线性回归不同,该方法没有模型系数的解析解。通常将模块替换为平滑/可微的近似函数,并且通过数值方法进行求解,并且需要很长时间。我尝试了这两种方法(精益回归和 MHM),并没有注意到 MHM 的太多优势。我没有选择 MHM,而是绕道而行。在通过微分获得固定数据的第二步中,我添加了一个非线性归一化操作。也就是先将原序列 x[1], x[2], ... x[i-1], x[i] ... 转换成差分序列 x[2]-x[1] 。 .. x [i]-x[i-1] ... 然后通过将每个差异替换为 sign(x[i]-x[i-1])*abs(x[i]-x[ i-1] )^u,其中 0 < u < 1。对于 u=1,我们得到经典的 COSE 方法,它对异常值很敏感。在 u=0 时,输入序列的所有值都被替换为几乎没有异常值的二进制值 +/-1。对于 u=0.5,我们得到接近 MNM 的结果。 u 的最佳值介于 0.5 和 1 之间。
需要注意的是,将数据转换为平稳形式的流行方法之一是将系列的值替换为这些值的对数之差,即log(x[i]) - log(x[i-1]) 或 log(x[i]/x[i-1])。在我的情况下,选择这种转换是危险的,因为包含 10000 个条目的字典中有许多行具有零值和负值。对数还有一个好处是可以降低 RMS 方法对异常值的敏感性。本质上,我的变换函数 sign(x)*|x|^u 与 log(x) 的目的相同,但没有与零和相关的问题负值。
第 6 步:通过替换新输入数据并使用与先前历史片段中的线性回归找到的相同模型系数计算模型输出来计算模型预测。在这里重要的是要记住,经济指标的季度值和标准普尔 500 指数几乎同时出现(精度为 3 个月)。因此,为了预测下一季度的标准普尔 500 指数,必须在标准普尔 500 指数的当前季度值与至少延迟 1 个季度(滞后>=1)的条目之间建立模型。要提前一个季度预测标准普尔 500 指数,必须在标准普尔 500 指数的当前季度值和至少延迟 2 个季度(滞后>=2)的条目之间建立模型。等等。随着大于 2 的延迟增加,预测的准确性显着降低。
第 7 步:检查对先前历史的预测的准确性。上面描述的原始技术(将每个输入放在以前的历史中,选择给出最小 MSE 的输入,并根据该输入的新值计算预测)产生的预测 MSD 甚至比随机或空预测更差。我问自己这个问题:为什么一个非常适合过去的入口对未来有很好的预测能力?根据先前的预测误差而不是基于已知数据的最小回归误差来选择模型输入是有意义的。
最后,我的模型可以这样逐步描述:
简而言之,预测器的选择取决于它们对之前标准普尔 500 预测的 RMS。没有前瞻性。预测器可以随时间变化,但在测试段结束时,它基本上停止变化。我的模型选择具有 2 个季度滞后的 PPICRM 作为预测 2015 年第二季度的第一个输入。标准普尔 500 指数与 1960 年至 2014 年第四季度所选 PPICRM(2) 输入的线性回归如下所示。黑色圆圈-线性回归。多色圆圈 - 1960 年 - 2014 年第四季度的历史数据。圆圈的颜色表示时间。
固定标准普尔 500 指数预测(红线):
原始形式的标准普尔 500 指数预测(红线):
该图显示该模型预测了标准普尔 500 指数在 2015 年第二季度的增长。添加第二个输入会增加预测误差:
1 err1=0.900298 err2=0.938355 PPICRM (2)
2 err1=0.881910 err2=0.978233 PERMIT1 (4)
其中 err1 是回归误差。很明显,它随着第二个输入的添加而减少。 err2 是均方根预测误差除以随机预测误差。也就是说,err2>=1 意味着我的模型的预测并不比随机预测好。 err2<1 表示我的模型的预测优于随机预测。
PPICRM = 生产者价格指数:进一步加工的原材料
PERMIT1 = 建筑许可证授权的新私人住房单元 - 在有 1 个单元的结构中
上述模型可以这样改写。我们召集了 10,000 名经济学家,并请他们预测下一季度的市场。每个经济学家都有自己的预测。但是,我们不是根据他们编写的教科书数量或他们过去获得的诺贝尔奖数量来选择预测,而是等待几年来收集他们的预测。经过大量预测后,我们会看到哪个经济学家更准确,并开始相信他的预测,直到其他经济学家的准确度超过他。