iT邦幫忙

0

LSTM 股價預測序列問題

  • 分享至 

  • xImage

大家好,最近初學神經網路,目前正在練習用LSTM做股價預測,遇到了一些問題想請教大家。

手邊的資料集是某股票2010年至2020年的股價資料(新聞標題情感分數、開盤價、成交價、最高價、最低價、震幅、成交量),正規化後如下:
https://ithelp.ithome.com.tw/upload/images/20210602/20138041UFC1OFSfWG.png

想要用過去30天的資料預測第31天的震幅,以2010~2018年做訓練集,2019~2020年做驗證,在製造訓練集序列時遇到了錯誤,請問該如何修改呢?

n = 30
feature_names = list(norm_data.drop('Change%', axis=1).columns)
X = []
y = []
indexes = []
norm_data_x = norm_data[feature_names]
for i in tqdm.tqdm_notebook(range(0,len(norm_data)-n)): 
  X.append(norm_data_x.iloc[i:i+n]. values) 
  y.append(norm_data['Change%'].iloc[i+n-1])
  indexes.append(norm_data.index[i+n-1]) 
X_train = X[indexes < datetime.datetime(2018,1,1)]
y_train = y[indexes < datetime.datetime(2018,1,1)]

TypeError: '<' not supported between instances of 'list' and 'datetime.datetime'

另外想再詢問,若我想用30天資料預測第31-33天的收盤價,這算是輸出入長度不同的多對多序列嗎?該如何改寫呢?謝謝

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友回答

立即登入回答