1、首先看一下 类的结构
2、主要看 step ,_sell_stock, _buy_stock, _initiate_state, _update_sate 这几个函数
3、step 是更新 return self.state, self.reward, self.terminal, {}
4、通过查看_sell_stock和_buy_stock 发现 这个策略是不做空的 只做多
5、_initiate_state 查看这个函数发现 初始state长下面这样
state = ([self.initial_amount]
+ self.data.close.values.tolist()
+ [0] * self.stock_dim
+ sum([self.data[tech].values.tolist() for tech in self.tech_indicator_list],
[],)
)
# state[0] 是账户净值
# state[1:31] 是30只股票的收盘价
# state[31:61] 是30只股票的持仓情况
# state[61:] 是30只股票的技术指标 大概450个
# state 长度 在 511
6、actions # actions 是长度30的list
actions = actions * self.hmax
actions = actions.astype(int)
# actions 转换成1-100的整数
7、下面想到哪里写哪里 可以准备写自己的 交易环境了
8、通过盈透api 下载30mins 周期 ES 和 一些期货的历史数据 准备利用 env agent 训练模型