最完美的程序化系统带你创造10年稳赢
返回首页
量化投资,高频交易,程序化交易学习必备~900+个(200G+)培训视频持续更新中!!!

强化学习和神经网络如何在程序化交易领域正确应用(中)

时间:2017-12-15 08:56来源:未知 作者:一个量化投资者 点击:
在上一部分文章中的我们主要对循环强化学习的概念有了一个了解,以及说明为什么要采用接强化学习和循环强化学习。今天这部分主要来带大家了解一下如何定义一个agent以及如何进行程序化交易。 为了确保智能交易agents是可行的,我们需要将这种交易方法应用到
在上一部分文章中的我们主要对循环强化学习的概念有了一个了解,以及说明为什么要采用接强化学习和循环强化学习。今天这部分主要来带大家了解一下如何定义一个agent以及如何进行程序化交易
强化学习和神经网络如何在程序化交易领域正确应用(中)
为了确保智能交易agents是可行的,我们需要将这种交易方法应用到复杂的环境中,所以我们首先要将智能交易agents应用到一个固定的证券交易上。我们的目标是寻找最大值和最小值,因此我们需要定义一颗客观的函数让agents明确知道我们的目标。现在通常使用夏普比率来定义投资的收益。
夏普比率:
强化学习和神经网络如何在自动交易领域正确应用(中)
在以上的等式中,E[]代表期望值,Rt则表示t交易时间段内的投资回报率。比较高的夏普比率同时代表着比较高的回报率。我们都知道每个交易都可能会有采取多头,空头,观望三种状态。当出现多头的位置时我们要进行购买操作,当出现空头的位置时,我们要执行卖出的操作。
下面我们来定义一个简单的交易者函数:
 
Ft∈[-1,0,1],这个函数表示时间t的交易位置。那么就有下面几种情况:
1.当Ft> 0时,多头仓位。多头仓位安全位置我们要执行购买操作,交易者以价格Pt购入证券,并希望价格在t + 1期间上涨。
 
2.当是Ft<0的时候,空头仓位,交易者以价格Pt卖空,并希望价格在t + 1期间下跌,这样交易者可以买回来,实现做空。因此我们可以很直观地使用Tanh函数来代表这个设置,它的值是(-1,1)。
强化学习和神经网络如何在自动交易领域正确应用(中)
在这个函数中,我们可以知道xt是序列是[rt -m+1,...rt ] 返回值是rt= Pt-Pt-1所以上述公式并不完整。接下来我们在最后收益中加入折扣率U和阀值b,并以此回归。这样就可以组织agents频繁的更改交易头寸,避免产生过多的程序化交易成本。然后我们重写方程式:
强化学习和神经网络如何在自动交易领域正确应用(中)
当我们以C价格入手S数时,在时刻t的回报就写成下面这样:
强化学习和神经网络如何在自动交易领域正确应用(中)
当全部元素都建立起来后,我们就可以利用梯度提升或其他方式来训练我们的程序化交易模型,目的是最大化夏普比率ST。找到最大化的ST超参数和权重:
强化学习和神经网络如何在自动交易领域正确应用(中)
其中t时刻的全部权重我们用wt来表示,最大化的收益用St来表示。因此为了求解出夏普比率的最大化,我们要用梯度上升法让St最大。类似于RNN,权重w通过时间序列调整。因此此次训练我们采用沿时间反向传播的方式进行训练(BPTT):
强化学习和神经网络如何在自动交易领域正确应用(中)
我们将上面函数等式中的偏微展开后如下:
强化学习和神经网络如何在自动交易领域正确应用(中)
dFt/dw是根据所有先前的值得出的,是循环的。虽然它会存在减缓梯度上升幅度的问题。但是依据现如今的计算能力,这样的代价还是可以接受的。我们使用反向传播时间”(BPTT)来计算和优化序列总导数。或者我们可以通过之前的公式(6)中获得的回报Rt来更新公式(6):
强化学习和神经网络如何在自动交易领域正确应用(中)
我们在实验中描述了梯度上升学习法的权重衰减变量,以验证性能。使用权重衰减(5)变为:
强化学习和神经网络如何在自动交易领域正确应用(中)
由于夏普比率使用方差作为风险度量并不区分上下风险,所以对大多数投资者来说它能提供风险排名,但是并不能提高投资者的风险意识。
 
文章来源:“Agent Inspired Trading Using Recurrent Reinforcement Learning and LSTM Neural Networks” by David W. Lu
(责任编辑:admin)
量化投资,高频交易,程序化交易学习必备~900+个(200G+)培训视频持续更新中!!!
------分隔线----------------------------
云量化商城
如果您会开发策略,请进!大量项目等待与您合作!
推荐内容
量化投资培训