當你可以使用簡單的分層方法時,為什麼要利用神經網絡來幫助你進行交易


神經網絡往往過於自信,導致交易時虧損; 簡單模型可能欠擬合,但分層方法彌補了差異1*CaooAcSYjALRsjZqTbTYiA.png微牛AAPL 分析Dash | 📸由我

在一個高效、複雜的市場中交易不是貓與狗的問題。市場的數據序列很短,很嘈雜,有時是隨機的,並且不受嚴格限制。價格行為甚至不為人類所理解。

當90% 的人類交易者未能在股票市場上賺錢時,一個模型——即使它是神經網絡——應該如何賺錢,而不是過度擬合,當市場沒有被很好地理解、不確定、嘈雜、並有簡短的數據系列?

神經網絡的普及應用也有類似的故事:已知規則(如國際象棋或語音識別)、確定性(操作機器)、人類做得很好(圖像分類)和大量相關數據(機器翻譯)。

簡單的分層方法非常適合生成良好的交易信號。在最近的一本名為《金融機器學習進展》的書中,2019 年年度量化分析師Marcos Lopez de Prado 在討論元標記時談到了分層方法。

元標記是一種在方向決策(多頭或空頭)之上分層大小決策(1K 手,50K BBL)的方法。例如,首先構建一個主要模型來很好地預測正類,然後構建第二個元模型來區分主要模型不正確的狀態。使用主要模型的方向下注; 使用元模型的信心來確定你的質押。

為了完全透明,我不清楚在移除倉位時是否應該使用用於生成信號的相同模型和信號。我仍在努力學習這一點。如果你對這一點有想法,那麼我很樂意在下面看到你的評測。

如何用概率來衡量下注:只需將概率乘以你想要的最大位置。然後將該大小映射到階躍函數,以減少對先前下注的小調整。

神經網絡是一種算法。他們屬於機器學習的陣營。它們在40 年代首次推出,並在60 年代之間流行起來,直到今天。

神經網絡用途廣泛、可擴展且功能強大,使其成為大型、複雜(甚至非線性)機器學習任務的理想選擇:計算機視覺、語音識別、語音搜索、會話語音識別、語音和圖像特徵編碼、語義話語分類, 手寫識別, 音頻處理, 視覺對象識別, 信息檢索, 在分析可能導致發現新藥的分子, 對數十億圖像進行分類, 每天向數億用戶推薦最佳視頻觀看, 學習在國際象棋或圍棋比賽中擊敗世界冠軍,甚至在有大量數據的情況下為常見的機器學習任務提供動力。

我從我在研究生院製作的PowerPoint 幻燈片中提取了上面的段落。這些聽起來像金融和交易嗎? “大型、複雜”和“大量數據”不是我經常聽到的短語。

我最喜歡的一些模型是淺層和簡單的:樸素貝葉斯、邏輯回歸、決策樹和支持向量機。你可以將它們用作二元分類器。有時,二元分類器可能比連續回歸預測器更有價值。

二進制預測是有利的,因為它們模擬交易決策:多頭或空頭。你可以使用這些模型產生的概率來幫助你確定質押的大小,這也是有利的。

樸素貝葉斯

基於貝葉斯定理,樸素貝葉斯使用基於歷史數據的先驗概率對未來數據進行可能的預測。你可以通過創建閾值(例如50%)來使用這些概率進行預測。任何低於50% 的預測概率都將成為空頭質押; 任何超過50% 的預測概率都將成為長期質押。

從sklearn.naive_bayes 導入GaussianNBclf = GaussianNB().fit(X_backtest, y_backtest, w_backtest)predictions = clf.predict(X_live)probabilities = clf.predict_proba(X_live)[:, 1]邏輯回歸

你可以將邏輯回歸視為一個線性方程,它通過非線性函數在二元類之間縮放預測。最後,你得到的是一個預測,無論是多頭還是空頭,以及一個幫助你確定規模的概率。

從sklearn.linear_model 導入LogisticRegressionclf = LogisticRegression().fit(X_backtest, y_backtest, w_backtest)predictions = clf.predict(X_live)probabilities = clf.predict_proba(X_live)[:, 1]決策樹

決策樹使用重要的市場驅動因素,根據驅動因素水平優化交易決策。他們通過尋找有利的偏差(又名概率)來優化交易決策。在二元情況下,你會根據制度(或決策路徑)和預測概率獲得長期和短期預測。

從sklearn.tree 導入DecisionTreeClassifier 作為DTCclf = DTC().fit(X_backtest, y_backtest, w_backtest)predictions = clf.predict(X_live)probabilities = clf.predict_proba(X_live)[:, 1]支持向量機

與線性回歸類似,支持向量機是一種線性算法,但與線性回歸相反,它們尋求以盡可能大的差距分離長期和短期的歷史觀察。這很有用,因為我們想要訓練算法來區分多頭和空頭投注。該算法還產生預測概率,而線性回歸不會。

從sklearn.svm 導入SVCclf = SVC().fit(X_backtest, y_backtest, w_backtest)predictions = clf.predict(X_live)probabilities = clf.predict_proba(X_live)[:, 1]

分層方法的目標是通過集成簡單、多樣化的模型來降低不良預測的強度並放大良好預測的強度。每個簡單、多樣化的模型都有優點和缺點。通過將它們結合起來,我們希望在所有模型都對齊的情況下確定一個位置,從而增加我們的信心。

這種方法是有利的,因為尺寸是大多數人搞砸的地方。如果我們知道市場的走向,但我們的規模不夠大,那麼我們最終還是會賠錢。如果我們不完全了解市場的走向,但我們會根據可能的結果來衡量我們的質押,那麼我們就有更好的機會在市場波動時賺大錢,而在市場不波動時損失更少的錢。總和是正數。

分層方法有利於交易。神經網絡是一類很酷的算法,但它們過於自信,幾乎沒有觀察到。

希望你喜歡。如果你有任何問題,請告訴我。

[1] D. Gillham,《交易股票市場——為什麼大多數交易員會失敗》(2020 年),《財富之內》

[2] A. Rodriguez,深度學習系統:大規模生產的算法、編譯器和處理器(2020 年),Morgan & Claypool

[3] M. Lopez de Prado,金融機器學習進展(2018 年),Wiley

資訊來源:由0x資訊編譯自THECAPTAL。版權歸作者所有,未經許可,不得轉載

Total
0
Shares
Related Posts