上個月,AI工程師AdamKing結合人工智能在預測方面得天獨厚的優勢,提出使用深度強化學習構建加密貨幣自動交易的程序。在展示模型中,程序的收益率竟達到了驚人的60倍。
但在當時,這個展示模型略顯粗糙。雖然能獲得收益,但它并不穩定。使用它可能讓你賺得盆滿缽盈,也有可能讓你賠得一無所有,頗有些“富貴險中求”的意味。
不穩定的問題一直困擾著Adam小哥,經過一個月的蟄伏,小哥提出將特征工程和貝葉斯優化兩大殺器引入模型。這些改進會奏效么?收益率又能提升多少呢?一起來看看Adam小哥的最新力作吧!
在上一篇文章中,我們使用深度強化學習創建了一個可以賺錢的比特幣自動交易智能體。雖然這個智能體能夠做到自動交易比特幣獲得收益,但它的收益率并沒有讓人眼前一亮,今天我們會大幅度改進這個比特幣交易智能體,從而提高它的收益率。
需要注意的是,本篇文章的目的是測試當下最先進的深度強化學習技術是否能與區塊鏈相結合,創造出一個可以盈利的比特幣自動交易智能體。目前看來業界都還沒有意識到深度強化學習在自動交易方面強大的潛力,反而認為它并不是一個“能用來構建交易算法的工具”。不過,深度學習領域的最新進展已經表明,在同一個問題上強化學習智能體通常能夠比普通的監督學習智能體學習到更多的特征。
出于這個原因,我做了相關的實驗來探究基于深度強化學習的交易智能體究竟能達到怎樣的收益率,當然了,結果也可能會是深度強化學習有著很強的局限性以至于并不適合做交易智能體,但不去嘗試誰又知道結果如何呢?
首先,我們將會改進深度強化學習模型的策略網絡并使輸入數據變得平穩,以便交易智能體能在很少的數據中學習到更多的特征。
接下來,我們將使用當下先進的特征工程方法來改善交易智能體的觀察空間,同時微調交易智能體的獎勵函數以幫助它發現更好的交易策略。
最后,在訓練并測試交易智能體獲得的收益率之前,我們將使用貝葉斯優化的方法來尋找能最大化收益率的超參數。
前方高能,系好安全帶,讓我們開始這場干貨滿滿的探索之旅吧。
關于深度強化學習模型的改進
在上一篇文章中,我們已經實現了深度強化學習模型的基本功能,
GitHub地址:
https://github.com/notadamking/Bitcoin-Trader-RL
當務之急是提高深度強化學習智能體的盈利能力,換句話說就是要對模型進行一些改進。
循環神經網絡
我們需要做的第一個改進就是使用循環神經網絡來改進策略網絡,也就是說,使用長短期記憶網絡網絡代替之前使用的多層感知機網絡。由于循環神經網絡隨著時間的推移可以一直保持內部狀態,因此我們不再需要滑動“回顧窗口“來捕捉價格變動之前的行為,循環神經網絡的循環本質可以在運行時自動捕捉這些行為。在每個時間步長中,輸入數據集中的新一個數據與上一個時間步長的輸出會被一起輸入到循環神經網絡中。
因而長短期記憶網絡可以一直維持一個內部狀態。在每個時間步長中,智能體會新記住一些新的數據關系,也會忘掉一些之前的數據關系,這個內部狀態也就會隨之更新。
循環神經網絡會接收上一個時間步長的輸出
循環神經網絡如何處理上一個時間步長的輸出與這一個時間步長的輸入
21e6 Capital:上半年投資BTC的平均回報率為83%:金色財經報道,根據瑞士加密貨幣投資顧問21e6 Capital研究報告,在2023年上半年,投資者從購買和持有BTC中獲得的收益將比投資加密貨幣對沖基金更多。加密貨幣基金在此期間的平均回報率為15%,而比特幣的平均回報率為83%。采用定向策略的基金平均回報率為22%,遠低于比特幣,但高于市場中性策略的6.8%回報率。
21e6 Capital追蹤全球700多個加密貨幣基金,并追蹤70家公司123只基金的監管業績報告。根據彭博社的數據,表現不佳導致約97家(即13%)的加密貨幣對沖基金被關閉。[2023/8/7 21:30:15]
長短期記憶網絡實現代碼LSTM_model.py
介于循環神經網絡對于內部狀態得天獨厚的優勢,在這里,我們使用長短期記憶網絡策略更新了近端策略優化PPO2模型。
數據平穩性
在上一篇文章中我曾指出比特幣交易的數據是非平穩的,因此,任何機器學習模型都難以預測未來。
平穩時間序列是平均值,方差和自相關系數都恒定的時間序列。
而且,加密貨幣價格的時間序列有著很明顯的趨勢和季節效應,這兩者都會影響算法對時間序列預測的準確率,所以在這里,我們需要使用差分和變換的方法來處理輸入數據,從現有的時間序列中構建一個正常的數據分布來解決這個問題。
從原理上來說,差分過程就是給任意兩個時間步長內加密貨幣幣價的導數做差值。在理想情況下,這樣做可以消除輸入時間序列中存在的趨勢,但是,差分處理對季節效應并不奏效,處理后的數據仍然具有很強的季節效應。這就需要我們在差分處理之前進行對數處理來消除它,經過這樣的處理最終我們會得到平穩的輸入時間序列,如下方右圖所示。
從左到右分別為:
加密貨幣的收盤價,差分處理后的收盤價,對數處理和差分處理后的收盤價
對數處理和差分處理的代碼diff_and_log_time_series.py
處理后的輸入時間序列平穩性如何,我們可以使用增廣迪基-福勒檢驗驗證一下。
運行以下代碼:
增廣迪基-福勒檢驗的代碼adfuller_test.py
我們得到的p值為0.00,這意味著我們拒絕假設檢驗中的零假設并確認處理后的輸入時間序列是平穩的。
我們可以運行上面的增廣迪基-福勒檢驗代碼來檢驗輸入時間序列的平穩性。
在完成了這項工作之后,接下來我們將使用特征工程的方法進一步優化交易智能體的觀察空間。
特征工程
為了進一步提升交易智能體的收益率,我們需要做一些特征工程。
特征工程是使用該領域知識來生成額外的輸入數據從而優化機器學習模型的過程。
具體到交易智能體,我們將在輸入數據集中添加一些常見且有效的技術指標,以及Python數據分析程序庫StatsModels中季節效應預測模型SARIMAX的輸出。這些技術指標會為我們的輸入數據集帶來一些相關的,但可能會滯后的信息,這些信息能大大提升交易智能體預測的準確性。這些優化方法的組合可以為交易智能體提供一個非常好的觀察空間,讓智能體學習到更多的特征,從而獲得更多的收益。
技術分析
CryptoBriefingSimetri的月度精選報告投資回報率超250%:加密資產研究機構CryptoBriefing旗下的付費報告Simetri發布了一周年特別報告,總結分析Simetri過去一年內推薦的項目及代幣/交易信號的投資回報率(ROI)情況。基本數據如下:1)12份月度精選報告,其中有8個成功的選擇(如THORchain)和4個失敗的選擇(如Harmony和RSK),總ROI為+251.4%。2)27份B級及以上(長期投資)報告,其中有13份是盈利的,13份是虧損的,1份不賠不賺,總體盈利83.4%。3)35種潛力代幣的交易建議(CoinsontheMove),其中有19個盈利的,14個虧損的,2個不賠不賺的,總ROI為+185%。4)14份BTC交易建議(ProBTCTrader),其中4個盈利的,4個虧損的,6個不賠不賺的,總ROI為+31.9%。[2020/6/27]
為了選擇技術指標,我們將比較Python技術分析庫ta中可用的所有32個指標的相關性。可以使用數據分析工具pandas來計算相同類型的各個指標之間的相關性,然后在每種類型中僅選擇最不相關的指標作為特征。這樣,就可以在不給觀察空間帶來過多噪音干擾的情況下,最大程度地發掘這些技術指標的價值。
使用Python高級可視化庫seaborn做出的比特幣數據集上技術指標相關性的熱力圖
結果顯示,波動率指標以及一些動量指標都是高度相關的。在刪除所有重復的特征之后,我們將剩余的38個技術特征添加到交易智能體的觀察空間中。
在代碼中,我們需要創建一個名為add_indicators的函數來將這些特征添加到數據幀中,為了避免在每個時間步長中重復計算這些特征,我們只在交易智能體環境初始化的過程中調用add_indicators函數。
交易智能體環境初始化的代碼initialize_env.py
在這里,初始化交易智能體環境,在進行數據平穩性處理之前將特征添加到了數據幀中。
統計分析
接下來我們需要添加預測模型。
由于季節效應自回歸移動平均模型可以在每個時間步長中快速計算價格的預測值,在平穩數據集中運算非常準確,因此我們使用它來進行加密貨幣幣價預測。
除了上述這些優點之外,該模型實現起來非常簡單,它還可以給出預測值的置信區間,通常情況下這比單獨給出一個預測值能提供更多的信息。就比如說,當置信區間較小時,交易智能體就會更相信這個預測值的準確性,當置信區間很大時交易智能體就知道要承擔更大的風險。
加入SARIMA預測模型的代碼add_sarimax_predictions.py
這里我們將SARIMAX預測模型和置信區間添加到交易智能體的觀察空間中。
現在我們已經使用性能更好的循環神經網絡更新了策略,并使用特征工程的方法改進了交易智能體的觀察空間,是時候優化其他的部分了。
獎勵優化
有些人可能會覺得上一篇文章中的獎勵函數已經是最好的解決方案了,但是,通過進一步的研究我發現獎勵函數還有提升的空間。雖然我們之前使用的簡單獎勵函數已經能夠獲得收益,但它給出的投資策略非常不穩定,往往會導致資產的嚴重損失。為了改善這一點,除了考慮利潤的增加以外,我們還需要考慮其他獎勵的指標。
動態 | Vision Hill Advisors 2018年四季度加密基金報告:回報率下跌18.8%:Vision Hill Advisors發布2018年四季度加密基金報告,加密基金回報率下跌了18.8%,是自加密基金產品推出以來最差的一個季度。相比而言,二季度的下跌幅度為4.3%,三季度為9.2%。不過,加密基金的中位收益表現依然優于比特幣,其投資回報率較比特幣高出25%。此外,截至去年四季度,加密基金管理的總基金資產規模大約為45億美元(不包含相關領域里的遺留資金),其中50%的資產被排名前二十的基金公司集中控制。[2019/2/21]
獎勵指標的一個簡單改進就是,不僅僅獎勵在比特幣價格上漲時持有比特幣帶來的利潤,還獎勵在比特幣價格下跌時拋售比特幣而避免的損失。就比如說,我們可以獎勵智能體買入比特幣而總資產增加的行為,以及賣出比特幣避免總資產減少的行為。
雖然這種獎勵指標在提高收益率方面非常出色,但這樣做并沒有考慮到高回報帶來的高風險。投資者早已發現這種簡單投資策略背后存在的漏洞,并將其改進成一種風險可調節的獎勵指標。
基于波動率的獎勵指標
這種風險可調節的獎勵指標中的典型就是夏普比率。它計算的是特定時間段內投資組合的超額收益與波動性的比率。具體的計算公式如下:
夏普比率的計算公式:/投資組合的標準差
從公式中我們可以得出,為了保持較高的夏普比率,投資組合必須同時保證高收益和低波動性。
作為一種獎勵指標,夏普比率經受住了時間的考驗,但它對于自動交易智能體來說并不是很完美,因為它會對上行標準差產生不利影響,而在比特幣交易環境中有時我們需要利用上行標準差,因為上行標準差通常都是很好的機會窗口。
而使用索提諾比率可以很好地解決這個問題。索提諾比率與夏普比率非常相似,只是它在風險上只考慮了下行標準差,而不是整體標準差。因此,索提諾比率并不會對上行標準差產生什么不利影響。因而我們給交易智能體的第一條獎勵指標就選擇索提諾比率,它的計算公式如下:
索提諾比率的計算公式:/投資組合的下行標準差
其他獎勵指標
我們選擇Calmar比率作為交易智能體的第二個獎勵指標。到目前為止,我們所有的獎勵指標都沒有考慮到比特幣幣價最大回撤率這個關鍵因素。
最大回撤率是指比特幣幣價從價格頂峰到價格低谷之間的價值差,用來描述買入比特幣后最糟糕的情況。
最大回撤率對我們的投資策略來說是致命的,因為只需一次幣價突然跳水,我們長時間累積的高收益就會化為烏有。
最大回撤率
為了消除最大回撤率帶來的負面影響,我們需要選用可以處理這種情況的獎勵指標,就比如說選用Calmar比率。該比率與夏普比率類似,只是它將分母上投資組合的標準差替換為最大回撤率。
Calmar比率的計算公式:/最大回撤率
我們最后一個獎勵指標是在對沖基金行業中廣泛使用的Omega比率。從理論上來說,在衡量風險與收益時,Omega比率應該優于Sortino比率和Calmar比率,因為它能夠在單個指標中使用收益的分布來評估風險。
計算Omega比率時,我們需要分別計算在特定基準之上或之下投資組合的概率分布,然后兩者相除計算比率。Omega比率越高,比特幣上漲潛力超過下跌潛力的概率就越高。
GMO第一季度財務報告:數字貨幣業務收入達600萬美元 投資回報率喜人:據financemagnates消息,GMO互聯網公司公布了2018年第一季度財務報告。報告顯示,數字貨幣業務本季度收入達600萬美元,跟公司這一季度利潤顯著增長有直接關系。2017年第一季度末,該公司凈銷售額為3.3億美元,而今年增加到了4億美元,增幅達21%。[2018/6/5]
Omege比率的計算公式
Omega比率的計算公式看起來很復雜,不過不要擔心,在代碼中實現它并不難。
代碼實現
雖然說編寫每個獎勵指標的代碼聽起來很有意思且很有挑戰性,但這里為了方便大家的理解,我選擇使用Python量化金融程序包empyrical來計算它們。幸運的是,這個程序包中恰好包含了我們上面定義的三個獎勵指標,因而在每個時間步長中,我們只需要將該時間段內收益和大盤收益的列表發給Empyrical函數,它就會返回這三個比率。
使用empyrical程序包計算三個獎勵指標的代碼risk_adjusted_reward.py
在代碼中,我們通過預先定義的獎勵函數設置了每個時間步長的獎勵。
到目前為止,我們已經確定了如何衡量一個交易策略的成功與否,現在是時候弄清楚哪些指標會帶來較高的收益。我們需要將這些獎勵函數輸入到自動超參數優化軟件框架Optuna中,然后使用貝葉斯優化來的方法為輸入數據集尋找最優的超參數。
工具集
俗話說,好馬配好鞍。任何一個優秀的技術人員都需要一套好用的工具,否則就會巧婦難為無米之炊。
但我并不是說我們要重復造輪子,我們應該學會使用程序員前輩用禿頭的代價為我們開發的工具,這樣他們的工作也算沒有白費。對于我們所開發的交易智能體,它要用到的最重要的工具就是自動超參數優化軟件框架Optuna,從原理上來說,它使用了樹結構的Parzen窗估計來實現貝葉斯優化,而這種估計方法是可以并行化運行的,這使得我們的顯卡有了用武之地,執行搜索需要的時間也會大大縮短。簡而言之,
貝葉斯優化是一種搜索超參數空間以找到能最大化給定目標函數的超參數的高效解決方案。
也就是說,貝葉斯優化能夠有效地改進任何黑箱模型。從工作原理上來說,貝葉斯優化通過使用替代函數或是替代函數的分布對要優化的目標函數進行建模。隨著時間的推移,算法不斷地檢索超參數空間以找到那些能夠最大化目標函數的超參數,分布的效果也會逐漸改善。
理論說了這么多,我們要如何把這些技術應用在比特幣自動交易智能體中呢?從本質上來講,我們可以使用這種技術來找到一組最優的超參數,使得智能體的收益率最高。這個過程就像是在超參數的汪洋大海中撈取一根效果最好的針,而貝葉斯優化就是帶我們找到這根針的磁鐵。讓我們開始吧。
使用Optuna優化超參數并不是什么難事。
首先,我們需要創建一個optuna實例,也就是裝載所有超參數試驗的容器。在每次試驗中我們需要調整超參數的設置來計算目標函數相應的損失函數值。在實例初始化完成后,我們需要向其中傳入目標函數然后調用study.optimize()函數開始優化,Optuna將使用貝葉斯優化的方法來尋找能夠最小化損失函數的超參數配置。
使用Optuna程序庫貝葉斯優化的代碼optimize_with_optuna.py
老撾成人電影明星投資數字貨幣回報率超1100%:老撾成人電影明星Brenna Sparks因對數字貨幣投資技巧大量吸粉。2009年,當時僅19歲的Sparks第一次購買了比特幣,因投資較早,即使在BTC從2萬美元跌至1萬美元時,Sparks的平均投資回報率仍然有1100%。她說,“我的實際投資回報率要比這個大得多,因為人們一直在給我一堆數字貨幣,我已經收到了大約4萬美元。并且我也做出了一些不錯的決定。”目前,Sparks在數字貨幣的投資收益遠超其職業收入。[2018/3/3]
在這個例子中,目標函數就是在比特幣交易環境中訓練并測試智能體,而目標函數的損失值則定義為測試期間智能體平均收益的相反數,之所以給收益值加上負號,是因為平均收益越高越好,而在Optuna看來損失函數越低越好,一個負號剛好解決這個問題。optimize優化函數為目標函數提供了試驗對象,代碼中我們可以指定試驗對象中的變量設置。
優化目標函數的代碼optimize_objective_fn.py
optimize_ppo2優化智能體函數和optimize_envs優化智能體環境函數接收試驗對象作為輸入并返回包含要測試參數的字典。每個變量的搜索空間由suggest函數進行設置,我們需要在試驗中調用suggest函數并給函數中傳入指定的參數。
比如說,如果設置參數在對數尺度上服從均勻分布,即調用函數
trial.suggest_loguniform,
相當于給函數了一個16-2048之間的2的指數次方的新浮點數。
再者,如果設置參數在普通尺度上服從均勻分布,即調用函數
trial.suggest_uniform,
相當于給函數一個0.1到0.4之間的新浮點數。
相信你已經看出來了其中的規律,就是這樣來設置變量:
suggest_categorical,其中categorical為設置變量的策略,option_one和option_two分別為變量的兩個選項,在剛才的函數中這兩個選項為變量的范圍,弄懂了這個相信下面的代碼就難不倒你了。
化交易智能體的代碼optimize_ppo2.py
優化交易環境的代碼optimize_envs.py
代碼寫好后,我們在一臺高性能服務器上以CPU/顯卡協同運算的方式運行了優化函數。在設置中,Optuna創建了一個SQLite數據庫,我們可以從中加載優化的實例。該實例記錄了測試過程中性能最好的一次試驗,從中我們可以推算出智能體交易環境中最優的超參數集。
加載optuna實例的代碼load_optuna_study.py
到這里,我們已經改進了模型,改進了特征集,并優化了所有的超參數。但俗話說,是騾子是馬得拉出來遛遛。
那么,交易智能體在新的獎勵指標下表現如何呢?
在訓練過程中,我分別使用了利潤、Sortino比率、Calmar比率和Omega比率四個獎勵指標來優化智能體。接下來我們需要在測試環境中檢驗哪種獎勵指標訓練出來的智能體收益最高,當然了,測試環境中的數據都是智能體在訓練過程中從未見到過的比特幣價格走勢,這樣保證了測試的公平性。
收益比較
在查看結果之前,我們需要知曉一個成功的交易策略是什么樣的。出于這個原因,我們將針對一些常見且有效的比特幣交易策略進行基準測試。令人震驚的是,在過去的十年中一個最有效的比特幣交易策略就是買入并持有,而另外兩個不錯的交易策略則是使用簡單但有效的技術分析來生成買入/賣出信號,從而指導交易。
1、買入并持有
這種交易策略指盡可能多地購買比特幣并一直持有下去。雖然說這種交易策略并不是特別復雜,但在過去這樣做賺錢的機率很高。
2、相對強弱指數分歧divergence)
當相對強弱指數持續下跌且收盤價持續上漲時,這就是需要賣出的信號,而當相對強弱指數持續上漲且收盤價持續下跌時,就是需要買入的信號。
3、簡單移動平均線交叉
當長期簡單移動平均線超過短期簡單移動平均線時,這就是需要賣出的信號,而當短期簡單移動平均線超過長期簡單移動平均線時,就是需要買入的信號。
你可能會問,為什么要做這些簡單的基準測試呢?這樣做是為了通過比較證明我們的強化學習交易智能體可以在比特幣市場上發揮作用,如果智能體的收益連這些簡單的基準收益都超不過,那么我們就相當于花費了大量的開發時間和顯卡算力來進行了一場天馬行空的科學實驗。現在,讓我們來證明事實并非如此。
實驗結果
我們的數據集選用從加密貨幣數據網站CryptoDataDownload上下載的每小時收盤價位置價值數據,其中前80%的數據用來訓練智能體,后20%作為全新的數據進行測試,以了解智能體的收益能力。當前這種簡單的交叉驗證形式足以滿足我們的需求,而如果這個比特幣自動交易智能體真的走向生產就緒,我們就可以使用全部的數據集進行訓練,然后在每天新產生的數據集上進行測試。
廢話不多說,我們來看看結果。
可以看到,使用Omega比率作為獎勵指標的智能體在測試階段并沒有讓人眼前一亮的交易。
使用Omega比率作為獎勵指標的智能體在超過3500小時的交易時間里資產的總價值
分析智能體所進行的交易我們可以發現,很明顯Omega比率這種獎勵指標產生了過度交易的交易策略,以至于智能體未能抓住市場機會獲得收益。
使用Calmar比率作為獎勵指標的智能體與使用Omega比率作為獎勵指標的智能體相比略有改進,但最終結果非常相似。看起來像是我們投入了大量的時間和精力,只是為了讓事情變得更糟......
使用Calmar比率作為獎勵指標的智能體在超過3500小時的交易時間里資產的總價值
如果僅使用利潤作為獎勵指標效果如何呢?在上一篇文章中這種獎勵指標被證明有點失敗,這次做的所有修改和優化能否化腐朽為神奇呢?
在為期四個月的測試周期內,使用利潤作為獎勵指標的智能體平均收益達到賬戶初始金額的350%。你可能已經被這個結果嚇呆了。這應該就是強化學習能達到的巔峰了吧,對吧?
使用利潤作為獎勵指標的智能體在超過3500小時的交易時間里資產的總價值
并不是這樣的。使用Sortino比率作為獎勵指標的智能體平均收益達到了賬戶初始金額的850%。當我看到這個數字時,我都不敢相信自己的眼睛,以至于我立馬回去檢查代碼中是否存在問題。但經過徹底的檢查后,很明顯代碼中沒有任何錯誤,也就是說這些智能體已經知道如何進行比特幣交易。
使用Sortino比率作為獎勵指標的智能體在超過3500小時的交易時間里資產的總價值
看起來使用Sortino比率作為獎勵指標的智能體學習到了在最小化持有比特幣風險的前提下低價買入和高價賣出的重要性,同時它們還躲過了過度交易和投資不足兩大陷阱。雖然說智能體學到的具體交易策略我們不得而知,但是我們可以清楚地看到智能體已經學會通過交易比特幣獲得收益了。
如果你不信,請看下圖。
使用Sortino比率作為獎勵指標的智能體正在交易比特幣,
其中綠色的三角形表示買入信號,紅色的三角形表示賣出信號。
現在,我并沒有被實驗成功的興奮沖昏頭腦。我清楚地知道比特幣自動交易智能體還遠遠沒有達到生產就緒。話雖如此,但這些結果比我迄今為止看到的任何交易策略都要令人印象深刻。而且令人震驚的是,我們并沒有告訴智能體關于加密貨幣市場如何運作、如何在加密貨幣市場上賺錢這樣的先驗知識,而是僅靠智能體重復地試驗和試錯就達到了這么好的效果,不過,這里經過了很多很多次的試驗和試錯。
寫在最后
在本篇文章中,我們優化了基于強化學習的比特幣自動交易智能體,讓它在交易比特幣時做出更好的決策,從而獲得更多的收益!在這個過程中我們花費了大量的時間和精力,也遇到了很多的困難,我們把困難分解細化再逐個攻破,最終完成了智能體的優化,其中具體的操作步驟如下:
使用循環神經網絡升級現有模型,即升級成使用平穩性數據的長短期記憶網絡;
使用領域知識和統計分析進行特征工程,為智能體提供了40多個用來學習的新特征;
將投資的風險引入智能體的獎勵指標,而不只是關注利潤;
使用貝葉斯優化來尋找模型中最優的超參數;
使用常見的交易策略進行基準測試,以確保智能體的收益可以跑贏市場。
從理論上來說,這個高收益的交易智能體已經做得很不錯了。
但是,我收到了相當多的反饋,他們聲稱交易智能體只是在學習擬合曲線,因此,面對生產環境中的實時數據,交易智能體永遠不可能獲得收益。雖然我們在不同數據集上訓練/測試智能體的方法應該能夠解決這個問題,但是模型確實會有過度擬合數據集的可能,并且可能不會很好地推廣到實時數據。話雖這么說,但在我看來這些交易智能體學習到的遠遠不只是簡單的曲線擬合,因此,我認為它們能夠在實時交易的場景中獲得收益。
為了檢驗這個想法,接下來的一段時間里我會把這些基于強化學習的智能體帶到生產環節,為此,我們首先要更新智能體的運行環境以支持以太幣、萊特幣等其他加密貨幣,然后我們將升級智能體讓它可以在加密貨幣交易所CoinbasePro上實時交易。
這將會是一個激動人心的實驗,請不要錯過它。
需要強調的是,本篇文章中所有的方法和投資策略都是出于教育目的,不應被視為投資建議。我們的比特幣自動交易智能體也遠遠沒有達到實際生產層面,所以請管好自己的錢包。
參考資源:
1)基于Python語言和Tensorflow框架的循環神經網絡和長短期記憶網絡教程
https://adventuresinmachinelearning.com/recurrent-neural-networks-lstm-tutorial-tensorflow/
2)淺析基于Python語言的季節效應自回歸移動平均模型預測時間序列
https://machinelearningmastery.com/sarima-for-time-series-forecasting-in-python/
3)淺析基于Python語言的非平穩性時間序列處理
https://www.analyticsvidhya.com/blog/2018/09/non-stationary-time-series-python/
4)超參數優化算法
https://papers.nips.cc/paper/4443-algorithms-for-hyper-parameter-optimization.pdf
5)機器學習方法在金融領域中的最新進展
https://dwz.cn/iUahVt2u
V神來北京啦!6月29-30日,2019第二屆以太坊技術及應用大會將在北京重磅開啟,屆時V神將攜以太坊核心團隊與國內外區塊鏈大咖帶來眾多以太坊開發干貨,包括:
以太坊2.0進展及未來動向
信標鏈、鏈下、Casper、Plasma新動態及核心原理
安全、零知識證明、De-Fi、擴容、PoS算法等熱門話題
合約開發、Dapp開發、區塊鏈游戲開發與設計、數據存儲等技術實踐
開發工具與技術選型
國內區塊鏈的發展與以太坊的新機遇
由于干貨過于密集,小伙伴們要做好燒腦的心理準備哦!掃描下圖二維碼立享優惠,名額有限,先到先得!
大會第二天,「以太坊開發訓練營」也如期開幕,在前一天眾多嘉賓演講的洗禮之后,再和技術大牛一起coding!是不是更爽?具體詳情如下:
以太坊大會福利社現已全面開放!掃碼入群即可搶先獲得大會一手信息和優惠福利!相關疑問也可入群交流咨詢,務必備注“公司職位姓名”,否則不予通過!!!
推薦閱讀:
"偽努力"正在毀掉80%的當代區塊鏈開發者……
豪華嘉賓陣容曝光!6月底V神來的那個大會,還有優惠票嗎?
“算法穩定幣”是一個偽命題!
“篡改”視頻腳本,讓特朗普輕松“變臉”?AIDeepfake再升級
純粹,極致!他用兩個詞闡釋了UCloud|人物志
阿里騰訊進擊韓國互聯網
無良老板拖欠程序員工資,一怒開源沖上GitHubTOP1
Chrome成為互聯網看門人?!
JamesonLopp文本文由幣信原創編譯,原文鏈接:https://medium.com/@lopp/bitcoin-timestamp-security-8dcfc3914da6本文版權歸原.
1900/1/1 0:00:006月12日,由巴比特商學院與浙江省數字經濟學會戰略合作,聯合打造的數字經濟領袖班正式啟動首期招募.
1900/1/1 0:00:00作者:馬莎卡 上周五,彭博社旗下的網站BloombergQuint稱:“印度可能會考慮對加密貨幣的投資者、交易者、開采者判處一至十年監禁。”新聞一出,引來無數家幣圈的、非幣圈的媒體爭相轉發.
1900/1/1 0:00:00前言:DeFi最近幾個月發展迅速,借貸量達到新高。隨著協議的更新,功能增加以及用戶界面提升,整體規模還在上漲,說明這個領域需求強勁.
1900/1/1 0:00:002019年伊始,金色財經推出全新欄目:FunTwitter。推特是海外加密世界意見領袖們發表言論的重要場所。金色財經將為您收集每日加密世界中的海外意見領袖與知名媒體在推特上的有趣推文.
1900/1/1 0:00:00石器時代——場外交易 自從以比特幣為代表的數字加密資產誕生以來,人們就有交易這些資產的需求。最初,這些需求主要通過社交媒體來滿足,人們在論壇上發帖,或者在聊天群里發布信息,尋找可能的交易對手.
1900/1/1 0:00:00