




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、正文目錄 HYPERLINK l _TOC_250036 研究背景 5 HYPERLINK l _TOC_250035 生成對抗網絡概述 6 HYPERLINK l _TOC_250034 GAN 的通俗理解 6 HYPERLINK l _TOC_250033 GAN 的公式理解 6 HYPERLINK l _TOC_250032 GAN 的訓練算法 7 HYPERLINK l _TOC_250031 GAN 的理論證明 8 HYPERLINK l _TOC_250030 KL 散度和 JS 散度 8 HYPERLINK l _TOC_250029 GAN 的全局最優解 8 HYPERLINK
2、 l _TOC_250028 GAN 的收斂性 10 HYPERLINK l _TOC_250027 GAN 的優勢和劣勢 10 HYPERLINK l _TOC_250026 方法 11 HYPERLINK l _TOC_250025 訓練數據 11 HYPERLINK l _TOC_250024 網絡構建 11 HYPERLINK l _TOC_250023 評價指標 12 HYPERLINK l _TOC_250022 自相關性 13 HYPERLINK l _TOC_250021 厚尾分布 13 HYPERLINK l _TOC_250020 波動率聚集 13 HYPERLINK l
3、_TOC_250019 杠桿效應 13 HYPERLINK l _TOC_250018 粗細波動率相關 13 HYPERLINK l _TOC_250017 盈虧不對稱性 14 HYPERLINK l _TOC_250016 對照組 14 HYPERLINK l _TOC_250015 結果 15 HYPERLINK l _TOC_250014 上證綜指日頻序列 15 HYPERLINK l _TOC_250013 真假序列展示 15 HYPERLINK l _TOC_250012 對照組假序列展示 16 HYPERLINK l _TOC_250011 評價指標對比 16 HYPERLINK
4、l _TOC_250010 隨機數種子點敏感性分析 19 HYPERLINK l _TOC_250009 其它序列評價指標對比 20 HYPERLINK l _TOC_250008 應用試舉 21 HYPERLINK l _TOC_250007 GAN 應用漫談 21 HYPERLINK l _TOC_250006 提供更豐富的訓練樣本 21 HYPERLINK l _TOC_250005 檢驗量化策略過擬合程度 21 HYPERLINK l _TOC_250004 預測未來 21 HYPERLINK l _TOC_250003 案例:雙均線擇時策略參數選擇 21 HYPERLINK l _T
5、OC_250002 總結與討論 24 HYPERLINK l _TOC_250001 參考文獻 25 HYPERLINK l _TOC_250000 風險提示 25附錄 26滬深 300 日頻序列 26真假序列展示 26評價指標對比 27標普 500 日頻序列 29真假序列展示 29評價指標對比 30標普 500 月頻序列 32真假序列展示 32評價指標對比 33圖表目錄圖表 1: GAN 及其變式生成的人臉 6圖表 2: GAN 訓練算法的偽代碼 7圖表 3: GAN 的優勢和劣勢 10圖表 4: GAN 訓練數據 11圖表 5: GAN 訓練集滾動采樣方法 11圖表 6: 生成器 G 網絡
6、構建 11圖表 7: 判別器 D 網絡構建 12圖表 8: GAN 訓練通用參數 12圖表 9: 生成虛假序列評價指標 12圖表 10: 評價指標參數取值 14圖表 11: 上證綜指日頻序列:GAN 損失函數 15圖表 12: 上證綜指日頻序列:真實價格序列(2004/12/312020/04/30) 15圖表 13: 上證綜指日頻序列:GAN 生成價格序列范例 1 15圖表 14: 上證綜指日頻序列:GAN 生成價格序列范例 2 15圖表 15: 上證綜指日頻序列:Bootstrap 生成價格序列范例 1 16圖表 16: 上證綜指日頻序列:Bootstrap 生成價格序列范例 2 16圖表
7、 17: 上證綜指日頻序列:GARCH 生成價格序列范例 1 16圖表 18: 上證綜指日頻序列:GARCH 生成價格序列范例 2 16圖表 19: 上證綜指日頻序列:真實序列 6 項評價指標 17圖表 20: 上證綜指日頻序列:GAN 生成序列 6 項評價指標 17圖表 21: 上證綜指日頻序列:Bootstrap 生成序列 6 項評價指標 18圖表 22: 上證綜指日頻序列:GARCH 生成序列 6 項評價指標 18圖表 23: 上證綜指日頻序列:各種生成方法 6 項評價指標對比 19圖表 24: 上證綜指日頻序列:GAN 模型不同隨機數種子點 6 項評價指標對比 19圖表 25: 滬深
8、300 日頻序列:各種生成方法 6 項評價指標對比 20圖表 26: 標普 500 日頻序列:各種生成方法 6 項評價指標對比 20圖表 27: 標普 500 月頻序列:各種生成方法 6 項評價指標對比 20圖表 28: 兩組雙均線擇時參數在真實數據的回測結果(2004/12/312020/04/30) 22圖表 29: 兩組雙均線擇時參數在虛假數據 1 的回測結果 22圖表 30: 兩組雙均線擇時參數在虛假數據 2 的回測結果 22圖表 31: 兩組雙均線擇時參數在 1000 組虛假數據的年化超額收益分布 22圖表 32: 兩組雙均線擇時參數在 1000 組虛假數據的信息比率分布 22圖表
9、33: 各種生成方法 6 項評價指標對比 24圖表 34: 滬深 300 日頻序列:GAN 損失函數 26圖表 35: 滬深 300 日頻序列:真實價格序列(2004/12/312020/04/30) 26圖表 36: 滬深 300 日頻序列:GAN 生成價格序列范例 1 26圖表 37: 滬深 300 日頻序列:GAN 生成價格序列范例 2 26圖表 38: 滬深 300 日頻序列:真實序列 6 項評價指標 27圖表 39: 滬深 300 日頻序列:GAN 生成序列 6 項評價指標 27圖表 40: 滬深 300 日頻序列:Bootstrap 生成序列 6 項評價指標 28圖表 41: 滬深
10、 300 日頻序列:GARCH 生成序列 6 項評價指標 28圖表 42: 標普 500 日頻序列:GAN 損失函數 29圖表 43: 標普 500 日頻序列:真實價格序列(1990/12/312020/04/30) 29圖表 44: 標普 500 日頻序列:GAN 生成價格序列范例 1 29圖表 45: 標普 500 日頻序列:GAN 生成價格序列范例 2 29圖表 46: 標普 500 日頻序列:真實序列 6 項評價指標 30圖表 47: 標普 500 日頻序列:GAN 生成序列 6 項評價指標 30圖表 48: 標普 500 日頻序列:Bootstrap 生成序列 6 項評價指標 31圖
11、表 49: 標普 500 日頻序列:GARCH 生成序列 6 項評價指標 31圖表 50: 標普 500 月頻序列:GAN 損失函數 32圖表 51: 標普 500 月頻序列:真實價格序列(1927/12/302020/04/30) 32圖表 52: 標普 500 月頻序列:GAN 生成價格序列范例 1 32圖表 53: 標普 500 月頻序列:GAN 生成價格序列范例 2 32圖表 54: 標普 500 月頻序列:真實序列 6 項評價指標 33圖表 55: 標普 500 月頻序列:GAN 生成序列 6 項評價指標 33圖表 56: 標普 500 月頻序列:Bootstrap 生成序列 6 項
12、評價指標 34圖表 57: 標普 500 月頻序列:GARCH 生成序列 6 項評價指標 34研究背景自本文開始,我們將開啟一段嶄新而激動人心的研究旅程,我們將探索各類生成對抗網絡(Generative Adversarial Networks,以下簡稱 GAN)及其在量化投資中的應用。人類期待的“人工智能”應具備何種層次的智能?人工智能已經能夠準確無誤地識別圖像、識別語音、翻譯外語,能夠在圍棋、德撲、電子游戲、麻將賽場擊敗人類;未來或許可以協助醫生診斷病患,可以指導投資者做出決策然而,智慧的底色不應只有冷酷、精準、完美無缺,應當還有熱情、創造、詩意和浪漫。人工智能是否可能繪制非凡的畫作、譜寫
13、動人的音樂、書寫令人一唱三嘆的詩篇呢?當我們談及人工智能創造力的可能性時,一個古老而嶄新的研究領域生成模型正徐徐展開。生成模型(Generative Models)和判別模型(Discriminative Models)同屬于人工智能的兩大分支。華泰金工人工智能系列從 2017 年 6 月至今的 30 篇深度研究報告,基本都是探討判別模型。事實上,在 GAN 成為“網紅”算法前,即使在學術領域,生成模型相比判別模型也處于弱勢地位。以人臉識別為例,判別模型的目標是識別出面部圖像對應的身份信息,而生成模型的目標是生成一張逼真的人臉。判別模型往往直接針對識別身份、識別圖像、篩選優質股票等實際需求;生
14、成人臉、生成圖片、生成股票序列往往顯得脫離實際,生成模型看似無用武之地。隨著 2014 年 Ian Goodfellow 等關于 GAN 的論文橫空出世,生成模型這一古老的研究領域重新煥發生機。GAN 是具有代表性的一種生成模型,以其獨特的訓練方式以及良好的生成效果,受到研究者的喜愛。此后,研究者陸續開發出數十種 GAN 的變式,并應用于各類場景。從莫奈風格繪畫生成,到黑白照片重新上色,從無人駕駛訓練,到醫學影像生成,甚至服裝款式設計,人類的想象力令 GAN 在各行各業大放異彩。在投資領域,也不乏有相關學術研究探討經濟指標或金融資產時間序列的生成,但整體仍處于起步階段。本文是生成對抗網絡系列研
15、究的第一篇。我們將從 Goodfellow 等(2014)的原版 GAN開始,介紹相關概念及算法,并展望 GAN 在量化投資領域的潛在應用,例如模型參數的過擬合檢驗。我們希望通過本系列向讀者展示 GAN 的獨特魅力,同時為投資實踐提供可能的參考。生成對抗網絡概述GAN 的通俗理解GAN 是具有代表性的一種生成模型。生成模型的目標是基于真實數據,生成“以假亂真”的數據,比如生成人臉、生成圖片、生成音樂、生成時間序列等。在量化投資領域,我們希望生成經濟指標或金融資產的時間序列。相比于其它生成模型,GAN 最具特色之處在于它的訓練方式,“以子之矛,攻子之盾”。一個 GAN 包含兩個網絡:生成器(Ge
16、nerator,簡記為 G)和判別器(Discriminator,簡記為 D)。假設生成器 G 的目標是生成盡可能逼真的繪畫贗品,那么判別器 D 的目標就是盡可能將真品和 G 生成的贗品區分開。GAN 的訓練蘊含了博弈的思想,采取交替訓練的方式,每輪迭代先訓練 D,再訓練 G,“道高一尺,魔高一丈”,兩個網絡的能力同時提升。直到達到納什均衡(Nash Equilibrium)的理想狀態,此時判別器 D“明察秋毫”,而生成器 G 生成贗品的技藝同樣“巧奪天工”。圖表1: GAN 及其變式生成的人臉資料來源:The Malicious Use of Artificial Intelligence,
17、 GAN 的公式理解在 Goodfellow 等(2014)論文中,原版 GAN 的公式如下:min max (, ) = ()log () + ()log(1 ()上式理解起來并不輕松。其中:x 為真實數據的隨機向量,各元素服從某個特定的分布 pdata(x)。假設真實數據為 2828 的灰度圖像,那么 x 可以為 784 維向量;假設真實數據為長度 252 的時間序列,那么 x 為 252 維向量。z 為噪音向量,也稱為隱變量(Latent Variable),各元素服從分布 pz(z),一般將 z 的各元素設為獨立同分布,且服從標準正態分布或0,1的均勻分布。噪音的維度可自由定義,例如將
18、 z 設為 100 維向量。xpdata(x)相當于真實數據的一次采樣,每次采樣得到一條真實樣本,例如一張真實圖像、一條真實股價序列;zpz(z)相當于噪音數據的一次采樣。生成器 G 的結構為神經網絡,神經網絡本質上是某個從輸入到輸出的非線性映射。G的輸入為噪音向量 z,輸出為虛假數據 G(z),G(z)的維數和真實數據 x 相同。假設真實數據為長度 252 的時間序列,x 為 252 維向量,那么 G(z)也是 252 維向量。判別器 D 的結構為神經網絡。D 的輸入為真實數據 x 或虛假數據 G(z),輸出為 01之間的實數,相當于判別器對樣本的真假判斷。輸出越接近 1 代表判別器認為輸入
19、數據偏向于真樣本,越接近 0 代表判別器認為輸入數據偏向于假樣本。對判別器 D 的輸出取對數 log,如 logD(x)及 log(1-D(G(z),是常見的判別模型損失函數構建方式。對數的作用是將0,1區間內的數映射到(-,0的范圍,以便對其求導而后進行梯度下降優化。Expdata(x)logD(x)代表判別器對真實樣本判斷結果的期望。對于最優判別器 D*,真實樣本判斷結果 D(x)應為 1,logD(x)為 0;若判別器非最優,logD(x)小于 0。換言之,若希望判別器達到最優,Expdata(x)logD(x)應越大越好。類似地,Ezpz(z)log(1-D(G(z)代表判別器對虛假樣
20、本判斷結果的期望。對于最優判別器 D*,虛假樣本判斷結果 D(G(z)應為 0,1-D(G(z)為 1,log(1-D(G(z)為 0;若判別器非最優, log(1-D(G(z) 小于 0 。 換言之, 若希望判別器達到最優, Ezpz(z)log(1-D(G(z)應越大越好。V(D,G)為上述兩項的加總,稱為價值函數(Value Function),相當于目標函數,本質是交叉熵損失函數。判別器真假識別能力越強,V(D,G)應越大。GAN 求解的是 minimax(極小化極大)問題。第一步,我們希望尋找最優判別器 D*,使得優化目標 V(D,G)取最大值,即 maxDV(D,G)部分,第一步的
21、邏輯參見上一點。關鍵在于第二步,我們希望繼續尋找最優生成器 G*,使得最優判別器下的目標函數取最小值,即生成的樣本令判別器表現越差越好,即 minGmaxDV(D,G)部分,博弈的思想正體現在此處。GAN 的訓練算法在實際操作中,對上一節理想的 minimax 問題進行以下幾處改進:并非如公式所寫,先最優化 D,再最優化 G。而是交替優化,每輪迭代中,先優化 D,再保持 D 不變,優化 G,如此迭代多次。需要平衡 D 和 G 的訓練次數。G 的目標函數里包含 D,訓練出優秀 G 的前提是訓練出優秀的 D,因此一般在每輪迭代中,先訓練 k 次 D(k 為大于等于 1 的整數),再訓練一次 G。訓
22、練 G 時,一般固定 D,此時目標函數中的 Expdata(x)logD(x)相當于常數,可以忽略,因此 G 的優化目標變成原始目標函數的后一項,即最小化 Ezpz(z)log(1-D(G(z)。在訓練早期階段,G 的生成能力較弱,D 能輕松分辨出真假樣本,此時 log(1-D(G(z)接近 0,其導數在 0 附近變化較小,不利于梯度下降優化。一般會將 G 的優化目標從最小化 Ezpz(z)log(1-D(G(z)改為最大化 Ezpz(z)logD(G(z),便于早期學習。GAN 訓練算法的偽代碼如下所示。圖表2: GAN 訓練算法的偽代碼輸入:迭代次數 T,每輪迭代判別器 D 訓練次數 K,
23、小批量(minibatch)樣本數量 m隨機初始化 D 網絡參數 d 和 G 網絡參數 gfor t 1 to T do# 訓練判別器 Dfor k 1 to K do# 采集小批量樣本從標準正態分布 pg(z)中采集m 條樣本z(m)從訓練集 pdata(x)中采集 m 條樣本x(m)使用隨機梯度上升更新判別器 D,梯度為:1()()end# 訓練生成器 G =1log () + log(1 ()從標準正態分布 pg(z)中采集 m 條樣本z(m)使用隨機梯度上升更新生成器 G,梯度為:1()end輸出:生成器 G log(1 (=1)資料來源:Generative Adversarial
24、Nets, GAN 的理論證明對于大部分GAN 的使用者,分別從通俗意義、minimax 公式和訓練算法三個層次理解GAN已經足夠。GAN 的理論證明部分難度較大,往往被大家忽視。然而理解 GAN 的理論證明,有助于理解 GAN 的一系列變式,以及 GAN 與其它生成模型的關系。故本節參考 Ian Goodfellow 等(2014)原作以及 Scott Rome 的詳細推導筆記( HYPERLINK http:/srome.github.io/ http:/srome.github.io),展示 GAN 的理論證明。如前所述,真實數據 x 服從某個特定的聯合分布 pdata(x)。一個樸素的
25、想法是:我們希望生成器 G 學習一個分布 pg,使得 pgpdata,即兩個分布的“距離”越接近越好。由此產生三個問題:如何度量兩個分布的“距離”?pgpdata 是否為生成器 G 的全局最優解?前述的訓練算法能否使得 pg 收斂于 pdata?KL 散度和 JS 散度KL 散度(Kullback-Leibler Divergence)和 JS 散度(Jensen-Shannon Divergence)是理解 GAN 理論證明的兩個先導概念,用來刻畫兩個分布的“距離”。對于兩個連續的概率分布 p 和 q,KL 散度定義為: ( )()(|) = log () KL 散度具有非負性。當兩個分布完
26、全相同,對于任意 x,有 p(x)q(x),此時 log(p(x)/q(x)為 0,KL 散度為 0。當兩個分布不完全相同,根據吉布斯不等式(Gibbs Inequality)可證明 KL 散度為正數。注意到 KL 散度不滿足對稱性,即 KL(p|q)KL(q|p)。JS 散度解決了 KL 散度不對稱的問題。JS 散度定義為:1 + 1 + (|) = 2 (|2 ) + 2 (|2 )JS 散度為兩項 KL 散度之和。當 p 和 q 兩個分布完全相同,兩項 KL 散度均為 0,JS 散度也為 0。JS 散度同樣滿足非負性。JS 散度和 KL 散度的不同之處在于:1)KL 散度無上界,JS 散
27、度存在上界 log2,JS 散度上界的證明過程可參考原始論文(Lin,1991);2) KL 散度不滿足對稱性,而 JS 散度滿足對稱性,JS(p|q)JS(q|p)。總的來看,KL 散度和 JS 散度反映了兩個分布的“距離”,當兩個分布完全相同,KL 散度和 JS 散度取最小值 0;兩個分布差異越大,KL 散度和 JS 散度也越大。GAN 的全局最優解本節我們證明 pgpdata 是生成器 G 的全局最優解。證明又可以細分為三步:證明 D 的最優解形式;將 minimax 問題中 G 的目標函數重寫為另一種形式 C(G);證明 pgpdata 是 C(G)取全局最小值的充要條件。首先,對于任
28、意給定的 G,D 的訓練目標是最大化價值函數 V(G,D),而 V(G,D) 可寫為在x 上的積分,也就是將數學期望展開為積分形式:(, ) = () log() + () log(1 () 考察上式的后一半,令 xG(z)進行換元,再將前后兩半合并,得到:(, ) = () log() + () log(1 () 在給定 x 和 G 的前提下,pdata(x)和 pg(x)可視作常數,記作 a 和 b,那么上式可以寫作:() = log() + log(1 )上式兩邊對 D 求導,得到:()11= 1 當目標函數 V 取最大值,導數為 0,此時判別式 D 為最優解 D*,即:解得:0 = 1
29、 = + 因此,對于任意給定的 G,D 的最優解有如下形式: () = ()() + ()此時,minimax 問題中 G 的目標函數可重寫為 C(G)的形式:() = max (, ) = ()log () + ()log(1 ()= ()log () + ()log(1 ()= log() + log()()() + ()()() + ()當 pgpdata 時,易知 DG*(x)1/2,代入上式得到 C(G)log(1/2)log(1/2)log4。對于任意 pg,首先將新目標函數 C(G)的期望改寫成積分形式:() = () log ( () + () log ()() + ()()
30、+ ()接下來是一個簡單的代數技巧,對積分內的兩項均同時減去和加上 log2:() = () log 2 + log ( () + log 2() + ()+ () log 2 + log () + log 2 移項整理可得 C(G)是下列三項積分項之和:() + ()() = log 2 () + () + () log () () + ()/2+ () log() () + ()/2由概率密度的定義可知,上式的第一項積分項為常數: log 2 () + () = 2 log 2 = log 4由此前的先導概念可知,上式的后兩項積分項正好等價于 KL 散度: () log () = (| +
31、 )() + ()/22 () log() = ( | + )() + ()/22再由此前的先導概念可知,上述兩式相加正好等價于 JS 散度: + + (|) + ( ()|) = 2(| )22將各項積分項合并,最終得到生成器 G 目標函數的最終形式:() = log 4 + 2(|)根據 JS 散度概念,JS 散度為非負數,當且僅當 pgpdata 時,JS 散度取最小值 0,此時 C(G)取全局最小值log4,因此 pgpdata 是生成器 G 全局最優解的充要條件,證明完畢。GAN 的收斂性Goodfellow 等(2014)原作證明,如果 G 和 D 有足夠的學習能力,那么給定 G,
32、D 可以達到其最優解,并且 pg 可以通過前述的訓練算法對下式進行優化:()log () + ()log(1 ()使得 pg 收斂于 pdata。事實上,原作中對于這部分證明的著墨不多,也缺少相關參考資料,我們暫不展開討論。對 GAN 的理論證明做簡要小結:GAN 的訓練目標是最小化生成數據分布 pg 和真實數據分布 pdata 的 JS 散度,而該訓練目標可以通過 G 和 D 交替訓練結合梯度下降實現。GAN 的優勢和劣勢圖表3: GAN 的優勢和劣勢資料來源:Generative Adversarial Nets, GAN 的優勢包括以下幾點:生成數據質量更好。相比于其它生成模型,GAN
33、生成的數據質量一般更好,尤其對于圖像而言。學習過程更簡單。部分傳統生成模型基于馬爾可夫鏈,GAN 避免了馬爾可夫鏈的學習機制,因此 GAN 所依賴的假設較少,學習過程也相對簡單,僅依賴梯度下降。能夠與深度學習結合。只要是可微分函數都能用于 D 和 G,因此 GAN 能夠與各種形式的深度神經網絡結合,從而搭上近十年深度學習迅猛發展的“順風車”,快速應用于已被深度學習開墾過的各個領域。GAN 的劣勢包括以下幾點:黑箱問題。生成器 G 是噪聲到生成數據的映射,通常采用深度神經網絡,神經網絡一般意義上為黑箱模型,可解釋性較差。訓練不收斂問題。一般的神經網絡模型,只需觀察驗證集損失函數隨迭代次數是否收斂
34、,即可判斷是否完成訓練。而 GAN 的生成器 G 和判別器 D 始終處于博弈狀態,兩者的損失函數此消彼長,不存在收斂狀態,因此無法根據損失函數判斷是否完成訓練。G 和 D 訓練不同步問題。生成器 G 和判別器 D 需要同步訓練,如果訓練進度不匹配,也會出現問題。例如,如果 D 訓練不夠,始終維持在很弱的水平,那么 G 也很難提高。實際操作中,每輪迭代通常訓練多次 D 和一次 G,目的就是為了盡快提升 D 的水平。模式崩潰(Mode Collapse)問題。假設我們訓練一個 GAN 模型生成 09 的手寫數字,生成器 G 的一個“投機取巧”方法是,只學習其中某個數字的生成方式,這樣生成數據足以“
35、騙過”判別器 D,但這樣的 G 并非我們想得到的。針對 GAN 的缺陷,研究者提出諸多訓練技巧以及 GAN 的變式,這些技巧和變式值得在未來做進一步介紹,本文暫不展開。方法在量化投資領域,使用 GAN 的目標是學習真實數據,生成“以假亂真”的資產收益率或價格序列。實現這一目標需要理清三個問題:1. 從哪里學?2. 如何學?3. 如何評價學得好不好?分別對應訓練數據、網絡構建和評價指標。下面我們將分別展示相關細節。訓練數據本文將訓練四組 GAN,分別學習不同市場(A 股或美股)和不同時間頻率(日頻或月頻)的寬基指數。具體標的和訓練集起止日期如下表所示。圖表4: GAN 訓練數據標的頻率起止日期每
36、條樣本長度上證綜指日頻2004/12/312020/04/302520(10 年)滬深 300日頻2004/12/312020/04/302520(10 年)標普 500日頻1990/12/312020/04/302520(10 年)標普 500月頻1927/12/302020/04/30252(21 年)資料來源:Wind,Bloomberg, 每組 GAN 的原始訓練數據為一條完整的時間序列,例如跨度近 30 年的標普 500 指數日頻對數收益率序列(本文所有收益率均指代對數收益率)。實際操作中,每條樣本(向 GAN輸入的真實序列,或者從 GAN 輸出的虛假序列)長度均為小于完整序列長度的
37、固定值。例如我們希望生成長度 10 年的序列,那么每條樣本長度可設為 2520 天。真實樣本可從原始訓練數據滾動采樣得到,如下圖所示。圖表5: GAN 訓練集滾動采樣方法資料來源: 網絡構建GAN 的核心是生成器 G 和判別器 D 兩組神經網絡。我們參考 Takahashi 等(2019)文獻,構建含兩個隱藏層的全連接神經網絡作為生成器 G,含三個卷積層和一個全連接層的卷積神經網絡作為判別器 D。網絡構建參數及對應取值如下面兩張表所示。圖表6: 生成器 G 網絡構建參數取值結構含兩個隱藏層的全連接神經網絡輸入噪音向量(隱變量)pz(z)標準正態分布輸入層神經元數量 100第一隱藏層神經元數量
38、128第一隱藏層激活函數Tanh第二隱藏層神經元數量 2048第二隱藏層激活函數Tanh輸出層神經元數量2520(10 年日頻)或 252(21 年月頻)是否批標準化否損失函數交叉熵優化器Adam優化器參數學習速率 2e-4,=(0.5,0.999)資料來源:Modeling financial time-series with generative adversarial networks, 圖表7: 判別器 D 網絡構建參數取值結構含三個卷積層和一個全連接層的卷積神經網絡輸入層神經元數量2520(10 年日頻)或 252(21 年月頻)第一卷積層卷積核數量 64第二卷積層卷積核數量 128
39、第三卷積層卷積核數量 128卷積核尺寸 9卷積層 Padding 4卷積層激活函數LeakyReLU(0.2)全連接層神經元數量 32全連接層激活函數LeakyReLU(0.2)全連接層 Dropout 比例 0.5輸出層神經元數量 1輸出層激活函數Sigmoid是否批標準化否損失函數交叉熵優化器Adam優化器參數學習速率 1e-5,=(0.1,0.999)Noise labeling:真樣本標簽范圍0.9, 1.1Noise labeling:假樣本標簽范圍0.1, 0.3資料來源:Modeling financial time-series with generative adversar
40、ial networks, 我們對判別器 D 增加一步 Noise labeling 處理,即在標簽中引入噪音,作用是提升神經網絡的魯棒性。真樣本的標簽不再是 1,而是服從0.9, 1.1范圍內的均勻分布;假樣本的標簽不再是 0,而是服從0.1, 0.3范圍內的均勻分布。GAN 迭代次數設為 2000 次,每輪迭代 G 和 D 各訓練 1 次。需要說明的是,GAN 的訓練和一般的神經網絡不同,無法通過觀察驗證集損失確定迭代次數。此處取 2000 的原因,一是和 Takahashi 等(2019)文獻保持一致,二是當迭代次數為 2000 時生成的虛假序列已經較為“逼真”。GAN 的多種變式如WG
41、AN 可更客觀地確定迭代次數,本文暫不展開。圖表8: GAN 訓練通用參數參數取值迭代次數 2000每輪迭代 G 和 D 訓練次數比 1:1Batch size 24資料來源:Modeling financial time-series with generative adversarial networks, 評價指標如何評價生成序列的質量?僅憑肉眼觀察,無法捕捉序列內部的微觀結構。合理的方法是,尋找一些真實金融序列的特有性質,圍繞這些性質設計定量指標,比較真實序列和生成的虛假序列在這些評價指標上是否存在差異。我們參考 Takahashi 等(2019)文獻,考察如下表所示的 6 項評價指標
42、。圖表9: 生成虛假序列評價指標指標名稱計算方法真實序列特點自相關性計算收益率序列 1k 階自相關系數不相關厚尾分布統計收益率分布厚尾分布波動率聚集計算收益率絕對值序列 1k 階自相關系數低階正相關,高階不相關杠桿效應計算當前收益率和未來波動率的 1k 階相關度低階負相關,高階不相關粗細波動率相關 計算周頻收益率絕對值(粗波動率)和一周內日頻收益率不對稱,細能預測粗,粗不能預測細絕對值之和(細波動率)的-kk 階相關系數盈虧不對稱性統計漲跌超過一定幅度所需最少交易日數的分布漲得慢,跌得快資料來源:Modeling financial time-series with generative ad
43、versarial networks, 自相關性記資產收益率序列為 r,其均值和標準差分別為 和 。k 階自相關系數定義為:( , ) = ( )(+ ) +2自相關性一定程度上反映了市場的有效性。一般認為,真實日頻收益率序列不存在自相關,k 階相關系數接近 0。厚尾分布一般認為,資產收益率不服從正態分布,而是服從尖峰厚尾分布,其特點是異常值概率密度值高于正態分布,通俗地說“黑天鵝”事件發生頻率更高。常用的衡量分布厚尾程度的方法包括:計算分布的峰度(Kurtosis),即四階矩。正態分布峰度為 3,厚尾分布峰度大于 3。記標準化真實收益率的概率密度函數為 P(r),對 r0 一側部分的衰減擬合
44、冪律函數:() 正態分布的參數 值大于 5,真實收益率的衰減系數 值在 3 和 5 之間。本文采用第二種方法。波動率聚集真實收益率序列存在波動率聚集現象。收益率本身不存在自相關性,但波動率(以收益率的二階矩或絕對值衡量)存在短時程的自相關性。這里我們計算收益率絕對值序列的 k 階自相關系數。若收益率絕對值序列存在短時程自相關和長時程不相關,則自相關系數應隨階數 k 的提升而衰減,一般以冪律衰減刻畫:(|, |+|) 真實序列的衰減系數 值一般介于 0.1 和 0.5 之間。杠桿效應杠桿效應的含義是:當前收益率和未來波動率存在負相關。換言之,若市場近期跌幅較大,未來波動將增加;若市場近期漲幅較大
45、,未來波動將降低。我們參考 Qiu 等(2006)文獻,計算當前收益率和未來收益率平方的滯后 k 階相關度:()|( + )|2 ()|()|2() =|()|22真實序列在 k=110 時的 L 值小于 0,即表現為低階負相關性。粗細波動率相關粗細波動率相關(Coarse-Fine Volatility Correlation)相比于上述 4 個評價指標而言略不常見。定義過去 5 個交易日(視為 1 周)區間收益率(即周收益率)的絕對值為粗波動率,公式中的 5:() = |=1定義過去 5 個交易日的日收益率絕對值之和為細波動率,同樣公式中的 5:() = |=1計算當前細波動率和未來粗波動
46、率的滯后 k 階相關系數: () = ( + ), ()當 k 為負數時,則是計算當前粗波動率和未來細波動率的相關系數。樸素地想,當前細波動率(信息量較多)對未來粗波動率的預測能力,應優于當前粗波動率(信息量較少)對未來細波動率的預測能力。換言之,上述 k 階和-k 階相關系數不對稱。我們用兩者之差刻畫這種不對稱性: () = () ()真實序列當 k 較小時值小于 0。但也有學者認為該指標存在噪音較大的缺陷。盈虧不對稱性(= 盈虧不對稱性的通俗理解是市場漲得慢跌得快,計算方法為以任一交易日為起點,統計未來漲跌超過一定幅度(如 10%)所需最少交易日數的分布:)inf|+ , 0 ( 0) i
47、nf |+ , 0 ( 0)其中 rtt+t代表第 t 日和第 t+t日之間的區間收益率,inf 代表下確界。對于日頻收益率序列 取 0.1。T()代表實現漲跌幅 所需最少天數 t的分布。一般而言,下跌超過 10%所需最少天數的分布 T(-0.1)位于上漲超過 10%所需最少天數的分布 T(0.1)的左側,表現出盈虧不對稱性。需要說明的是,以上指標的原始定義均針對日頻收益率序列。實證表明,其它頻率收益率序列(如月頻)也具備上述性質。具體計算時,針對日頻和月頻收益率序列所使用的參數略有差異,如下表所示。圖表10: 評價指標參數取值評價指標名稱計算評價指標參數日頻收益率序列月頻收益率序列粗細波動率
48、相關53盈虧不對稱性0.10.25資料來源:Modeling financial time-series with generative adversarial networks, 粗細波動率相關的參數 決定了計算粗細波動率的區間長度。日頻收益率序列的 取 5,此時粗波動率相當于周度波動率,細波動率相當于一周內日度波動率之和。月頻收益率序列的 取 3,此時粗波動率相當于季度波動率,細波動率相當于一季內月度波動率之和。盈虧不對稱性的參數 決定了計算該指標時采用的區間漲跌幅度閾值。日頻收益率序列的 取 0.1,即日收益率漲跌超過 10%需要用多少交易日。月頻收益率序列的 取 0.25,即月收益率漲
49、跌超過 25%需要用多少月份。對照組除 GAN 以外,重采樣和時間序列分析模型也是模擬金融資產時間序列的常用方法。本文以重采樣中的 Bootstrap 方法和時間序列分析的 GARCH 模型作為對照組,與 GAN 生成的虛假序列進行比較。Bootstrap 生成虛假序列的方法是:對原始收益率序列進行有放回地抽樣,重復 T 次,得到長度為 T 的虛假序列。GARCH 模型生成虛假序列方法是:對原始收益率序列擬合含均值的 GARCH(1,1)模型,得到各參數的估計量,隨后模擬長度為 T 的虛假序列。GARCH 模型的概念本文不作贅述。結果本文訓練 GAN 分別學習上證綜指日頻序列、滬深 300 日
50、頻序列、標普 500 日頻序列和標普 500 月頻序列,各生成 1000 條虛假序列,隨后采用 6 項評價指標檢驗生成序列質量,并與對照組 Bootstrap 和 GARCH 模型生成的序列進行對比。以下分別展示四組測試結果,重點介紹上證綜指日頻序列結果。上證綜指日頻序列我們訓練 GAN 學習上證綜指 2004/12/312020/04/30 的日頻收益率序列,并生成 1000條長度為 2520 日的虛假收益率序列,隨后轉換為初始值為 1 的歸一化價格序列。真假序列展示GAN 歷次迭代的損失函數隨時間變化如左下圖所示。判別器 D 的損失在第 1 次迭代時取得全局最大值,此后先降后增,在 200
51、 次附近達到階段極大值,隨后逐漸減小,最終穩定在 0.51.0 的范圍。生成器 G 損失的變化規律和判別器 D 剛好相反,開始迭代時較低,此后先增后降,在 200300 次之間達到階段極小值,隨后逐漸增大,最終在更寬的范圍內波動,波動中樞在 1.01.5 之間。這里需要說明的是,生成器 G 的損失增大,并不一定代表 G“越變越差”,因為此時判別器 D“越變越好”。這就好比對手越來越強,盡管被對手打得越來越慘,但是自身勢力其實也越來越強。由于 GAN 的判別器和生成器是博弈關系,無法觀察到任何一方損失函數收斂,這也是 GAN 訓練的難點。判別器D生成器G 圖表11: 上證綜指日頻序列:GAN 損
52、失函數圖表12: 上證綜指日頻序列:真實價格序列(2004/12/312020/04/30)2.5損失函數值2.0 1.5 1.00.501002003004005006007008009001,0001,1001,2001,3001,4001,5001,6001,7001,8001,9000.0上證綜指7,0006,0005,0004,0003,0002,0001,0002004-12-312006-12-312008-12-312010-12-312012-12-312014-12-312016-12-312018-12-310迭代次數資料來源:Wind, 資料來源:Wind, 圖表13:
53、 上證綜指日頻序列:GAN 生成價格序列范例 1圖表14: 上證綜指日頻序列:GAN 生成價格序列范例 2169生成序列1 生成序列3生成序列2生成序列4生成序列5生成序列7生成序列6生成序列8148歸一化價格127歸一化價格10658463422102525047561,0081,2601,5121,7642,0162,26802525047561,0081,2601,5121,7642,0162,26800交易日交易日資料來源:Wind, 資料來源:Wind, 真實序列如圖表 12;我們選取 1000 條虛假序列中的 8 條,分別展示在圖表 13 和圖表 14中。可以看到生成序列內部差異性
54、較大。對照組假序列展示我們同時展示對照組 Bootstrap 和 GARCH 模型生成的假序列。Bootstrap 生成結果如下面兩張圖所示。肉眼對比 GAN 結果和 Bootstrap 結果,一個相對明顯的現象是 GAN 的局部“抖動”更小,且更接近真實序列。猜測GAN 在刻畫波動率聚集性質方面相較于Bootstrap更好,下一小節我們將通過定量指標加以說明。生成序列1生成序列3生成序列2生成序列4圖表15: 上證綜指日頻序列:Bootstrap 生成價格序列范例 1圖表16: 上證綜指日頻序列:Bootstrap 生成價格序列范例 24.03.5歸一化價格3.02.52.01.51.00.
55、502525047560.05.0生成序列5生成序列7生成序列6生成序列8歸一化價格4.03.02.01.002525047561,0081,2601,5121,7642,0162,2680.0交易日1,0081,2601,5121,7642,0162,268交易日資料來源:Wind, 資料來源:Wind, GARCH 模型生成結果如下面兩張圖所示。GARCH 模型的特點是部分生成序列可能出現極端的波動。圖表17: 上證綜指日頻序列:GARCH 生成價格序列范例 1圖表18: 上證綜指日頻序列:GARCH 生成價格序列范例 210050生成序列1生成序列3生成序列2生成序列4生成序列5生成序列
56、7生成序列6生成序列8歸一化價格歸一化價格804060304020 201002525047561,0081,2601,5121,7642,0162,26802525047561,0081,2601,5121,7642,0162,26800交易日交易日資料來源:Wind, 資料來源:Wind, 評價指標對比僅憑肉眼觀察無法判斷生成序列的質量。我們分別計算真實序列、GAN 生成序列、Bootstrap 生成序列和 GARCH 生成序列的 6 項評價指標,從定量視角加以評判。上證綜指真實日頻序列的 6 項評價指標如下圖所示:自相關性:左上子圖為收益率的 k1120 階自相關系數,真實序列的自相關系
57、數接近 0,不具備自相關性。厚尾分布:中上子圖類似于標準化日度收益率的累積概率分布函數。傳統累積概率分布函數為 p(rx),這里取 p(rx),等價于 1p(rx)。該函數衰減越快,說明收益率越接近正態分布;衰減越慢,說明收益率越接近厚尾分布。波動率聚集:右上子圖為收益率絕對值的 k1120 階自相關系數,能觀察到明顯衰減,即體現波動率的短時程正相關和長時程不相關。杠桿效應:左下子圖展示當前收益率和未來波動率的滯后 1120 階相關度,該圖能觀察到低階負相關和高階不相關。注意這里的相關度不完全等價于相關系數,具體計算方式請參考上一章方法部分。粗細波動率相關:中下子圖的藍色點為細波動率和粗波動率
58、的滯后 k 階相關系數,橙色點是k 階相關系數之差。藍色點左右不對稱,橙色點在低階區間小于 0,表明當前細波動率能預測未來粗波動率,但當前粗波動率無法預測未來細波動率。盈虧不對稱性:右下子圖紅點和藍點代表漲跌超過 10%所需最少天數的分布。紅色分布峰值位于藍色分布峰值右側,代表漲得慢跌得快。圖表19: 上證綜指日頻序列:真實序列 6 項評價指標資料來源:Wind, 分別計算 GAN 生成 1000 條序列的 6 項評價指標并求其均值,結果如下圖所示。和上圖真實序列結果對比可知,GAN 能夠良好復現出這 6 項性質。GAN 的特點是依賴深度神經網絡,學習能力強。圖表20: 上證綜指日頻序列:GA
59、N 生成序列 6 項評價指標資料來源:Wind, 分別計算 Bootstrap 生成 1000 條序列的 6 項評價指標并求其均值,結果如下圖所示。和真實序列結果對比可知,Bootstrap 能夠復現出自相關性(左上子圖)、厚尾分布(中上子圖)和盈虧不對稱性(右下子圖),但難以復現波動率聚集(右上子圖)、杠桿效應(左下子圖)和粗細波動率相關(中下子圖)。Bootstrap 抽樣破壞了原序列的時序關系,在時序無關的指標厚尾分布上表現良好,在部分時序有關的指標上表現不佳。圖表21: 上證綜指日頻序列:Bootstrap 生成序列 6 項評價指標資料來源:Wind, 分別計算 GARCH 生成 10
60、00 條序列的 6 項評價指標并求其均值,結果如下圖所示。和真實序列結果對比可知,GARCH 能夠復現出自相關性(左上子圖)、厚尾分布(中上子圖)和波動率聚集(右上子圖),但難以復現杠桿效應(左下子圖)、粗細波動率相關(中下子圖)和盈虧不對稱性(右下子圖)。GARCH 模型側重于序列的時序性質,在傳統時序有關的指標自相關性、波動率聚集上表現良好,但是在更為精細的指標杠桿效應、粗細波動率相關上表現不如 GAN。圖表22: 上證綜指日頻序列:GARCH 生成序列 6 項評價指標資料來源:Wind, 真實序列和 3 種生成方法在 6 項評價指標上表現匯總如下表所示。GAN 生成序列在 6 項指標上均
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 油氣田開發項目全過程咨詢、管理與技術服務考核試卷
- 2025年版關于辦公室裝修合同范本下載
- 2025設備租賃合同空白合同
- 2025電纜線路維修合同
- 2025年合作協議制作與發布合同
- 2025《中文勞動合同范本》
- 隧道、洞室工程暗挖專項施工方案編制
- 二零二五門面租房合同書模板
- 二零二五勞動合同法服務期期限是多長時間
- 二零二五聘用教師合同范例
- 2025年上半年福建福州廣播電視臺招聘重點基礎提升(共500題)附帶答案詳解
- 消毒供應中心規范培訓
- 2025重慶華地資環科技有限公司校園招聘9人筆試參考題庫附帶答案詳解
- 易制毒化學品銷售人員崗位職責
- 小區二次供水水箱清洗消毒的監督流程課件
- 自主智能系統知到課后答案智慧樹章節測試答案2025年春哈爾濱工程大學
- GB/T 6433-2025飼料中粗脂肪的測定
- 2019版 浙科版 高中生物學 必修2 遺傳與進化《第二章 染色體與遺傳》大單元整體教學設計2020課標
- 【MOOC期末】《介入放射學》(東南大學)中國大學慕課答案
- DB50T 771-2017 地下管線探測技術規范
- 防災減災培訓(安全行業講座培訓課件)
評論
0/150
提交評論