通过案例认识外汇交易中大数据智能技巧人的学习方法
外汇小助手EA入门 2019-07-24 18:04:01 交流微信号:FX263cn 智能交易 大数据交易 外汇智能
随着“AlphaGo”、“无人驾驶”、“大数据处理”等名词不断出现在公众的视野中的时候,人工智能和机器学习这些词被不断的提起。甚至很多人认为:2016年是算法时代的元年,2017年人工智能将会得到更加快速的发展。笔者也相信这是一个趋势,因为基于算法的机器学习是人工智能的核心,运用恰当的话,的确非常强大,给各行各业带来全新的面貌。
目前,在国内外量化交易领域已经有少数CTA策略或者外汇EA会涉及一部分机器学习。那么机器学习到底是如果运作的呢?今天就给大家演示下用简单机器学习去做外汇行情预测。
废话不多说,直接上货吧:
1. 首先,把需要处理的数据准备好,
Mt4中用脚本处理好数据,再写入csv里,作为我们的训练数据。
数据量为1.8万条,数据取样为XAUUSD 1h周期。
2. 导入数据,进行处理,
import pandas as pd
import numpy as np
from sklearn.cross_validation import train_test_split
from sklearn.preprocessing import StandardScaler
#获取经过mt4处理的数据集
data = pd.read_csv('XAUUSDtick.csv')
#数据x,y分类
X = data.iloc[:,[1,2]].values
y = data.iloc[:,[3]].values
y = y.ravel()
X_train,X_test,y_train,y_test = train_test_split(X , y , test_size = 0.35, random_state = 0)
sc = StandardScaler()
sc.fit(X_train)
X_train_std = sc.transform(X_train)
X_test_std = sc.transform(X_test)
3. 用sklearn的感知机模型训练数据
from sklearn.linear_model import Perceptron
#迭代次数1000次,学习率0.3
ppn = Perceptron(n_iter = 1000, eta0 = 0.3, random_state = 0)
ppn.fit(X_train_std,y_train)
y_pred = ppn.predict(X_test_std)
print 'Misclassified samples:%d' % (y_test != y_pred).sum()
print 'Accuracy:%.2f'% accuracy_score(y_test,y_pred)
好,我们运行代码,得到结果:
Misclassified samples:2942
Accuracy:0.47
1. 用逻辑回归模型预测涨跌
from sklearn.linear_model import LogisticRegression
lr = LogisticRegression(C=1000.0 , random_state =0)
lr.fit(X_train_std,y_train)
y_pred = lr.predict(X_test_std)
print 'Misclassified samples:%d' % (y_test != y_pred).sum()
print 'Accuracy:%.2f'% accuracy_score(y_test,y_pred)
运行下:
Misclassified samples:2852
Accuracy:0.49
目前,在国内外量化交易领域已经有少数CTA策略或者外汇EA会涉及一部分机器学习。那么机器学习到底是如果运作的呢?今天就给大家演示下用简单机器学习去做外汇行情预测。
废话不多说,直接上货吧:
1. 首先,把需要处理的数据准备好,
前三根k线涨幅 |
当前k线涨幅 |
下一根大跌(0) /跌(1)/涨(2) /大涨(3) |
10.36787091 |
14.01653763 |
1 |
0.56490792 |
-10.0514786 |
1 |
6.024039683 |
7.334618459 |
1 |
14.01653763 |
-4.792107118 |
1 |
-10.0514786 |
14.47722188 |
2 |
7.334618459 |
31.2593872 |
3 |
-4.792107118 |
11.13596167 |
0 |
Mt4中用脚本处理好数据,再写入csv里,作为我们的训练数据。
数据量为1.8万条,数据取样为XAUUSD 1h周期。
2. 导入数据,进行处理,
import pandas as pd
import numpy as np
from sklearn.cross_validation import train_test_split
from sklearn.preprocessing import StandardScaler
#获取经过mt4处理的数据集
data = pd.read_csv('XAUUSDtick.csv')
#数据x,y分类
X = data.iloc[:,[1,2]].values
y = data.iloc[:,[3]].values
y = y.ravel()
X_train,X_test,y_train,y_test = train_test_split(X , y , test_size = 0.35, random_state = 0)
sc = StandardScaler()
sc.fit(X_train)
X_train_std = sc.transform(X_train)
X_test_std = sc.transform(X_test)
3. 用sklearn的感知机模型训练数据
from sklearn.linear_model import Perceptron
#迭代次数1000次,学习率0.3
ppn = Perceptron(n_iter = 1000, eta0 = 0.3, random_state = 0)
ppn.fit(X_train_std,y_train)
y_pred = ppn.predict(X_test_std)
print 'Misclassified samples:%d' % (y_test != y_pred).sum()
print 'Accuracy:%.2f'% accuracy_score(y_test,y_pred)
好,我们运行代码,得到结果:
Misclassified samples:2942
Accuracy:0.47
1. 用逻辑回归模型预测涨跌
from sklearn.linear_model import LogisticRegression
lr = LogisticRegression(C=1000.0 , random_state =0)
lr.fit(X_train_std,y_train)
y_pred = lr.predict(X_test_std)
print 'Misclassified samples:%d' % (y_test != y_pred).sum()
print 'Accuracy:%.2f'% accuracy_score(y_test,y_pred)
运行下:
Misclassified samples:2852
Accuracy:0.49
【版权声明】
本文仅代表作者观点,不代表本站立场。Fx263.com对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证,且不构成任何投资建议,请读者仅作参考,并自行承担全部风险与责任。Fx263.com作为信息内容发布平台,页面展示内容的目的在于传播更多信息,不代表Fx263.com立场;本站会员及自媒体人所发的稿件所载明的信息与本网无关,如文章涉及版权,请联系本站处理。
【风险提示】
请通过正规渠道参与外汇保证金交易。目前通过网络平台提供、参与外汇保证金交易均属非法。请提高意识,谨防损失!外汇、贵金属和差价合约(OTC场外交易)是杠杆产品,存在较高的风险,可能会导致亏损您的投资本金,请理性投资。