在數(shù)學(xué)中,對(duì)于可導(dǎo)函數(shù),可以完美的定義最優(yōu)化問(wèn)題: 對(duì)導(dǎo)數(shù)泰勒展開(kāi),相當(dāng)于應(yīng)用二階導(dǎo)數(shù)尋找極值方向,收斂速度更快。 和梯度下降法類似,僅需要一階導(dǎo)數(shù)信息,但是克服了收斂慢的缺點(diǎn),算是解大型非線性最優(yōu)化最有效的算法之一。在各種優(yōu)化算法中,共軛梯度法是非常重要的一種。 由美國(guó)的J.Holland于1975年首先提出的啟發(fā)式算法。遺傳算法是一種智能隨機(jī)搜索算法。遺傳算法仿照自然界中生物的進(jìn)化過(guò)程,種群的進(jìn)化遵從自然選擇和適者生存,更適應(yīng)環(huán)境的個(gè)體有更大機(jī)率存活和繁衍,適應(yīng)性差的個(gè)體則會(huì)被淘汰,攜帶較高適應(yīng)性基因的父母進(jìn)行繁殖可能產(chǎn)生適應(yīng)性更強(qiáng)的后代。遺傳算法模擬上述過(guò)程,其一般流程如下: 其基本思想是把某類優(yōu)化問(wèn)題的求解過(guò)程與統(tǒng)計(jì)熱力學(xué)的熱平衡問(wèn)題進(jìn)行對(duì)比,試圖通過(guò)模擬高溫物體退火的過(guò)程來(lái)找到優(yōu)化問(wèn)題的全局最優(yōu)解或近似全局最優(yōu)解。金屬退火原理是將金屬加溫至充分高,再讓其徐徐冷卻,加溫時(shí),金屬內(nèi)部粒子隨溫升變?yōu)闊o(wú)序狀,內(nèi)能增大,而徐徐冷卻時(shí)粒子漸趨有序,在每個(gè)溫度都達(dá)到平衡態(tài),最后在常溫時(shí)達(dá)到基態(tài),內(nèi)能減為最小。 3.蟻群算法(Ant System, Ant Colony System) 是由意大利學(xué)者Dorigo、Maniezzo等人于20世紀(jì)90年代提出來(lái)的啟發(fā)式算法。 將蟻群算法應(yīng)用于解決優(yōu)化問(wèn)題的基本思路為:用螞蟻的行走路徑表示待優(yōu)化問(wèn)題的可行解,整個(gè)螞蟻群體的所有路徑構(gòu)成待優(yōu)化問(wèn)題的解空間。路徑較短的螞蟻釋放的信息素量較多,隨著時(shí)間的推進(jìn),較短的路徑上累積的信息素濃度逐漸增高,選擇該路徑的螞蟻個(gè)數(shù)也愈來(lái)愈多。最終,整個(gè)螞蟻會(huì)在正反饋的作用下集中到最佳的路徑上,此時(shí)對(duì)應(yīng)的便是待優(yōu)化問(wèn)題的最優(yōu)解。 螞蟻找到最短路徑要?dú)w功于信息素和環(huán)境,假設(shè)有兩條路可從蟻窩通向食物,開(kāi)始時(shí)兩條路上的螞蟻數(shù)量差不多:當(dāng)螞蟻到達(dá)終點(diǎn)之后會(huì)立即返回,距離短的路上的螞蟻往返一次時(shí)間短,重復(fù)頻率快,在單位時(shí)間里往返螞蟻的數(shù)目就多,留下的信息素也多,會(huì)吸引更多螞蟻過(guò)來(lái),會(huì)留下更多信息素。而距離長(zhǎng)的路正相反,因此越來(lái)越多的螞蟻聚集到最短路徑上來(lái)。比如下圖: 兩只螞蟻從A點(diǎn)出發(fā),一只走AD,一只走ACD,每個(gè)單位時(shí)間走一步,考慮9個(gè)單位時(shí)間之后,第一只走到了終點(diǎn)D,第二只剛走到C,僅僅是一半的路程。 第一只螞蟻開(kāi)始返回,等到第二只螞蟻?zhàn)叩紻時(shí),第一只返回到了起點(diǎn),這時(shí)過(guò)了18個(gè)單位時(shí)間。這時(shí),AD中每一步的留下的信息素是ACD路徑中信息素的兩倍。36個(gè)單位時(shí)間后,第二只螞蟻剛返回起點(diǎn),ACD每個(gè)點(diǎn)上留下2個(gè)信息素,但是ABD上留下4個(gè)信息素。然后蟻群在AD上增派螞蟻,ACD上依然一只螞蟻,再經(jīng)過(guò)36個(gè)單位時(shí)間后,兩條路線上的信息素比例為4:1,這樣隨著時(shí)間的增加,蟻群在AD上增派的螞蟻越來(lái)越多,信息素也越來(lái)越多,最終所有螞蟻都放棄ACD,選擇AD。 螞蟻具有的智能行為得益于其同時(shí)具有多樣性和正反饋的行為規(guī)則。在覓食時(shí),多樣性使螞蟻不會(huì)走進(jìn)死胡同而無(wú)限循環(huán),是一種創(chuàng)新能力;正反饋使優(yōu)良信息保存下來(lái),是一種學(xué)習(xí)強(qiáng)化能力。兩者的巧妙結(jié)合使智能行為涌現(xiàn),如果多樣性過(guò)剩,系統(tǒng)過(guò)于活躍,會(huì)導(dǎo)致過(guò)多的隨機(jī)運(yùn)動(dòng),陷入混沌狀態(tài);如果多樣性不夠,正反饋過(guò)強(qiáng),會(huì)導(dǎo)致僵化,當(dāng)環(huán)境變化時(shí)蟻群不能相應(yīng)調(diào)整。 蟻群算法可以用來(lái)解決經(jīng)典的TSP(Travelling Salesman Problem)問(wèn)題。 AS算法中,需要定義信息素強(qiáng)度,能見(jiàn)度,隨機(jī)選擇比例等一系列符號(hào)體系: 假 當(dāng) AS算法的大致步驟如下: 經(jīng)典蟻群算法可以輕松應(yīng)對(duì)城市小于75的問(wèn)題,這些年,蟻群算法有大量的變種,越來(lái)越完善,可以解決更大型問(wèn)題。經(jīng)過(guò)對(duì)比,在大型TSP問(wèn)題中(最多包括132個(gè)城市),蟻群算法表現(xiàn)要優(yōu)于遺傳算法和模擬熄火。 對(duì)于一組隨機(jī)數(shù)據(jù)
![]() 2、對(duì)上述期望值直接用x領(lǐng)域附近的點(diǎn)進(jìn)行平均估計(jì),比如
不管使用什么思路構(gòu)造估計(jì)模型,估計(jì)的效果可以用平方損失進(jìn)行衡量,可以構(gòu)造一個(gè)叫做均方誤差(Mean Squared Error,MSE)的指標(biāo)衡量估計(jì)值和真實(shí)值之間的差距,假設(shè)訓(xùn)練數(shù)據(jù)集為 其中 ![]() ![]() (三)CTA策略的尋優(yōu)難題 CTA策略的參數(shù)尋優(yōu)問(wèn)題,看起來(lái)很簡(jiǎn)單,但問(wèn)題的本質(zhì)其實(shí)和前面介紹的理論背景息息相關(guān),這個(gè)問(wèn)題是數(shù)學(xué)的,又是統(tǒng)計(jì)的,同時(shí)更是藝術(shù)的。 回到CTA策略的本質(zhì),想想我們?cè)跇?gòu)造一個(gè)什么樣的東西。 1、變量 CTA策略中,最本質(zhì)的變量其實(shí)是價(jià)格,和數(shù)學(xué)問(wèn)題相比,這個(gè)價(jià)格變量是隨機(jī)的,和一般統(tǒng)計(jì)問(wèn)題相比,這個(gè)變量是個(gè)近似連續(xù)的隨機(jī)過(guò)程(每個(gè)tick都是一個(gè)隨機(jī)變量)。 當(dāng)我們引入CTA這個(gè)語(yǔ)言體系,其實(shí)是已經(jīng)假設(shè)要對(duì)趨勢(shì)進(jìn)行刻畫(huà)和跟隨,tick層面的數(shù)據(jù)無(wú)法進(jìn)行有效的趨勢(shì)跟隨,因此把tick數(shù)據(jù)抽樣成給定周期的K線數(shù)據(jù),就是非常重要的一步。因此我們的面對(duì)的變量,可以看做是個(gè)離散時(shí)間的隨機(jī)過(guò)程。但是,我們處理這個(gè)隨機(jī)過(guò)程的方法并不是追求平穩(wěn)性變換,最終根據(jù)隨機(jī)過(guò)程各個(gè)變量在時(shí)間層面的穩(wěn)定性,發(fā)掘出整體的概率結(jié)構(gòu)。 2、目標(biāo) CTA最核心的假設(shè)是,大部分時(shí)候隨機(jī)過(guò)程在震蕩,少部分時(shí)候,出現(xiàn)明顯的方向性趨勢(shì),我們的目標(biāo)就是根據(jù)方向性趨勢(shì)的出現(xiàn)進(jìn)行趨勢(shì)研判的預(yù)測(cè)(gen sui),獲取收益,如果預(yù)測(cè)(gen sui)錯(cuò)誤,或者方向回調(diào),就止損出場(chǎng),等待新的信號(hào)。 針對(duì)這個(gè)假設(shè)我們構(gòu)造的交易系統(tǒng),其實(shí)就是一個(gè)用來(lái)解決上述問(wèn)題的函數(shù),這個(gè)函數(shù)的輸入雖然是一維隨機(jī)過(guò)程,由于我們要使用隨機(jī)過(guò)程的時(shí)間信息,實(shí)際上是個(gè)高維向量,我們針對(duì)高維向量通過(guò)交易函數(shù)(入場(chǎng)、止損)計(jì)算出來(lái)對(duì)應(yīng)的交易業(yè)績(jī)。 上面
CTA參數(shù)尋優(yōu)最尷尬的地方在于我們對(duì) 回到CTA參數(shù)尋優(yōu),我們面臨的問(wèn)題并不是數(shù)學(xué)優(yōu)化中梯度下降快速找到最優(yōu)解的問(wèn)題,也不是統(tǒng)計(jì)估計(jì)中根據(jù)隨機(jī)結(jié)構(gòu)平衡方差和偏差得到最優(yōu)估計(jì)的問(wèn)題。真正的問(wèn)題在于我們面對(duì)一個(gè)數(shù)據(jù)隨機(jī),但是我們對(duì)隨機(jī)結(jié)構(gòu)并不知曉的估計(jì),同時(shí)我們的估計(jì)損失函數(shù)是一個(gè)復(fù)雜的交易系統(tǒng)(哪怕最簡(jiǎn)單的均線系統(tǒng),也不是一個(gè)簡(jiǎn)單的數(shù)學(xué)函數(shù)),如果我們?cè)跇颖緝?nèi)暴力尋優(yōu),可能可以讓估計(jì)偏差最小,但是這個(gè)交易系統(tǒng)的穩(wěn)定性非常差,因此大邏輯上可以做到的只能是讓交易函數(shù)盡可能保持簡(jiǎn)單, 3、手段和方法 1)控制參數(shù)個(gè)數(shù) 一個(gè)優(yōu)秀的交易系統(tǒng),可變的參數(shù)應(yīng)該是2,最多不要超過(guò)3,這一方面控制了交易系統(tǒng)的復(fù)雜度防止高度擬合,也防止在更高維度估計(jì)參數(shù)引起的高維詛咒。因?yàn)榻灰紫到y(tǒng)本身對(duì)K線進(jìn)行了降維處理,參數(shù)的個(gè)數(shù)類似于變量的個(gè)數(shù)。 2)避免業(yè)績(jī)孤島 對(duì)于 漫長(zhǎng)的技術(shù)分析發(fā)展史中,技術(shù)分析師們根據(jù)交易實(shí)踐矯正了很多有實(shí)際用途的參數(shù),比如5/10/20這種或者7/14/21這種和周、兩周、月等歷法對(duì)應(yīng)的實(shí)踐,又比如1/2/3/5/8/13/21/34/55這種Fibonacci數(shù)列,經(jīng)驗(yàn)參數(shù)本身就是避免過(guò)度擬合的方法之一,如果經(jīng)典參數(shù)和平滑業(yè)績(jī)相對(duì)應(yīng),那一般是可以接受的。 常見(jiàn)算法是: 上述方法是量邦天語(yǔ)定義的后驗(yàn)方法,運(yùn)行時(shí)日志如下: 其輸出的熱力圖示意如下: (二)局部線性估計(jì) 局部線性估計(jì)是一種非常重要的現(xiàn)代非參數(shù)統(tǒng)計(jì)方法,其核心思想是在每個(gè)局部用線性結(jié)構(gòu)來(lái)擬合目標(biāo)函數(shù),但是整體上保持靈活性和動(dòng)態(tài)性,從而平衡估計(jì)函數(shù)的方差和偏差。我們將局部線性估計(jì)應(yīng)用于參數(shù)尋優(yōu),最核心的思想是暴力尋優(yōu)后,把參數(shù)當(dāng)做自變量,把業(yè)績(jī)當(dāng)成函數(shù)值,然后對(duì)業(yè)績(jī)曲面進(jìn)行局部線性估計(jì)平滑,從而掌握參數(shù)曲面的整體形態(tài),更好應(yīng)用前面提到的幾個(gè)參數(shù)尋優(yōu)原則。 局部線性估計(jì)的平滑結(jié)果受核權(quán)重函數(shù)的影響并不大,但是受平滑窗寬的影響非常大,包含進(jìn)平滑的樣本點(diǎn)個(gè)數(shù)決定了業(yè)績(jī)曲線的光滑度,會(huì)產(chǎn)生平滑不足或者過(guò)度平滑的問(wèn)題。 精確最優(yōu)的平滑窗寬需要知道模型隨機(jī)誤差的分布信息,實(shí)際上這些信息完全不可知。通常的窗寬用一種經(jīng)驗(yàn)算法來(lái)確定,假設(shè)隨機(jī)誤差是正態(tài)分布,并用到業(yè)績(jī)樣本標(biāo)準(zhǔn)差信息 (三)移動(dòng)平滑估計(jì) 如果是抽樣解決效率和精度問(wèn)題,局部線性估計(jì)提高尋優(yōu)結(jié)果的可讀性,移動(dòng)平滑方法從根本上改變尋優(yōu)的思路,通過(guò)對(duì)樣本的切割,把尋優(yōu)數(shù)據(jù)和評(píng)估數(shù)據(jù)加以區(qū)分,沿著樣本移動(dòng)若干次之后,對(duì)若干對(duì)參數(shù)的樣本外業(yè)績(jī)進(jìn)行綜合評(píng)估,這有些借鑒Cross Validation的統(tǒng)計(jì)學(xué)思想。 假設(shè)我們一共有
綜合考慮所有窗口中的結(jié)果來(lái)確定策略表現(xiàn)的有效性和參數(shù)的穩(wěn)定性,輸出下表 我們對(duì)前面的優(yōu)化問(wèn)題進(jìn)行適當(dāng)簡(jiǎn)化,以200天為樣本內(nèi)數(shù)據(jù)滾動(dòng)尋優(yōu),可以得到下圖: 有些時(shí)候,人們喜歡把多參數(shù)和多策略、多品種、多周期并列為同一級(jí)別的四多,獲取實(shí)際意義上的分散。乍看參數(shù)尋優(yōu)并不屬于品種、策略思路和周期一個(gè)維度的問(wèn)題,是要通過(guò)尋找分個(gè)彼此高下的問(wèn)題,但是我們建議,不妨在一定的程度上,把參數(shù)也當(dāng)做一個(gè)策略維度,進(jìn)行配置,對(duì)于兩個(gè)距離較大,但是業(yè)績(jī)都還不錯(cuò)的參數(shù)取值而言,這種分散相當(dāng)于更加穩(wěn)健的策略結(jié)構(gòu),有些機(jī)器學(xué)習(xí)boosting的思路。最重要的是,多參數(shù)和多策略、多周期,其實(shí)也是一種平衡關(guān)系。 |
|