我想使用 ANN 自动交易货币,最好是美元/欧元或美元/英镑。我知道这很难,而且可能并不简单。我已经阅读了一些论文并进行了一些实验,但运气不佳。我想从专家那里得到建议来完成这项工作。
这是我到目前为止所做的:
- 我得到了 2013 年 7 月的逐笔报价数据。它有出价/要价/出价量/要价量。
- 提取所有时间段 12PM 到 14PM 的所有刻度。
- 根据这些数据,创建了一个数据集,其中每个条目依次包含 n 个投标值。
- 使用该数据训练具有 n-1 个输入的 ANN,输出是预测的第 n 个投标值。
- ANN 有 n-1 个输入神经元,(n-1)*2 + 1 个隐藏神经元和 1 个输出神经元。输入层有线性 TF,隐藏层有对数 TF,输出有线性 TF。
- 先用 n-125 然后用 10 用反向传播训练网络。
对于这两个 n,MSE 都没有低于 0.5,并且在完全训练期间保持在该值。假设这可能是由于时间序列是完全随机的,我使用 R 包来查找数据集 (pacf) 的部分自相关。这仅给出了 2 和 3 滞后的非零值。
问题1:这到底是什么意思?
然后我用hurst指数来评估随机性。在 R 中,hurst(values) 显示值高于 0.9。
问题2:它应该是几乎随机的。它的值应该接近 0.5 吗?
我用 n=3 重复了 ANN 的训练。人工神经网络经过训练,能够获得相当低的 MSE 值。但是,此 ANN 的计算输出与第 (n-1) 个投标值相差不大。看起来 ANN 只是将最后一个出价作为下一个出价!我尝试了不同的网络结构(所有多层感知)、不同的训练参数等,但结果是一样的。
问题3:如何提高准确性?除了反向传播还有其他训练方法吗?