我如何使用机器学习预测财务符号(EURUSD)的收盘价



我使用Eurusd OHLC 1天数据进行了一个简单的实验。
我的功能是开放价格,低价,高价,我试图预测未来的收盘价。

该代码正如预期的,但结果非常误导。

我的精度得分为99%,我们都知道这是不可能的。

1)那我做错了什么?
2)我如何纠正错误?

我正在建造的官方系统将拥有BOP,PPI,利率,GDP和许多动量指标等。作为功能,大约60个功能。

import pandas as pd
import numpy as np
#import matplotlib.pyplot as plt
#import pickle
# 1. Read the EURUSD csv data.
# 2. Process the DataFrame, using only the Open, High, Low, Close columns.
df = pd.read_csv( 'EURUSD1440.csv', index_col= 'Date' )
df = df[['Open','High','Low','Close']]
array = df.values
# Features consist of Open, High, Low column, and stored in x.
# Label is the Close column stored in y.
x = array[:,0:3]
y = array[:,3]

# Split Data into Test and Train.
# 60% Train and 40% Test.
from sklearn.cross_validation import train_test_split
x_train, x_test, y_train, y_test = train_test_split( x, y, test_size = 0.4 )

# 1. Train the Model using .fit method.
# 2. Predict the future Closing prices using the .predict method.
# 3. Know how Accurate the Model is using the .score method.
from sklearn.linear_model import LinearRegression
from sklearn.metrics import accuracy_score
model = LinearRegression()
model.fit( x_train, y_train )
forecast = model.predict( x_test )
accuracy = model.score( x_test, y_test )
print( forecast, accuracy )

user3666197讨论该概念的缺陷是正确的。

经过广泛的研究,我证明,使用机器学习的基本模型,即负载>变换> fit>使用Sklearn或keras甚至TBOT预测自动化模型参数优化的唯一选择是合并一些未来 - 预测/计算的"某些关系数据"

要指向正确的方向,请尝试以下几点:

  • 占星术数据,由NASA Horizon System提供
  • NASA提供的太阳风和地磁数据。

此外,将您的工作集中在工程和选择的功能而不是模型选择上更加实用。

好运。

prologue:
在定量建模中已经存在了几十年,并运行了一组具有M/L预测变量的4th Gen分布式系统,我可以保证即使您的60场比赛也过于乐观。如果野心要超越学术论文,则可能会假设包含技术和基本因素的数量级更高的数量级,以合理地培训模型。为什么?市场规则。

您的实验表现出两种类型的主要错误:

第一个 - 概念遗漏:
机器学习任务,努力预测连续价值是回归,(否分类"标签",但回归目标值)预测成功的公制不是分数,而是某种绝对的预科域距离度量。是的,距离,而不是百分之一,因为它被贸易执行转化为货币奖励。

任何尝试使用百分比都不提供将任何两个回归模型与另一个回归模型进行比较的方法,并且与高度非线性的专业风险管理不一致。

本文的足迹没有足够的空间来讨论用于定义成功的Trustrategy 评估的其他依赖项,在至少5次政策中运行 - { s> s eplet, eplet, d etect, a ct, a llocate, t erminate} -policy。如果没有完整的 Trustrategy SDAAT模型参数定义,就没有机会计算有关审查中任何交易模型的市场骑行的任何绩效期望。


下一步:

您的模型将窥视未来。您已经允许模型从价值中学习,现实将在预测时永远不会为您提供,因此除了某些千里眼之外,该模型主要是从培训数据集中偏向的,并且永远不会在真实情况下提供公平的服务。/p>


结语:

不必害羞地犯这个错误,因为Google已经发布了自己的机器Learning "成功" 执行同样的错误。(如果对详细信息感兴趣,请搜索Michal Illich Google Machine学习博客的经验)。


ex post:

不要放弃。如果您的项目资金充足,则设有合理的技术基础架构&在业务领域有合理的基础,可以聘请专业知识的组合,以使外汇市场预测在合理的时间和预算之内运行。

重新发明车轮在故障领域的外汇成本中不能更昂贵。

最新更新