選自GitHub
作者:DavidSheehan
機器之心編譯
截至11月22日,比特幣的價格再創歷史新高,在驚訝于虛擬貨幣「不可戰勝」的同時,我們或許能可以從這一波熱潮中學到些什么。本文中,博士畢業于倫敦大學學院的DavidSheehan為我們介紹了使用Keras基于LSTM預測比特幣價格走勢的詳細方法。在測試中,這個機器學習預測法似乎有著不錯的準確度。
如果要列出2017年最為荒謬的三樣事物,則一定是指尖陀螺、人工智能,當然,還有加密虛擬貨幣。以上是玩笑話,實際上我對虛擬貨幣的原理印象深刻,而且非常看好這種顛覆性技術的長期前景。我試圖通過深度學習、機器學習或者說人工智能成功預測虛擬貨幣的價格。
我認為把深度學習和虛擬貨幣結合起來是非常獨特的想法,但是在寫本文時,我發現了一些類似的內容。這篇文章只關注比特幣,但是我還想討論一下以太幣。
我們打算使用LSTM模型,一種非常適合時序數據的深度學習模型。如果你希望真正了解理論或概念,那么推薦閱讀:
LSTM入門必讀:從基礎知識到工作方式詳解
洪都拉斯安裝首臺比特幣ATM:金色財經報道,位于洪都拉斯首都的公司TGU咨詢集團已安裝了該國第一臺比特幣ATM。該機器允許加密愛好者使用當地法定貨幣購買BTC和ETH,前提是他們愿意掃描他們的ID并披露某些個人信息。[2021/8/28 22:42:49]
深度|LSTM和遞歸網絡基礎教程
教程|基于Keras的LSTM多變量時間序列預測
教程|如何判斷LSTM模型中的過擬合與欠擬合
深度|從任務到可視化,如何理解LSTM網絡中的神經元
干貨|圖解LSTM神經網絡架構及其11種變體
完整代碼地址:https://github.com/dashee87/blogScripts/blob/master/Jupyter/2017-11-20-predicting-cryptocurrency-prices-with-deep-learning.ipynb
數據
在構建模型之前,我們需要先獲取一些數據。Kaggle上的數據集非常詳細地記錄了近幾年的比特幣價格。在這個時間長度中,噪聲可能蓋住了信號,因此我們需要選擇單日價格數據。問題在于我們可能沒有充足的數據。在深度學習中,沒有模型可以克服數據嚴重缺乏的問題。我同樣不想使用靜態文件,因為未來使用新數據更新模型時,這種做法會復雜化更新流程。于是,我們計劃從網站和API中抓取數據。
數據:價值9869枚比特幣的GBTC份額將于本周解鎖:據歐科云鏈OKLink數據顯示,灰度近一周累計增持109枚ZEC,2513枚ZEN,4.24萬枚XLM,15.81萬枚MANA,5276枚LPT,3169枚FIL,3.65萬枚LINK以及23.25萬枚BAT。
同時本周灰度GBTC信托將有價值9869枚比特幣的GBTC份額將解鎖。4月28日解鎖份額達到5164枚比特幣。解鎖后,GBTC股票將可進入OTCQX市場進行交易。[2021/4/26 20:58:52]
我們將在一個模型中使用多種虛擬貨幣,因此從同一個數據源抓取數據或許是一個不錯的主意。我們將使用coinmarketcap.com。現在,我們只需要考慮比特幣和以太幣,但是使用這種方法添加最新火起來的山寨幣就很難了。在輸入數據之前,我們必須加載一些Python包,這樣會容易一些。
importpandasaspd
importtime
importseabornassns
importmatplotlib.pyplotasplt
importdatetime
動態 | 比特幣全網未確認交易13280筆:據btc.com數據顯示,目前比特幣全網未確認交易數量為13280筆,比特幣全網算力為35.03EH/s,24小時交易速率為3.6秒。截至目前比特幣全球均價為3426.34美元,最近24小時跌幅為1.93%。[2018/12/14]
importnumpyasnp
Billions項目組convertthedatestringtothecorrectdateformat
bitcoin_market_info=bitcoin_market_info.assign(Date=pd.to_datetime(bitcoin_market_info))
Billions項目組converttoint
bitcoin_market_info=bitcoin_market_info.astype('int64')
Billions項目組importtherelevantKerasmodules
fromkeras.modelsimportSequential
動態 | Money Button發布用于Bitcoin SV的JavaScript比特幣庫:據ambcrypto消息,Money Button最近宣布,該公司已經發布了一個用于Bitcoin SV的 JavaScript Bitcoin Library(JavaScript比特幣庫)。該公司表示,新產品“bsv”將成為比特幣SV密碼學、密鑰管理和交易構建的庫。[2018/12/13]
fromkeras.layersimportActivation,Dense
fromkeras.layersimportLSTM
fromkeras.layersimportDropout
defbuild_model(inputs,output_size,neurons,activ_func="linear",
dropout=0.25,loss="mae",optimizer="adam"):
model=Sequential()
model.add(LSTM(neurons,input_shape=(inputs.shape,inputs.shape)))
比特幣基金會創始成員Charlie Shrem成為AI驅動區塊鏈平臺顧問:據bitcoinist消息,BitInstant聯合創始人、比特幣基金會創始成員和前副主席Charlie Shrem成為Eligma的顧問。據悉,Eligma是一個旨在改變在線和離線購物的AI驅動區塊鏈平臺。[2018/3/30]
model.add(Dropout(dropout))
model.add(Dense(units=output_size))
model.add(Activation(activ_func))
model.compile(loss=loss,optimizer=optimizer)
returnmodel
那么,build_model函數構建了一個模型,名為model,該模型添加了一個LSTM層和全連接層。該層的形態已經調整以適合輸入。該函數還包括更通用的神經網絡特征,如dropout和激活函數。現在,我們只需指定LSTM層中神經元的數量和訓練數據。
Billions項目組initialisemodelarchitecture
eth_model=build_model(LSTM_training_inputs,output_size=1,neurons=20)
Billions項目組trainmodelondata
Billions項目組eth_preds=np.loadtxt('eth_preds.txt')
--------------------------------------------------------------------------
Epoch50/50
6s-loss:0.0625
我們剛才構建了一個LSTM模型來預測明天的以太幣收盤價。現在我們來看一下效果如何。首先檢查訓練集性能。代碼下面的數字代表50次訓練迭代后該模型在訓練集上的平均絕對誤差。我們可以看到模型輸出就是每日收盤價。
我們不應對它的準確率感到驚訝。該模型可以檢測誤差來源并進行調整。事實上,獲取趨近于零的訓練誤差并不難。我們只需要數百個神經元和數千個訓練epoch。我們應該對它在測試集上的性能更感興趣,因為測試集中是模型未見過的全新數據。
注意單點預測具備誤導性,而我們的LSTM模型似乎可以在未見過的測試集上實現良好的性能。最顯著的缺點是單點預測無法檢測出當以太幣突然上漲時必然會下跌。事實上,它一直都是失敗的,只不過在這些波動點更加明顯而已。預測價格一般更接近一天后的實際價格。我們還可以構建一個適用于比特幣的類似的LSTM模型,測試集預測結果見下圖。
如前所述,單點預測具有一定誤導性。我們現在構建一個LSTM模型來預測接下來5天的虛擬貨幣價格。
從視覺效果上來看,預測結果沒有其單點預測更加鮮明。但是,我很高興,該模型返回了一些細微的行為;它不僅僅預測價格在一個方向的移動軌跡。因此,該模型還有很多優化空間。
現在回到單點預測,我們的深度機器人工神經模型看起來還不錯,但是隨機游走模型看起來也還行。與隨機游走模型類似,LSTM模型對隨機種子的選擇很敏感。那么,如果我們想對比這兩種模型,就需要把每個模型運行多次來評估模型誤差。誤差可以作為測試集中真實和預測收盤價的絕對差。
或許AI完全值得這些炒作!這些圖顯示了在進行25次不同的初始化之后,每個模型在測試集上的誤差。LSTM模型對比特幣和以太幣價格的預測誤差分別是0.04和0.05,完勝相應的隨機游走模型。
只是為了打敗隨機游走模型的話也太low了。對比LSTM模型和更合適的時序模型豈不是更加有趣!另外,我確定很難再提升我們的LSTM模型了。可能虛擬貨幣價格變化沒有規律吧,可能沒有一個模型可以把信號和噪聲分離開。以后的文章中可能會討論這些話題。
幸運的是,你已經察覺到我對使用深度學習預測虛擬貨幣價格變化的懷疑態度。原因在于我們忽略了最優的框架:人類智能。很明顯,預測虛擬貨幣價格的完美模型是:
我確定他們最終最終會找到深度學習的使用案例的。同時,你可以下載完整的Python代碼構建自己的模型。
原文鏈接:https://dashee87.github.io/deep%20learning/python/predicting-cryptocurrency-prices-with-deep-learning/
本文為機器之心編譯,轉載請聯系本公眾號獲得授權。
------------------------------------------------
加入機器之心:hr@jiqizhixin.com
投稿或尋求報道:content@jiqizhixin.com
廣告&商務合作:bd@jiqizhixin.com
Tags:LSTSTM比特幣LST幣是什么幣STM幣是什么幣比特幣中國官網聯系方式40億比特幣能提現嗎比特幣最新價格行情走勢
在區塊鏈的交流學習中,被提及的一個很頻繁的詞匯就是共識算法,它是構筑區塊鏈信任特性的基礎。在區塊鏈世界,共識一般都是通過特定的數學算法實現,那到底什么是共識算法?目前普及的共識算法有多少種?相信.
1900/1/1 0:00:00大家好,我是W礦工,最新比較火爆的、聽得比較多的,那可能就是“宇宙元”,或這個AxieInfinity中的“AXS”,在上周基本上算是翻倍,藥水SLP漲了64%,在目前的環境下顯得格外亮眼.
1900/1/1 0:00:00古代中國人膜拜"財神";希伯來人崇拜金牛;希臘神話中不屈的跑將赫密斯是利潤之神;埃及人在國王的陵墓里放滿財寶,使死者在赴天堂的旅程中不擔心錢財的匱乏......可見.
1900/1/1 0:00:00PaloAltoNetworks公司的Unit42威脅研究團隊最近發現了一種被命名為“ComboJack”的新型惡意軟件,能夠檢測目標受害者何時將加密貨幣錢包地址復制到了Windows剪貼板.
1900/1/1 0:00:00看漲SUSHI價格預測為1.675美元至7.619美元。SushiSwap(SUSHI)價格也可能很快達到10美元。2022年看跌的SUSHI價格預測為0.887美元.
1900/1/1 0:00:00現在的生活每個人都要面對著生活的壓力,希望能夠躺在錢上面,然后數錢數到手軟。就有這么一個國家,數錢數到手軟,但是可惜的是100萬億只能換來一個面包,這個國家就是津巴布韋 津巴布韋 聲音 | 中國.
1900/1/1 0:00:00