📅 财经日历 📊 实时波动 📈 大盘云图 📶 行情走势 🆚 投机情绪 🚀 今日热点

    一款颠覆传统EA,能够自己学习交易策略的机器交易--Hcita

    2017-07-25 · 7866 阅读

    随着“AlphaGo”、“无人驾驶”、“大数据处理”等名词不断出现在公众的视野中的时候,人工智能和机器学习这些词被不断的提起。甚至很多人认为:2016年是算法时代的元年,2017年人工智能将会得到更加快速的发展。笔者也相信这是一个趋势,因为基于算法的机器学习是人工智能的核心,运用恰当的话,的确非常强大,给各行各业带来全新的面貌。
    目前,在国内外量化交易领域已经有少数CTA策略或者外汇EA会涉及一部分机器学习。那么机器学习到底是如果运作的呢?今天就给大家演示下用简单机器学习去做外汇行情预测

    1首先,把需要处理的数据准备好
    [table=98%,rgb(255, 255, 255)]
    [tr][td=127]
    前三根k线涨幅
    [/td][td=104]
    当前k线涨幅
    [/td][td=227]
    下一根大跌(0) /跌(1)/涨(2) /大涨(3)
    [/td][/tr]
    [tr][td=127]
    10.36787091
    [/td][td=104]
    14.01653763
    [/td][td=227]
    1
    [/td][/tr]
    [tr][td=127]
    0.56490792
    [/td][td=104]
    -10.0514786
    [/td][td=227]
    1
    [/td][/tr]
    [tr][td=127]
    6.024039683
    [/td][td=104]
    7.334618459
    [/td][td=227]
    1
    [/td][/tr]
    [tr][td=127]
    14.01653763
    [/td][td=104]
    -4.792107118
    [/td][td=227]
    1
    [/td][/tr]
    [tr][td=127]
    -10.0514786
    [/td][td=104]
    14.47722188
    [/td][td=227]
    2
    [/td][/tr]
    [tr][td=127]
    7.334618459
    [/td][td=104]
    31.2593872
    [/td][td=227]
    3
    [/td][/tr]
    [tr]
    ""
    还没有人打赏,支持一下
    回复

    举报

     

    回答|共 18 个

    zack_eratofx LV3

    发表于 2017-7-25 16:52:04 | 显示全部楼层

    目前,在国内外量化交易领域已经有少数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




    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
    看看学习之后的曲线:



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

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

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

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

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

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


    zack_eratofx LV3

    发表于 2017-7-25 16:53:34 | 显示全部楼层

    现在在亿瑞拓外汇平台入金一万美金即可免费使用Hcita:www.eratofx.com。

    羚羊 LV6

    发表于 2017-7-26 09:02:35 | 显示全部楼层

    有点高深,不懂

    uvrgbrej LV3

    发表于 2020-6-28 10:00:11 | 显示全部楼层

    不错不错,很好哦

    cto502o8mi LV3

    发表于 2020-7-7 16:34:09 | 显示全部楼层

    帮你顶下哈!!

    bha123654j LV3

    发表于 2020-7-19 16:22:38 | 显示全部楼层

    帮你顶下哈!!

    xelbyknj LV3

    发表于 2020-8-4 10:41:59 | 显示全部楼层

    学习了,不错

    无敌的一天 LV3

    发表于 2020-8-11 21:42:24 | 显示全部楼层

    帮你顶下哈!!

    niulei LV3

    发表于 2020-11-22 17:24:02 | 显示全部楼层

    ??
    12下一页
    您需要登录后才可以回帖 登录 | 注册

    提醒: 禁止引战、谩骂、灌水内容

    微信二维码

    有问题联系客服