我的股票数据是用多项式函数生成的,所以肯定是有模式的。
问题1:noise无效,noise是加在action上的,有些action是无效的,比如持有0股,生成的action是卖200股,此时noise加到action上变成卖190或210,还是无效的action,导致探索失败。stable baseline不支持在参数空间加noise
问题2:对reward重塑,与action的无效程度相关。训练很快陷入死胡同,输出无效的action,我怀疑与state切换固定有关,虽然reward变了,但是下一个state没变,对reward进行了惩罚,没对cash进行惩罚。我对cash惩罚,下一个state变了,发现又不收敛。
问题3:重新设计action,表示每只股票的总价值在总资产中的占比,据此分析是买还是卖。这个没有非法action了,但是训练很难收敛,收敛后的AI也像个傻子,跑不出好结果。
有朋友做过类似的工作或碰到类似的问题吗?有什么好的解决方案吗?我后面准备试试PPO和DQN