精品伊人久久大香线蕉,开心久久婷婷综合中文字幕,杏田冲梨,人妻无码aⅴ不卡中文字幕

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項超值服

開通VIP
CTA投資與程序化交易:現(xiàn)代研究方法(二)參數(shù)尋優(yōu)技巧:經(jīng)驗、抽樣、局部平滑和移動平滑
一、最優(yōu)化的數(shù)學(xué)方法和統(tǒng)計方法


(一)數(shù)學(xué)中的優(yōu)化方法

在數(shù)學(xué)中,對于可導(dǎo)函數(shù),可以完美的定義最優(yōu)化問題:

如果存在一個解
使得
  叫做上述問題的全局最優(yōu)解。同樣可以在某個局部區(qū)域定義局部最優(yōu)解。


數(shù)學(xué)問題中,處理上述問題的常見方法有幾種,我們不展開介紹,主要簡述其以導(dǎo)數(shù)為核心手段的優(yōu)化思路。

1、拉格朗日乘數(shù)法

對于處處可導(dǎo)的函數(shù),可以通過引入拉格朗日乘子來將含有n個變量和k個約束條件的約束優(yōu)化問題轉(zhuǎn)化為含有(n+k)個變量的無約束優(yōu)化問題,直接求導(dǎo)求解。拉格朗日乘子背后的數(shù)學(xué)意義是其為約束方程梯度線性組合中每個向量的系數(shù)。

2、梯度下降法(Gradient Descent)

也叫做最速下降法,如果函數(shù)可導(dǎo),就可以算出梯度,朝梯度下降方向?qū)ふ覙O小值,朝梯度上升方向?qū)ふ覙O大值。可以通過步長逐步搜索,直到函數(shù)變化值非常小,停止搜索得到極值。

3、牛頓法(Newton’s Method)和擬牛頓法(Quasi-Newton Methods)

對導(dǎo)數(shù)泰勒展開,相當(dāng)于應(yīng)用二階導(dǎo)數(shù)尋找極值方向,收斂速度更快。


4、共軛梯度法(Conjugate Gradient)

和梯度下降法類似,僅需要一階導(dǎo)數(shù)信息,但是克服了收斂慢的缺點(diǎn),算是解大型非線性最優(yōu)化最有效的算法之一。在各種優(yōu)化算法中,共軛梯度法是非常重要的一種。



(二)統(tǒng)計意義上的優(yōu)化

對于凸函數(shù),數(shù)學(xué)層面的算法會非常有效,但是對于奇異函數(shù)的尋優(yōu),就需要各種統(tǒng)計意義上的算法找到相對最優(yōu)的解。

1、遺傳算法(Genetic Algorithm)

由美國的J.Holland于1975年首先提出的啟發(fā)式算法。遺傳算法是一種智能隨機(jī)搜索算法。遺傳算法仿照自然界中生物的進(jìn)化過程,種群的進(jìn)化遵從自然選擇和適者生存,更適應(yīng)環(huán)境的個體有更大機(jī)率存活和繁衍,適應(yīng)性差的個體則會被淘汰,攜帶較高適應(yīng)性基因的父母進(jìn)行繁殖可能產(chǎn)生適應(yīng)性更強(qiáng)的后代。遺傳算法模擬上述過程,其一般流程如下:



2、模擬退火(simulated annealing algorithm)

基于1953的Metropolis思想,由S.Kirkpatrick,C.D.Gelatt 和 M.P.Vecchi在1983年所發(fā)明。


模擬退火算法是一種貪心算法,但是在搜索過程中引入了隨機(jī)因素,以一定的概率接受一個比當(dāng)前要差的解,因此就為跳出局部最優(yōu)解到達(dá)全局最優(yōu)解創(chuàng)造了可能。因此模擬退火算法也是一種啟發(fā)式算法。

其基本思想是把某類優(yōu)化問題的求解過程與統(tǒng)計熱力學(xué)的熱平衡問題進(jìn)行對比,試圖通過模擬高溫物體退火的過程來找到優(yōu)化問題的全局最優(yōu)解或近似全局最優(yōu)解。金屬退火原理是將金屬加溫至充分高,再讓其徐徐冷卻,加溫時,金屬內(nèi)部粒子隨溫升變?yōu)闊o序狀,內(nèi)能增大,而徐徐冷卻時粒子漸趨有序,在每個溫度都達(dá)到平衡態(tài),最后在常溫時達(dá)到基態(tài),內(nèi)能減為最小。



3.蟻群算法(Ant System, Ant Colony System)


是由意大利學(xué)者Dorigo、Maniezzo等人于20世紀(jì)90年代提出來的啟發(fā)式算法。


將蟻群算法應(yīng)用于解決優(yōu)化問題的基本思路為:用螞蟻的行走路徑表示待優(yōu)化問題的可行解,整個螞蟻群體的所有路徑構(gòu)成待優(yōu)化問題的解空間。路徑較短的螞蟻釋放的信息素量較多,隨著時間的推進(jìn),較短的路徑上累積的信息素濃度逐漸增高,選擇該路徑的螞蟻個數(shù)也愈來愈多。最終,整個螞蟻會在正反饋的作用下集中到最佳的路徑上,此時對應(yīng)的便是待優(yōu)化問題的最優(yōu)解。


螞蟻找到最短路徑要?dú)w功于信息素和環(huán)境,假設(shè)有兩條路可從蟻窩通向食物,開始時兩條路上的螞蟻數(shù)量差不多:當(dāng)螞蟻到達(dá)終點(diǎn)之后會立即返回,距離短的路上的螞蟻往返一次時間短,重復(fù)頻率快,在單位時間里往返螞蟻的數(shù)目就多,留下的信息素也多,會吸引更多螞蟻過來,會留下更多信息素。而距離長的路正相反,因此越來越多的螞蟻聚集到最短路徑上來。比如下圖:



兩只螞蟻從A點(diǎn)出發(fā),一只走AD,一只走ACD,每個單位時間走一步,考慮9個單位時間之后,第一只走到了終點(diǎn)D,第二只剛走到C,僅僅是一半的路程。



第一只螞蟻開始返回,等到第二只螞蟻?zhàn)叩紻時,第一只返回到了起點(diǎn),這時過了18個單位時間。這時,AD中每一步的留下的信息素是ACD路徑中信息素的兩倍。36個單位時間后,第二只螞蟻剛返回起點(diǎn),ACD每個點(diǎn)上留下2個信息素,但是ABD上留下4個信息素。然后蟻群在AD上增派螞蟻,ACD上依然一只螞蟻,再經(jīng)過36個單位時間后,兩條路線上的信息素比例為4:1,這樣隨著時間的增加,蟻群在AD上增派的螞蟻越來越多,信息素也越來越多,最終所有螞蟻都放棄ACD,選擇AD。


螞蟻具有的智能行為得益于其同時具有多樣性和正反饋的行為規(guī)則。在覓食時,多樣性使螞蟻不會走進(jìn)死胡同而無限循環(huán),是一種創(chuàng)新能力;正反饋使優(yōu)良信息保存下來,是一種學(xué)習(xí)強(qiáng)化能力。兩者的巧妙結(jié)合使智能行為涌現(xiàn),如果多樣性過剩,系統(tǒng)過于活躍,會導(dǎo)致過多的隨機(jī)運(yùn)動,陷入混沌狀態(tài);如果多樣性不夠,正反饋過強(qiáng),會導(dǎo)致僵化,當(dāng)環(huán)境變化時蟻群不能相應(yīng)調(diào)整。


蟻群算法可以用來解決經(jīng)典的TSP(Travelling Salesman Problem)問題。


AS算法中,需要定義信息素強(qiáng)度,能見度,隨機(jī)選擇比例等一系列符號體系:


分別為起點(diǎn)和終點(diǎn),就可以做如下定義:能見度
,相當(dāng)于兩個點(diǎn)之間距離的倒數(shù);信息素強(qiáng)度
,然后就可以定義第
只螞蟻在
點(diǎn)選擇下一個目的地
時的概率:

當(dāng)

 不滿足時候,概率為0,
是第
只螞蟻在
時刻,尚未訪問過的節(jié)點(diǎn)集合。其中,
是常數(shù),表示對信息素和能見度的權(quán)重比例。

AS算法的大致步驟如下:


經(jīng)典蟻群算法可以輕松應(yīng)對城市小于75的問題,這些年,蟻群算法有大量的變種,越來越完善,可以解決更大型問題。經(jīng)過對比,在大型TSP問題中(最多包括132個城市),蟻群算法表現(xiàn)要優(yōu)于遺傳算法和模擬熄火。


二、CTA策略的最優(yōu)化原則

(一)CTA中的優(yōu)化

在上述的簡介中我們看到數(shù)學(xué)方法的優(yōu)化往往是針對凸函數(shù),從導(dǎo)數(shù)或者梯度的角度進(jìn)行尋優(yōu);統(tǒng)計方法的優(yōu)化可以放大到復(fù)雜函數(shù),用啟發(fā)式的算法,不斷以概率的方式尋找或有的全局最優(yōu)解,概率最大的意義是給了局部非優(yōu)解一定容錯率,讓解可以以概率收斂到更優(yōu)的解。

CTA策略中,我們優(yōu)化的目標(biāo)其實(shí)是策略業(yè)績(收益率、回撤、夏普比率、勝率、賠率),函數(shù)就是我們的交易規(guī)則(包含我們設(shè)定的參數(shù)),變量就是給定區(qū)間內(nèi)所有的K線信息。我們期待對歷史的K線建立交易模型,然后對于未來再現(xiàn)的K線可以進(jìn)行運(yùn)算,得到優(yōu)異的業(yè)績函數(shù)取值。

CTA策略的優(yōu)化中,前面介紹的方法有一些不適用,因為我們并不是對一個確定的函數(shù)進(jìn)行優(yōu)化,而是對一組自變量是隨機(jī)數(shù)據(jù)的函數(shù)進(jìn)行優(yōu)化。

(二)統(tǒng)計學(xué)習(xí)原理介紹

對于一組隨機(jī)數(shù)據(jù)

,假設(shè)
,我們可以擬合
,使其和
之間盡可能的接近,在平方損失準(zhǔn)側(cè)下,

是理論最優(yōu)的函數(shù)形式,統(tǒng)計估計的任務(wù)就是對上述期望值進(jìn)行估計。兩種常見的方式是:


1、對上述期望值擬合一個參數(shù)結(jié)構(gòu),比如,
這就是回歸等參數(shù)模型的思想;

2、對上述期望值直接用x領(lǐng)域附近的點(diǎn)進(jìn)行平均估計,比如

.這就是局部近領(lǐng)的思想。


不管使用什么思路構(gòu)造估計模型,估計的效果可以用平方損失進(jìn)行衡量,可以構(gòu)造一個叫做均方誤差(Mean Squared Error,MSE)的指標(biāo)衡量估計值和真實(shí)值之間的差距,假設(shè)訓(xùn)練數(shù)據(jù)集為

,對于觀測值

其中

這個指標(biāo)最直觀的解釋是,估計誤差有兩部分組成,第一部分是估計值的方差,這個衡量估計模型的穩(wěn)定型,模型越穩(wěn)定,方差越小;第二部分是估計值的偏差,這個衡量估計模型的對訓(xùn)練數(shù)據(jù)的精確度,模型越復(fù)雜靈活,這個值越小。方差和偏差是硬幣的兩面,如果我們擬合簡單的線性結(jié)構(gòu),估計值不會隨著訓(xùn)練樣本的變化而顯著變化,方差必然小,但是肯定會和真實(shí)值之間有一定的差異,也就是方差比較大,估計不夠準(zhǔn)確(除非真實(shí)結(jié)構(gòu)就是穩(wěn)定的線性結(jié)構(gòu)),對于新的樣本點(diǎn),這有可能造成MSE偏大;反之,如果我們用比較靈活地模型,類似
階近鄰估計,這個估計對訓(xùn)練樣本而言,偏差非常小,但是估計值本身的方差肯定會比較大,因為數(shù)據(jù)一變,
階近領(lǐng)估計的結(jié)果就會大幅度變動,這也有可能造成新樣本點(diǎn)MSE的偏大。所謂的過度擬合(Overfitting),其實(shí)就是說對訓(xùn)練數(shù)據(jù)過度建模,在訓(xùn)練數(shù)據(jù)中偏差幾乎為零,但是這個模型本身不穩(wěn)定,方差很大,樣本一變,估計值的變化會很大,進(jìn)而造成對于未知值的均方誤差很大。參數(shù)很多的結(jié)構(gòu)化估計趨近于非參數(shù)的靈活局部估計,都會有過度擬合的傾向。


(三)CTA策略的尋優(yōu)難題


CTA策略的參數(shù)尋優(yōu)問題,看起來很簡單,但問題的本質(zhì)其實(shí)和前面介紹的理論背景息息相關(guān),這個問題是數(shù)學(xué)的,又是統(tǒng)計的,同時更是藝術(shù)的。


回到CTA策略的本質(zhì),想想我們在構(gòu)造一個什么樣的東西。


1、變量


CTA策略中,最本質(zhì)的變量其實(shí)是價格,和數(shù)學(xué)問題相比,這個價格變量是隨機(jī)的,和一般統(tǒng)計問題相比,這個變量是個近似連續(xù)的隨機(jī)過程(每個tick都是一個隨機(jī)變量)。


當(dāng)我們引入CTA這個語言體系,其實(shí)是已經(jīng)假設(shè)要對趨勢進(jìn)行刻畫和跟隨,tick層面的數(shù)據(jù)無法進(jìn)行有效的趨勢跟隨,因此把tick數(shù)據(jù)抽樣成給定周期的K線數(shù)據(jù),就是非常重要的一步。因此我們的面對的變量,可以看做是個離散時間的隨機(jī)過程。但是,我們處理這個隨機(jī)過程的方法并不是追求平穩(wěn)性變換,最終根據(jù)隨機(jī)過程各個變量在時間層面的穩(wěn)定性,發(fā)掘出整體的概率結(jié)構(gòu)。


2、目標(biāo)


CTA最核心的假設(shè)是,大部分時候隨機(jī)過程在震蕩,少部分時候,出現(xiàn)明顯的方向性趨勢,我們的目標(biāo)就是根據(jù)方向性趨勢的出現(xiàn)進(jìn)行趨勢研判的預(yù)測(gen sui),獲取收益,如果預(yù)測(gen sui)錯誤,或者方向回調(diào),就止損出場,等待新的信號。


針對這個假設(shè)我們構(gòu)造的交易系統(tǒng),其實(shí)就是一個用來解決上述問題的函數(shù),這個函數(shù)的輸入雖然是一維隨機(jī)過程,由于我們要使用隨機(jī)過程的時間信息,實(shí)際上是個高維向量,我們針對高維向量通過交易函數(shù)(入場、止損)計算出來對應(yīng)的交易業(yè)績。

上面

就是我們的交易系統(tǒng),
是我們的自變量,也就是
線,根據(jù)使用的信息,每個變量從1
維(開高低收、成交量)不定。

表示交易系統(tǒng)涉及的
個參數(shù),這里顯然
,否則相當(dāng)于直接擬合了所有
線的信息,
很大的時候,交易系統(tǒng)幾乎是不可用的,因為過度參與了市場的個性化波動,而沒能找到具有一般性規(guī)律的趨勢結(jié)構(gòu)。通常我們希望


CTA參數(shù)尋優(yōu)最尷尬的地方在于我們對

線底層的隨機(jī)結(jié)構(gòu)一無所知,盡管有效市場假說等從隨機(jī)過程的角度給出了解釋,但是交易是否賺錢很難用統(tǒng)計檢驗去驗證。統(tǒng)計假設(shè)檢驗可以以一定的概率證偽某種特定的隨機(jī)結(jié)構(gòu),但無法證實(shí),證實(shí)接受可能是檢驗的功效不足無法證偽,也就是假設(shè)檢驗很難證實(shí)一個確定的結(jié)構(gòu),隨機(jī)游走只是一種猜想。CTA賺錢僅僅是說某些局部的趨勢結(jié)構(gòu)具有延續(xù)性,整體上趨勢結(jié)構(gòu)的盈利空間,大于震蕩結(jié)構(gòu)的止損空間,因為樣本不足,這個函數(shù)結(jié)構(gòu)很難直接去證偽。


回到CTA參數(shù)尋優(yōu),我們面臨的問題并不是數(shù)學(xué)優(yōu)化中梯度下降快速找到最優(yōu)解的問題,也不是統(tǒng)計估計中根據(jù)隨機(jī)結(jié)構(gòu)平衡方差和偏差得到最優(yōu)估計的問題。真正的問題在于我們面對一個數(shù)據(jù)隨機(jī),但是我們對隨機(jī)結(jié)構(gòu)并不知曉的估計,同時我們的估計損失函數(shù)是一個復(fù)雜的交易系統(tǒng)(哪怕最簡單的均線系統(tǒng),也不是一個簡單的數(shù)學(xué)函數(shù)),如果我們在樣本內(nèi)暴力尋優(yōu),可能可以讓估計偏差最小,但是這個交易系統(tǒng)的穩(wěn)定性非常差,因此大邏輯上可以做到的只能是讓交易函數(shù)盡可能保持簡單,

,保證估計函數(shù)的方差較小,然后通過適當(dāng)?shù)膬?yōu)化,減少估計偏差。


Everything should be made as simple as possible, but not simpler——Albert Einstein


3、手段和方法


1)控制參數(shù)個數(shù)


一個優(yōu)秀的交易系統(tǒng),可變的參數(shù)應(yīng)該是2,最多不要超過3,這一方面控制了交易系統(tǒng)的復(fù)雜度防止高度擬合,也防止在更高維度估計參數(shù)引起的高維詛咒。因為交易系統(tǒng)本身對K線進(jìn)行了降維處理,參數(shù)的個數(shù)類似于變量的個數(shù)。


2)避免業(yè)績孤島


對于

的CTA策略,由于涉及的計算并不是特別復(fù)雜,因此我們總是可以對參數(shù)進(jìn)行窮舉式運(yùn)算得到各種可能的業(yè)績值,這時候最主要的問題就是最優(yōu)的業(yè)績是歷史偶然事件,還是真正我們所捕捉到的隨機(jī)結(jié)構(gòu)?這個時候最核心的方法是看最優(yōu)業(yè)績周圍的參數(shù)分布,如過周圍參數(shù)的業(yè)績是平滑和漸進(jìn)的,那么最優(yōu)業(yè)績是可信的,否則只是偶然事件不可信。



3)重視經(jīng)驗參數(shù)


漫長的技術(shù)分析發(fā)展史中,技術(shù)分析師們根據(jù)交易實(shí)踐矯正了很多有實(shí)際用途的參數(shù),比如5/10/20這種或者7/14/21這種和周、兩周、月等歷法對應(yīng)的實(shí)踐,又比如1/2/3/5/8/13/21/34/55這種Fibonacci數(shù)列,經(jīng)驗參數(shù)本身就是避免過度擬合的方法之一,如果經(jīng)典參數(shù)和平滑業(yè)績相對應(yīng),那一般是可以接受的。


三、客觀上的主觀:現(xiàn)代統(tǒng)計學(xué)技巧

(一)抽樣法

為了避免過度尋優(yōu),也提升適當(dāng)計算效率,對于整個尋優(yōu)的參數(shù)尋優(yōu)進(jìn)行啟發(fā)式抽樣算法,也是一種有效的辦法,這和模擬熄火這種方法類似,但是更加簡單直觀。

常見算法是:


上述方法是量邦天語定義的后驗方法,運(yùn)行時日志如下:



其輸出的熱力圖示意如下:



(二)局部線性估計


局部線性估計是一種非常重要的現(xiàn)代非參數(shù)統(tǒng)計方法,其核心思想是在每個局部用線性結(jié)構(gòu)來擬合目標(biāo)函數(shù),但是整體上保持靈活性和動態(tài)性,從而平衡估計函數(shù)的方差和偏差。我們將局部線性估計應(yīng)用于參數(shù)尋優(yōu),最核心的思想是暴力尋優(yōu)后,把參數(shù)當(dāng)做自變量,把業(yè)績當(dāng)成函數(shù)值,然后對業(yè)績曲面進(jìn)行局部線性估計平滑,從而掌握參數(shù)曲面的整體形態(tài),更好應(yīng)用前面提到的幾個參數(shù)尋優(yōu)原則。

局部線性估計的平滑結(jié)果受核權(quán)重函數(shù)的影響并不大,但是受平滑窗寬的影響非常大,包含進(jìn)平滑的樣本點(diǎn)個數(shù)決定了業(yè)績曲線的光滑度,會產(chǎn)生平滑不足或者過度平滑的問題。


精確最優(yōu)的平滑窗寬需要知道模型隨機(jī)誤差的分布信息,實(shí)際上這些信息完全不可知。通常的窗寬用一種經(jīng)驗算法來確定,假設(shè)隨機(jī)誤差是正態(tài)分布,并用到業(yè)績樣本標(biāo)準(zhǔn)差信息



(三)移動平滑估計


如果是抽樣解決效率和精度問題,局部線性估計提高尋優(yōu)結(jié)果的可讀性,移動平滑方法從根本上改變尋優(yōu)的思路,通過對樣本的切割,把尋優(yōu)數(shù)據(jù)和評估數(shù)據(jù)加以區(qū)分,沿著樣本移動若干次之后,對若干對參數(shù)的樣本外業(yè)績進(jìn)行綜合評估,這有些借鑒Cross Validation的統(tǒng)計學(xué)思想。


假設(shè)我們一共有

根K線,首先需設(shè)置如下參數(shù):


= 窗口樣本中訓(xùn)練樣本的長度(K線數(shù)目)


 = 窗口樣本中測試樣本的長度(K線數(shù)目)


 = 窗口每次移動的的長度(K線數(shù)目)



綜合考慮所有窗口中的結(jié)果來確定策略表現(xiàn)的有效性和參數(shù)的穩(wěn)定性,輸出下表



我們對前面的優(yōu)化問題進(jìn)行適當(dāng)簡化,以200天為樣本內(nèi)數(shù)據(jù)滾動尋優(yōu),可以得到下圖:


四、分散依然是唯一免費(fèi)的午餐


有些時候,人們喜歡把多參數(shù)和多策略、多品種、多周期并列為同一級別的四多,獲取實(shí)際意義上的分散。乍看參數(shù)尋優(yōu)并不屬于品種、策略思路和周期一個維度的問題,是要通過尋找分個彼此高下的問題,但是我們建議,不妨在一定的程度上,把參數(shù)也當(dāng)做一個策略維度,進(jìn)行配置,對于兩個距離較大,但是業(yè)績都還不錯的參數(shù)取值而言,這種分散相當(dāng)于更加穩(wěn)健的策略結(jié)構(gòu),有些機(jī)器學(xué)習(xí)boosting的思路。最重要的是,多參數(shù)和多策略、多周期,其實(shí)也是一種平衡關(guān)系。



本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
機(jī)器學(xué)習(xí)那些事|盤點(diǎn)組學(xué)研究中最常用的7大算法
機(jī)器學(xué)習(xí)相關(guān)的面試問題
給人工智能降點(diǎn)溫:深度學(xué)習(xí)不是萬能良藥
人臉識別技術(shù)大總結(jié)
回歸、分類與聚類:三大方向剖解機(jī)器學(xué)習(xí)算法的優(yōu)缺點(diǎn)(附Python和R實(shí)現(xiàn))
機(jī)器學(xué)習(xí)與深度學(xué)習(xí)常見面試題(下)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

主站蜘蛛池模板: 邳州市| 罗江县| 商都县| 社旗县| 江城| 修水县| 平定县| 林甸县| 富源县| 青铜峡市| 安阳市| 五家渠市| 平原县| 天气| 淄博市| 韶关市| 家居| 抚宁县| 长岭县| 洛阳市| 临武县| 永仁县| 工布江达县| 阳江市| 永靖县| 西峡县| 西林县| 曲松县| 凉城县| 深州市| 惠安县| 织金县| 大名县| 吴忠市| 荥经县| 申扎县| 贵州省| 广宁县| 龙南县| 锡林郭勒盟| 大石桥市|