<em id="dvhpv"><form id="dvhpv"></form></em>
      <noframes id="dvhpv"><form id="dvhpv"><th id="dvhpv"></th></form>

      <noframes id="dvhpv"><form id="dvhpv"><th id="dvhpv"></th></form>

      <address id="dvhpv"><address id="dvhpv"><menuitem id="dvhpv"></menuitem></address></address>

        <address id="dvhpv"><listing id="dvhpv"><meter id="dvhpv"></meter></listing></address>

        <address id="dvhpv"></address>
        <address id="dvhpv"></address>
        我已授權

        注冊

        【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條評論

        熱門新聞排行榜

        和訊熱銷金融證券產品

        【免責聲明】本文僅代表作者本人觀點,與和訊網無關。和訊網站對文中陳述、觀點判斷保持中立,不對所包含內容的準確性、可靠性或完整性提供任何明示或暗示的保證。請讀者僅作參考,并請自行承擔全部責任。

        日韩高清在线亚洲专区,欧美色视频日本片免费,无码中字制服中字出轨中字,伊人久久大香线蕉亚洲