簡體   English   中英

使用人工神經網絡進行長期預測

[英]Long term prediction using Artificial Neural Network

我正在做一個使用ANN預測股票價格的項目。 我已經使用過去7年的數據對系統進行了培訓,並且可以很好地預測一天的數據。 現在我要預測未來7天的股價。

我的想法是使用第1天來預測第2天數據,使用第2天和第1天的預測數據來預測第3天的數據,依此類推。 但是它不能正常工作。

我曾訓練過ANN使用開盤價,一天的最高價和最低價來預測收盤價。

預測未來7天的數據的想法是什么?

Maruf,如果您有可靠的ANN預報器,可提前1天,請與我聯系以進一步討論! 大聲笑

開個玩笑。 神經網絡和其他非線性預測器就是預測器。 您正在處理的數據(股價數據)在很大程度上是隨機的。 如果您不相信我,請嘗試使用以下偽代碼生成隨機游走並將其繪制在屏幕上:

let min = -0.5
let max = +0.5
let bias = 0.01
let random = rand(min, max)
y[i] = y[i-1] + random + bias

稍微調整偏差(從-0.01到0.01),您將得到一系列看起來像股價趨勢的系列。 這樣做的原因是,在任何潛在趨勢中,做出決策的人都不比擲硬幣更好。 您知道平均交易員55%的時間正確嗎? 這就是他所需要的...

現在,如果數據在很大程度上是隨機的,則很難預測。 您正在尋找噪聲很大的信號。 每天您都在嘗試預測自己的預測變得不那么准確。

請問-您將什么輸入ANN以獲得提前1天的預測? 例如,如果您使用每日股價加上其他衍生因素(例如變化率,數量,差異等)來獲得准確的1天預測,則可能會發現您可以通過以下方式獲得准確的1周預測:將以上所有內容替換為每周庫存數據。

編輯:

其次,您正在做什么以測試預測變量的准確性? 為了擴大mikera的答案,我建議采取以下策略。

給定一個1000天的數據窗口,請選擇其中的800天並訓練您的ANN。 現在預測未來的一天。 將預測方向(上,下)與預測收盤價(差異%)進行比較,以衡量該結果的准確性。 現在,將窗口向右滑動1天。 重新訓練ANN並執行1天的預測,並注意結果。

如果您在剩下的200天中繼續進行此操作,那么有多少比例的結果獲得了正確的方向(上,下)? 在實際預期收盤價的10%以內,結果的比例是多少? 如果您的ANN每天都在營業時間關閉並在第二天結束時關閉訂單,那么它可以賺多少錢? 當然要考慮滑點和交易費...

這將使您了解系統的准確性和價值。

如果您可以有效地預測甚至提前一天,那么您就做得很好-常見問題是:

  • 您確定自己並不過分嗎,例如學會精確地復制訓練數據的特征? 如果您還沒有嘗試過,那么我強烈建議您在與其他80%的數據進行訓練之后,對您的20%的數據進行ANN測試,以確保這一點。
  • 您還在學習預測絕對價格值或增量嗎? 如果是前者,那么到目前為止,第二天收盤價的最佳預測指標是今天的收盤價(因為數據具有如此大的序列相關性),這可能很適合您。 通過犯此錯誤來獲得99%+的R平方擬合並不少見....

假設您尚未陷入上述陷阱之一,那么進行多天的預測的方法就是簡單地為未來的每一天分別設置單獨的預測變量。 將第二天的預測提供給第二天等等並沒有太多附加價值。(因為您的輸入數據中沒有任何新信息),但是您可以嘗試嘗試(不會造成任何傷害) ,可以通過提供有用的特征檢測器等來加快學習速度)。

此外,您可能會期望不確定性/進一步預測的差異會更大(因為從現在到現在,不確定的股票價格會有更多的日子出現)。 因此,值得嘗試預測統計數據的差異以及均值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM