我已授权

注册

【Hcita视角】 一个案例看懂外汇交易中的机器学习

2018-01-17 13:34:26 中国有皇冠投注 

  本文首发于微信公众号:GOE提风。文章内容属作者个人观点,不代表和讯网立场。投资者据此操作,风险请自担。

  随着“AlphaGo”、“无人驾驶”、“大数据处理”等名词不断出现在公众的视野中的时候,人工智能和机器学习这些词被不断的提起。甚至很多人认为:2016年是算法时代的元年,2017年人工智能将会得到更加快速的发展。笔者也相信这是一个趋势,因为基于算法的机器学习是人工智能的核心,运用恰当的话,的确非常强大,给各行各业带来全新的面貌。

  目前,在国内外量化交易领域已经有少数CTA策略或者外汇EA会涉及一部分机器学习。那么机器学习到底是如果运作的呢?今天就给大家演示下用简单机器学习去做外汇行情预测。

  1、首先,把需要处理的数据准备好

【Hcita视角】 一个案例看懂外汇交易中的机器学习

  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

  4、用逻辑回归模型预测涨跌

  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

  看看学习之后的曲线:

【Hcita视角】 一个案例看懂外汇交易中的机器学习

  好了,以上就是一个简单的机器学习案例。如果你能看懂的话,就会发现它不是那么的高深莫测,写一个机器学习的程序也是比较简单,但是想要得到一个比较好的结果,确是相当困难的。如果你还是不能看懂的话,那就可以通俗的理解为:机器学习就是一个黑匣子(Black Box),你扔一堆数据进去学习下,然后如果效果好的话,你就可以把实时的数据交给它,让它给你一个预测,如果效果不好的话,那就只能继续努力了。

  我们从上面这个简单的机器学习可以看到,这个模型是不具有预测性,也就是说效果是不好的。其实,拿机器学习来做金融市场时间序列的预测,结果基本上也是不行的。很多实证的研究也表明金融时间序列的收益都是随机波动的,不具有自相关的特性。

  那既然机器学习在预测未来行情上,不具备显著性。那么为什么还要用它呢?

  我们都知道,AlphaGO自称一天能和自己下几百万盘棋,它是通过无数次的自我学习战胜了人类棋手。其实,从统计学上来说,机器学习就是能够不断训练,不断的犯错,不断的学习,从而提高估计的精度和概率。那么对于外汇交易来讲,机器学习可以很好的用在交易策略开发上,比如说在策略参数的选择上,我们就可以尝试用机器学习来帮助我们根据行情选择较好的参数。

  机器学习还在不断的发展,各种已有的积累也容易被很快的更新和淘汰,想要了解这项技术,不断的学习最前沿的相关知识和理论是必要的。至少能够让我们知道,外汇市场中很多宣传自己的EA是使用人工智能来预测行情的基本上都是在做“销售”。

  还是那句话,机器学习没有那么高深莫测,重点是用到合适的地方。

(责任编辑:何美铃 HF117)

   【免责声明】本文仅代表合作供稿方观点,不代表和讯网立场。投资者据此操作,风险请自担。

看全文
写评论已有条评论跟帖用户自律公约
提 交还可输入500

最新评论

查看剩下100条评论

热门新闻排行榜

和讯热销金融证券产品

【免责声明】本文仅代表作者本人观点,与和讯网无关。和讯网站对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。

中国有皇冠投注
网站地图 中国皇冠投注网布图 体育皇冠网投注代理 今天的皇冠网地址
太阳城娱乐城 申博官网登入 申博官方 申博怎么登入
乐盈彩票正规的彩票么登入 乐盈彩票网址 爱彩彩票平台山东11选5 五洲彩票直营网
皇冠网足球博彩网 皇冠网地址多少足球投注网址 亚洲最大外围投注交易中心 皇冠开户快
皇冠网地址多少投注网大陆总代理 皇冠网总代理在那介绍 皇冠篮球网 最新皇冠投注网怎么玩
288TGP.COM 1112938.COM 278sunbet.com 578sj.com 1113885.COM
S618G.COM 218PT.COM DC957.COM DC362.COM 133TGP.COM
8DTS.COM 519tt.com 189sunbet.com 267SUN.COM DC785.COM
978DC.COM 687jbs.com 166PT.COM 88sbsun.com 45jbs.com