### 使用强化学习进行股票交易
▪ 实现自己的OpenAI Gym环境来模拟股票市场。
▪ 用第6章和第8章中的DQN方法来训练智能体进行股票交易以最大化利润
问题是:是否可以从RL角度看待这个问题?假设我们对市场有一些观察,并想做出一个决定:购买、出售或等待。如果在价格上涨之前买入,利润将为正;否则,将获得负奖励。我们要尝试的是获得尽可能多的利润。这样市场交易和RL之间的联系就非常明显了。
**观察将包括以下信息:**
▪ N个过去的bar,每个都有开盘价、最高价、最低价和收盘价。
▪ 表明该股票是在一段时间前购买的标识(同一时间只可能有一份股票被购买)。
▪ 根据当前价位(所买股票)计算的收益或损失。
智能体每一步(每个分钟bar)可以执行下面动作之一:
▪ 什么也不做:跳过此bar,不执行任何动作。
▪ 买入一支股票:如果智能体已经持有,则不会再购买;否则,支付佣金(通常是当前价格的一个小百分比)。
▪ 平仓:如果之前没有购买股票,则不会发生任何事情;否则,支付交易佣金。
**环境的构造函数接受许多参数以调整环境的行为和观察表示**:
▪ prices:作为字典包含一个或多个机构的一支或多支股票价格,其中键是机构的名称,值是容器对象data.Prices,保存价格数据数组。
▪ bars_count:在观察中经历的bar,默认情况下,为10个bar。
▪ commission:在买卖股票时必须支付给经纪人的股票价