基於神經網路的量化交易策略
1. 概述
這篇文件提出了一個利用深度學習的股票量化交易模型。該模型是一個連續的交易模型,它會在所有交易時刻持續計算下一時刻的目標倉位,我們假定市場是沒有摩擦的,因此總是可以立即實現該目標。目標倉位應該是單位持倉收益和風險的一個函式,而單位持倉的收益和風險被一個深度神經網路用來估算。
注:文中的方法皆為原創,未經同意禁止轉載,引用請註明出處。
2。 目標倉位的函式
在無摩擦的金融市場中,一個理性交易者應該僅依據預測的收益和風險去調整倉位。概括地說,如果預期收益為正那麼就持多頭倉位,反之就持空頭倉位。另外,預期收益越高或者風險越低,則目標倉位就越高。
我們用
代表
時刻單位持倉的實際收益,假定對
的預期
服從一個高斯分佈,估得的收益風險比記為
。用
代表目標倉位,下面的公式給出了一個簡單的倉位控制函式:
(1)
交易者應該依據自身風險偏好選擇函式中
的值,當然也可以選擇其他完全不同的函式形式。
3。 估值神經網路
對收益和風險的估計
和
都是雙頭的估值網路
的輸出,即
,其中
是股票的歷史對數價格序列。
的輸入可以只含有歷史價格資訊,也可以加入其他經過處理的量價特徵。
透過使用極大似然法,得到神經網路
的目標訓練函式為:
(2)
要想訓練神經網路
,必須提供足夠多
的值作為訓練標籤。合理計算
的方法應該只會在股票減倉、平倉時結算收益,而不應受到浮動盈虧的影響。給定股票價格的序列
和倉位量序列
,記
,
,那麼一種
(3)
公式(3)表明,只有減倉(
)或平倉(
)時才按照當前價格結算收益,並且平倉以後的價格變動將不再影響之前的收益。可以證明公式(3)也等價於下面的公式:
這是一個遞迴形式的公式,可以用來方便地計算
4。 討論
4.1 迴圈回測
從上文可知,倉位
的計算依靠估值網路
的計算結果,而反過來
又被用來計算
的訓練標籤
。傳統的回測方法只能簡單地篩選策略,而本文的方法會把回測資料迴圈用作訓練資料,是一種強化學習方法。
4.2 價格趨勢
文中給出的交易策略沒有涉及對價格趨勢的直接預測。此外,這還是一個連續的交易策略,一般不會給出傳統意義上的進場點和出場點。
4.3 強化學習
文中給出的交易策略與現有強化學習有一些相似點,比如,深度Q學習中也使用了估值網路,策略梯度演算法中也有對不確定度的估測。但是,本文的策略還是有別於其他現有強化學習演算法。
4.4 交易者偏好
本文的兩個公式(1)、(3)都可以根據交易者自己的偏好進行定製,以適應不同的風險偏好、交易頻次、交易費用、交易限制,等等。