iT邦幫忙

2023 iThome 鐵人賽

DAY 24
0
AI & Data

從零到英雄:用GCP建立AI交易體系系列 第 24

Day 24 合成數據回測(中)

  • 分享至 

  • xImage
  •  

數值確定最優交易規則

今天我們將探討最優交易規則的推導和作法,尤其是針對一般和Ornstein-Uhlenbeck(O-U)模型。首先來找出最優交易規則。為了良好的閱讀我們將內容連結放上來還原數學式(真的要發瘋了),體諒一下我字數的問題這一篇先不用截圖,感謝各位。

算法

該算法包括五個連續的步驟。

步驟1:

我們通過線性化方程$13.2$來估計輸入參數${\sigma,\phi}$,如下:

$$
Pi,t=E0[Pi,Ti]+\phi(Pi,t-1-E0[Pi,Ti])+\xi_t\quad
$$

$$
P_{i,t}=(1-\phi)E_0[P_{i,T_i}]+ \phi P_{i,t-1}+\sigma\epsilon_{i,t}\quad(13.2)
$$

其中E0[Pi,Ti]是預期價格、Pi,t-1是時間延遲項、ξ_t是隨機誤差。

然後,我們可以通過序列化機會來假設向量X(過去價格與其預期價格之間的差異)和Y(未來價格)、Z(預期價格):

$$
X=\begin{pmatrix}
P0,0-E0[P0,T0]\
P0,1-E0[P0,T0]\
\vdots\
P0,T-1-E0[P0,T0]\
\vdots\
PI,0-E0[PI,TI]\
\vdots\
PI,T-1-E0[PI,TI]
\end{pmatrix}
;Y=\begin{pmatrix}
P0,1\
P0,2\
\vdots\
P0,T\
\vdots\
PI,1\
\vdots\
PI,T
\end{pmatrix}
;Z=\begin{pmatrix}
E0[P0,T0]\
E0[P0,T0]\
\vdots\
E0[P0,T0]\
\vdots\
E0[PI,TI]\
\vdots\
E0[PI,TI]
\end{pmatrix}
\quad(5)
$$

對方程$5$應用OLS(最小二乘法),我們可以估計原始的O-U參數:

  • X和Y之間協方差與X自身協方差的比值
    $$
    \hat{\phi}=\frac{{\text{cov}[Y,X]}}{{\text{cov}[X,X]}}
    $$

  • Y、Z和$\hat{\phi}X$的線性組合
    $$
    \hat{\xi}_t=Y-Z-\hat{\phi}X\quad
    $$

  • $\hat{\xi}_t$的隨機誤差的標準差
    $$
    \hat{\sigma}=\sqrt{{\text{cov}[\hat{\xi}_t,\hat{\xi}_t]}}
    $$

其中$\text{cov}[\cdot,\cdot]$是協方差運算符。

步驟2:

我們構建一個停損和獲利配對的網格,$(\pi,\bar{\pi})$。
例如,一個笛卡兒積$\pi={-\frac{\sigma}{2},-\sigma,\ldots,-10\sigma}$和$\bar{\pi}={\frac{\sigma}{2},\sigma,\ldots,10\sigma}$給我們提供了$20\times20$的節點,每個節點都構成了一個替代交易規則$R\in\Omega$。

笛卡兒積:從兩個或多個集合中選擇所有可能的配對。在這個案例中,有兩個集合,一個是停損值(π)的集合,另一個是獲利值($\bar{\pi}$)的集合。

步驟3:

我們生成大量的路徑(例如,100,000條)用於$\pi_i,t$,應用我們的估計值${\hat{\sigma},\hat{\phi}}$。作為初始值,我們使用與機會i相關的觀察到的初始條件{Pi,0,E0[Pi,Ti]}。由於一個部位不能無限期地持有,我們可以設定一個最大持有期(例如,100個觀察值),此時即使$\pi\leq\pi_{i,100}\leq\bar{\pi}$,位置也會被結束。這個最大持有期相當於最前面label的0(到期)。

步驟4:

我們在步驟2中生成的$20\times20$網格$(\pi,\bar{\pi})$的每個節點上應用步驟3中生成的100,000條路徑。對於每個節點,我們應用停損和獲利邏輯,給我們100,000個$\pi_{i,Ti}$值。同樣地,對於每個節點,我們計算與該交易規則相關的夏普比率,如先前提到的方程所描述(重新寫在下方)。這個結果可以用三種不同的方式使用:步驟5a、步驟5b和步驟5c。

$$
SRR=\frac{E[\pi_{i,T_i}|R]}{\sigma[\pi_{i,T_i}|R]}
$$

步驟5:

有三個子步驟去確認最佳的交易規則:

步驟5a:

我們確定交易規則網格內最優的配對(夏普比率SSR最大的)$(\pi,\bar{\pi})$,給定輸入參數${\hat{\sigma},\hat{\phi}}$和觀察到的初始條件${Pi,0,E0[Pi,Ti]}$。

步驟5b:

如果策略S為特定機會i提供了一個獲利目標$\pi_i$,我們可以結合步驟4的結果來確定最佳的停損$\pi_i$。

步驟5c:

如果對機會i施加了最大停損$\pi_i$,我們可以結合步驟4的結果,在停損範圍$[0,\pi_i]$內確定最佳的獲利$\pi_i$。

Bailey和LopezdePrado證明了方程$(13.2)$中過程的半壽期$\tau$是$\tau=-\frac{{\log[2]}}{{\log[\phi]}}$,其中要求$\phi\in(0,1)$。從這個結果,我們可以確定與某個半壽期$\tau$相關的$\phi$值,即$\phi=2^{-\frac{1}{\tau}}$。

實作

實作明天再說~~


上一篇
Day 23 使用合成數據回測(上)
下一篇
合成數據回測(下)
系列文
從零到英雄:用GCP建立AI交易體系34
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言