期貨量化交易軟件:MQL5 中的范疇論 (第 4 部分)跨度、實驗、及合成
概述
在上一篇文章中,赫茲期貨量化看到了范疇論如何通過其乘積、余積和通用性質(zhì)的概念在復(fù)雜系統(tǒng)中發(fā)揮作用,分享了其在金融和算法交易中的應(yīng)用示例。 在此,赫茲期貨量化將深入研究跨度、實驗、及合成。 我們將看到這些概念如何提供一種更細致和靈活的系統(tǒng)推理方式,以及如何運用它們來開發(fā)更復(fù)雜的交易策略。 以范疇論的角度了解金融市場的底層結(jié)構(gòu),交易者可以得到對金融產(chǎn)品行為的新見解,構(gòu)建更復(fù)雜的投資組合,并制定更有效的風險管理策略。 總體而言,范疇論在金融中的應(yīng)用有可能徹底改變我們對金融市場的思考方式,并令交易者能夠做出更明智的決策。

跨度、實驗、及合成
在范疇論中,跨度(span)是將三個對象和它們之間的兩個態(tài)射聯(lián)系起來的構(gòu)造。 具體來說,跨度是形狀的關(guān)系示圖:

這個非?;镜氖緢D也可以用下面的一行表示:
A<--- f --- P --- g --->B
其中 A、B 和 P 是類別中的域,f:P 到 A 和 g:P 到 B 是類別中的態(tài)射。 態(tài)射 f:P 到 A 和 g:P 到 B,稱為跨度的腿。
跨度 P,可被認為是在 A 和 B 之間關(guān)聯(lián)方式的兩條不同路徑或視角,一條經(jīng)由 f,另一條經(jīng)由 g。 支腿 f 和 g 是分別連接 A 和 B 處的路徑,并允許比較和組合這兩條路徑。
赫茲期貨量化先回顧一下理論,然后再深入探討于 MQL5 內(nèi)可能的應(yīng)用。
跨度在范疇論中很重要,因為它們提供了一種比較范疇中兩種不同態(tài)射的方法。 給定兩個態(tài)射 f:A → B 和 g:A → C,從 B 到 C 的范圍是形式 B ← A → C 的示圖,其中兩個箭頭表示態(tài)射 f 和 g。 跨度通常用于定義范疇論中的極限和共極限。 例如,可以將范疇中邏輯示意圖的極限定義為該示圖上的通用圓錐體,其中圓錐體是從極限對象到關(guān)系圖中滿足特定條件的每個對象的跨度。
跨度在定義回拉時也很有用,其是一種限制類型,其中所涉及的對象通過一對態(tài)射相關(guān)。 給定兩個態(tài)射 f:A → B 和 g:A → C 在一個范疇中,f 和 g 的回拉是一個對象 P,以及兩個態(tài)射 p1:P → B 和 p2:P → C,使得 f ° p1 = g ° p2 和 P 在這個性質(zhì)上是共通的。 回拉在數(shù)學(xué)和科學(xué)的許多領(lǐng)域都很重要,包括代數(shù)幾何、拓撲學(xué)、和計算機科學(xué)。
范疇論中的另一個重要概念是實驗,它是由兩個平行態(tài)射和連接它們的協(xié)域的第三個態(tài)射組成的示圖。 實驗可以被認為是一種范疇論里變換對象的兩種不同比較方法之一。 例如,給定兩個態(tài)射 f:A → B 和 g:A → C,從 B 到 C 的實驗是形式 A → B ? D ← C 的示圖,其中箭頭分別表示態(tài)射 f、g 和 h。 實驗可用于以類似于跨度的方式定義極限和余限,并且它們也可用于定義協(xié)均衡器,其是一種可用于識別具有相同協(xié)域的兩個不同態(tài)射的余限。
合成是范疇論中的基本概念,它由兩個或多個態(tài)射組合而成。 給定兩個態(tài)射 f:A → B 和 g:B → C,它們的合成是態(tài)射 g ° f:A → C,它是通過應(yīng)用 f 后跟 g 獲得的。 合成性質(zhì)是結(jié)合,針對任何三個態(tài)射 f、g 和 h,這意味著(h ° g)° f = h °(g ° f)。 此性質(zhì)允許一次組合多個態(tài)射,且用于定義范疇的概念,其為滿足某些公理的對象和態(tài)射的集合。
以下是跨度、實驗和合成在金融和交易范疇論中的十個即興應(yīng)用:
跨度可以模擬金融衍生品的基礎(chǔ)資產(chǎn),以及用于復(fù)現(xiàn)其收益的對沖工具。 跨度的通用性質(zhì)將有助于定義衍生品的價格。
通過組合不同的資產(chǎn)類別,以最小化風險和最大化回報的方式,通過合成來有效地構(gòu)建投資組合。 這可以通過使用合成物的通用性質(zhì)來指導(dǎo)。
跨度可以針對金融機構(gòu)應(yīng)對不同市場因素的風險承受能力建模。 這可以通過構(gòu)造一個將機構(gòu)資產(chǎn)與相關(guān)市場指數(shù)聯(lián)系起來的跨度來達成。
實驗可以測試不同交易算法在不同市場條件下的性能。 這可以通過構(gòu)造模擬市場行為的實驗,并測量算法在模擬數(shù)據(jù)上的性能來模擬。
按縮小的比例針對金融系統(tǒng)的行為進行建模是域合成能提供幫助的事情。 舉例,研究 SP500 如何在各個不同的較長周期分區(qū)中相互關(guān)聯(lián)。
跨度可以使用更簡單的工具合成來針對特定金融產(chǎn)品的復(fù)現(xiàn)建模。 這對于設(shè)計具有理想性質(zhì)(例如與現(xiàn)有金融產(chǎn)品的相關(guān)性較?。┑男滦徒鹑诋a(chǎn)品時很有用。
實驗可以通過比較特定策略與對照組的表現(xiàn)來測試交易策略。 這可以使用實驗的普遍性再次實現(xiàn)。
實驗還可以測試不同市場微觀結(jié)構(gòu)設(shè)計的效率。 通過構(gòu)造一個模擬不同類型市場參與者行為的實驗,并衡量由此產(chǎn)生的市場結(jié)果,即可做到這一點。
合成材料可以針對金融機構(gòu)的整體風險承受能力建模。 這可以通過構(gòu)造機構(gòu)各種業(yè)務(wù)線的組合,并分析它們的相互依賴性來完成。
跨度可以針對不同財務(wù)數(shù)據(jù)源之間的關(guān)系進行建模。 據(jù)其可以設(shè)計機器學(xué)習(xí)算法,能從不同的數(shù)據(jù)源中提取有用的特征。
為了描述這個概念的應(yīng)用,赫茲期貨量化可以講述一個跨度“實驗”,它涉及發(fā)現(xiàn)一個證券的多頭持倉利潤與一對其它變量(即證券的移動平均線和平均真實范圍)之間是否存在關(guān)系。 這個“實驗”可以表示為一個示圖,涉及一個頂點、兩個域和它們之間的態(tài)射。
假設(shè)我們有一個范疇 C,其中包含兩個域 A 和 B,分別表示移動平均線的域和平均真實范圍的域。 在這個范疇中,我們還有一個域 P,代表多頭持倉利潤,并充當我們的頂點。
然后,赫茲期貨量化可以繼續(xù)定義兩個態(tài)射 f:P -> A 和 g:P -> B,它們將多頭持倉浮動盈利 P 分別映射到其在域 A 和 B 中的可觀察量。 這些態(tài)射表示可觀察量的日志記錄。
?這種示圖表示令我們能夠以更抽象和正式的方式分析實驗,并應(yīng)用范疇論的概念和工具來推導(dǎo)它。
為了執(zhí)行“實驗”,赫茲期貨量化在當前圖表品種上打立一筆買入訂單,比如 EURUSD,0.1 手,然后在每根新柱線上記錄當前的浮動盈利、MA 和 ATR。 根據(jù)觀察到的數(shù)據(jù),我們可以看到數(shù)據(jù)之間是否存在任何相關(guān)性,然后可據(jù)其為多頭持倉提出理想的尾隨停止系統(tǒng)。 這里所用的 MA 和 ATR 指標可以很容易地以讀者認為更合適的指標代替。 我選擇這些只是為了說明。
如果我們在 3 月 1 日的小時時間幀內(nèi)基于 EURUSD 進行此實驗,我們將得到一些數(shù)據(jù)。
P: (浮動盈利)
A: ATR
B: MA
-6.60000
0.00203
1.12138
-14.90000
0.00181
1.12136
-18.80000
0.00175
1.12140
-24.20000
0.00157
1.12125
-29.00000
0.00146
1.12100
-24.30000
0.00127
1.12078
如果我們在兩個域數(shù)據(jù)集 A 和 B 中的每一個與持倉利潤之間進行滯后相關(guān)性,這可以幫助設(shè)置這些域中的每一個是否可以預(yù)測持倉的負向回撤。 此信息將有助于設(shè)置或移動多頭持倉的現(xiàn)有止損。
這些跨度可有助于定義止損的另一種方式是,如果我們假設(shè)每個終端域 A 和 B,通過它們各自的態(tài)射 f & g 來形成多頭持倉的理想止損應(yīng)該相距多遠的共積(總和)。 這些態(tài)射本質(zhì)上是接受輸入,并提供輸出的函數(shù)。 在這種情況下,每個終端域?qū)⑻峁┢渲笜酥底鳛檩斎?,每個函數(shù) f 和 g 將提供雙精度值的輸出。
將這些雙精度值相加,相當于一個共積,將給我們理想的止損價格。 如果我們認為態(tài)射的輸出(止損價格)與態(tài)射的指標輸入具有線性關(guān)系,那么這些方程是隱含的。

其中 xa ? A 和 ma 和 ca 是線性關(guān)系的斜率和 y-截距系數(shù)。 與其類似,對于 B 域

該假設(shè)適用于理想止損增量,和指標值之間的線性關(guān)系。 如果這種關(guān)系是一條曲線,那么上述方程就是二次的,且擁有更多的系數(shù)和指數(shù)。 但是,赫茲期貨量化更簡單的選項可以按如下所示進行編碼。
double _sl=((m_ma.Main(_index)*m_slope_ma)+(m_intercept_ma*m_symbol.Point()))+((m_atr.Main(_index)*m_slope_atr)+(m_intercept_atr*m_symbol.Point())); ? ? ?
如果,我們基于 MQL5 內(nèi)置的智能尾隨類構(gòu)建自己的尾隨類,并采用我們的理想止損增量,那么 A 域和 B 域的系數(shù) m 和 c 都可以作為此尾隨類的輸入。 測試基于過去一年的數(shù)據(jù),對于 EURUSD 的小時數(shù)據(jù),我們的信號作為內(nèi)置的 “signalRSI.mqh” 類,為我們給出下面所示的報告和曲線。


如果我們看一下合成跨度,這里指出的思路可以進一步發(fā)展。
合成跨度是跨度的跨度。 在我們的例子中,我們可以得以證實,指標值有些滯后。 這種略微的滯后可能導(dǎo)致我們的尾隨停止價格不太精確。 為了定位這個問題,赫茲期貨量化可以將域 A 和 B 重新構(gòu)建為跨度。 A 將更改為 A' 和 C 的乘積,而 B 將更改為 C 和 B' 的乘積。

映射到子域 A'、C 和 B' 的合成跨度可以幫助優(yōu)化態(tài)射 f:P 到 A、g:P 到 B、f':A' 到 A、f'':C 到 A、g'':C 到 B,以及 g':B' 到 B,通過提供域 A 和 B 中可觀察量之間的更精細的數(shù)據(jù)視圖和關(guān)系,微調(diào)我們的尾隨停止系統(tǒng)。