我已授权

                        注册

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

                        2018-01-17 13:34:26 和讯 

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

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

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

                          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),你扔一堆数据进去学习下,然后如果效果好的话,你就可以把实时的数据交给它,让它给你一个预测,如果效果不好的话,那就只能继续努力了。

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

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

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

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

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

                        (责任编辑:何美铃 HF117)

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

                        看全文
                        和讯网今天刊登了《【Hcita视角】 一个案例看懂外汇交易中的机器学习》一文,关于此事的更多报道,请在和讯财经客户端上阅读。
                        写评论已有条评论跟帖?#27809;?#33258;律公约
                        提 交还可输入500

                        最新评论

                        查看剩下100条评论

                        热门新闻排行榜

                        和讯?#35748;?#37329;融证券产品

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

                        内蒙古十一选五一定牛