使用 RNN,我们如何预测货币价格在给定时间段内达到特定价格?

问题描述

我正在研究一个比特币价格预测器,我意识到在给定时间预测一个确切的价格是没有意义的。 在预测某种货币价格时,我们想要的可以概括为以下问题:“在特定时间范围内价格达到 X 值的概率是多少?”

我很难将这种想法整合到 RNN/LSTM 架构中。我的第一个想法是构建一个自定义损失函数,将 RNN 的输出(通常是预测价格)与第二天的实际最低价和最高价进行比较,然后如果 lower_price RNN 输出应该被“分类”为正确的(损失 = 0),否则损失将 > 0。但我相信已经存在针对此类问题的更好解决方案。 >

有什么想法吗?

谢谢

解决方法

有许多不同的方法可以完成您的要求。但是我认为您正在寻找的是 quantile loss function

def tilted_loss(q,y,f):
    e = (y-f)
    return K.mean(K.maximum(q*e,(q-1)*e),axis=-1)

Notebook with full source code。或者,如果您更喜欢 PyTorch,您可以找到一个 implementation here