# 以台指期為例（手把手）

以下內容同[手把手教學篇靜態回測範例DEMO](http://quantbrains.club/2020/11/12/%E6%89%8B%E6%8A%8A%E6%89%8B%E6%95%99%E5%AD%B8%E7%AF%87%E9%9D%9C%E6%85%8B%E5%9B%9E%E6%B8%AC%E7%AF%84%E4%BE%8Bdemo/)

![](https://270119118-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MAy7e71ZazIxnUSDRnj%2F-MlJjPodV3FVjISNI3ej%2F-MlJjfzOHhIx0TSzs2h-%2Fimage.png?alt=media\&token=f7e595fc-d3bb-4613-87db-da1475739311)

![](https://270119118-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MAy7e71ZazIxnUSDRnj%2F-MlJNNetKf7NYA4PPAzF%2F-MlJbdowCAcp9Ti52Rkh%2Fimage.png?alt=media\&token=c51ba8df-c168-4445-8a9f-63ddcda7dfd1)

選擇日線，記得勾選以分線組成（交易時段為熱門時段 08：45 \~ 13：45）

延伸閱讀：[如何設定特定交易時段（by Touchance）](https://www.touchance.com.tw/mc_post?idno=97)

{% hint style="info" %}
關於這裡為什麼要使用熱門時段，而不是全日盤（包含夜盤）

用噪音的觀點去看。 通常夜盤本身量小，也會受其他市場影響，是屬於雜訊比較大的時段（不只台指期，包括其他市場也是一樣），所以通常像台指小道日經等等都一樣，會建議T+1盤都可以拿掉不做，也是一道去雜訊的步驟（時間濾鏡）。
{% endhint %}

然後掛上我們套件中的一千零一隻無腦均線跟蹤策略跟靜態回測用的行車電腦

![](https://270119118-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MAy7e71ZazIxnUSDRnj%2F-MlJNNetKf7NYA4PPAzF%2F-MlJcFRvfmEEBNRUfmQX%2Fimage.png?alt=media\&token=9c2b756c-230a-47cc-b350-a84aaa9d1778)

(選定均線參數，這裡直接設定我個人習慣使用的40)

設定一下交易成本以及行車電腦運算分析所需要用到的最大使用K棒數量

**註**：這裡不一定要設定交易成本，因為第一個圖（後稱A圖）表示用來做分析的，交易成本的設置有可能導致分析失真（波段策略還好，主要是交易次數較多的極短線策略）

![](https://270119118-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MAy7e71ZazIxnUSDRnj%2F-MlJNNetKf7NYA4PPAzF%2F-MlJcpJMm82uPjrjChBt%2Fimage.png?alt=media\&token=7547547c-447b-4a01-a94a-106b3fe8c458)

然後我們就可以先來看一下一千零一隻策略的原始表現（A圖的回測，未使用部位管理）

&#x20;基本上經過 **多空分拆** 跟 **BackAdjustedData資料偏差調整處理** 之後，長期表現就已經還可以了，基本上台指只要有行情就不會漏掉（**無腦均線跟蹤系統**的好處，單一參數邏輯簡單傻傻緊跟所以不會有漏掉的，所以其實也沒什麼特徵失效的問題）

![](https://270119118-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MAy7e71ZazIxnUSDRnj%2F-MlJNNetKf7NYA4PPAzF%2F-MlJdtTDC5qXcoCl5t_H%2Fimage.png?alt=media\&token=009b2bc6-1d55-408e-8c75-6a4d4bc3a835)

![](https://270119118-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MAy7e71ZazIxnUSDRnj%2F-MlJNNetKf7NYA4PPAzF%2F-MlJdx3EPNUCDDUHFQNy%2Fimage.png?alt=media\&token=fd168705-311d-43cd-a8b5-4a70a87b38e2)

接著我們來進行部位管理的配置，我們可以勾選或設定一下我們想要了解行車電腦中所提供的回測選項

![](https://270119118-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MAy7e71ZazIxnUSDRnj%2F-MlJjPodV3FVjISNI3ej%2F-MlJkCPj-1sRLnN_gaaE%2Fimage.png?alt=media\&token=e3a983be-084f-45b6-b82b-4292c2d59aef)

~~EVA\_OnOff 為基礎評價函數的開關~~（已於新版本的部位管理模組中移除）

MyFilterOnOff 為你自行擴充的噪音處理區塊開關（預設區塊裡面是空的，未來可依據你自己的經驗與需求設計）

~~Lookbackdays 為你希望作評價分析的最大回溯周期~~ （已於新版本的部位管理模組中移除）

後面四個DD開頭的則是同學們最近比較想花時間了解的DD管理項目

DD\_Management\_OnOff 為DD管理的開關

DD\_Management\_Mode 為想要使用的管理模式

DD\_StdLen 為DD管理所使用的波動參考周期

DD\_Weight 則為波動參考周期的權重（預設為統計學上慣用的兩倍，可依據商品特性調整）

這個回測模組主要是要幫助同學來理解DD管理該怎麼設定比較好，所以我們就直接開啟 DD\_Management\_OnOff 設定為 1

目前我們提供四種基本模式（同學可以自行重新依據自己的需求設計更多其他模式，細節請同學直接看原碼）

Mode 1/Mode 2 為原始策略訊號，並在DD達閥值之後加碼

Mode 3則為濾鏡模式（忽略原始策略訊號，僅在ＤＤ到達閥值之後開啟策略）

Mode 4（**重要**）為函數式的寫法。

之前的文章裡有寫過一件很重要的事情，由於受到MC的思想制約，我們很習慣把策略與濾鏡寫成二分法（所以才叫做濾鏡），也就是閥值式的寫法。但策略中閥值式的寫法很容易造成一個大問題，也就是如果行情沒有到達閥值的時候就展開了，我們很容易就會錯失掉等了很久的重要行情，所以更好的方式就是改用函數（描述機率分布或資金分配演算法）的形式來撰寫，這樣就不會錯失任何訊號或行情又能同時依據即時的優勢與風險變化來靜態或動態分配我們的部位。

Mode1/Mode2僅為倍數的差別，所以我們直接看Mode2即可。所以接下來我們依序來看Mode 2/3/4。

以上是圖表A的準備工作，然後我們就可以再來開一個新圖表B（別忘了勾以分線組成）用以觀測DD管理後的結果，圖表開啟後直接掛上@QB\_Strategy\_PureTrend\_GetDMM (請記得使用與圖表A相同的均線週期與相同的交易成本設置)

回到圖表A，將Mode 設定為 2 ，接著將圖表B我們剛剛掛上的@QB\_Strategy\_PureTrend\_GetDMM 狀態選為啟動

即可看到DD管理Mode 2 的結果

![](https://270119118-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MAy7e71ZazIxnUSDRnj%2F-MlJjPodV3FVjISNI3ej%2F-MlJkP0ove04FFyoLXDz%2Fimage.png?alt=media\&token=8a889ff3-383c-4516-9e19-b8fdb6e12cdc)

透過DD管理的籌碼配置縮放，很明顯權益曲線已經比原始策略要更為穩定

再來回到圖表A，將Mode 設定為 3重新計算 ，接著回到圖表B我們剛剛掛上的@QB\_Strategy\_PureTrend\_GetDMM 狀態先選為關閉，然後再重新選為啟動，重新載入資料，即可看到DD管理Mode 3 的結果

（Mode 3 為閥值模式，捨棄原始策略訊號）

![](https://270119118-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MAy7e71ZazIxnUSDRnj%2F-MlJjPodV3FVjISNI3ej%2F-MlJkUVsGJiWTV-Cs6yt%2Fimage.png?alt=media\&token=3f41a772-a21f-4eb8-b45a-58062d170a9b)

Mode 3 （閥值模式）是捨棄原始策略的結果，可以用以觀測ＤＤ管理的有效性，或是用來決定DD\_Weight該怎麼設置時使用。

亦可以單獨使用，通常如果操作商品品項非常多的人，就可以單獨使用Mode3，雖然訊號少（閥值式濾鏡的問題，雖然訊號品質高，卻容易放掉其實可以獲利的行情），但可以透過操作商品品項數量來解決，讓資金高效在多商品中流轉。

接著再來看重點 Mode 4，回到圖表A，將Mode 設定為 4重新計算 ，接著回到圖表B我們剛剛掛上的@QB\_Strategy\_PureTrend\_GetDMM 狀態先選為關閉，然後再重新選為啟動，重新載入資料，即可看到DD管理Mode 4 的結果

（Mode 4 為DD函數式的寫法，**不錯失任何訊號**，但**依據DD的分布位階來配置資金**）

![](https://270119118-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MAy7e71ZazIxnUSDRnj%2F-MlJjPodV3FVjISNI3ej%2F-MlJkc2CVkJN_txi9nGv%2Fimage.png?alt=media\&token=f109408e-c639-4dff-96c4-5fb13dc2762b)

![](https://270119118-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MAy7e71ZazIxnUSDRnj%2F-MlJjPodV3FVjISNI3ej%2F-MlJkfITw7K3ik6HlBFT%2Fimage.png?alt=media\&token=2ac9c96d-b5cc-49b9-8eaf-ad1633ed9aad)

跟Mode 2 比起來更為smooth了，這就是用函數式寫法取代濾鏡式（閥值）寫法的特點，**不放棄任何訊號又兼顧DD管理的優勢**。源碼也就一行，同學自己看，我就不廢話了，當然你也可以改成你自己覺得更好更符合你心中想要的籌碼配置方法。

**策略進出場位置完全沒有變**，只是在**籌碼的分配演算法**上做部位變化（**部位管理**）就能夠有這麼多進化，並且能夠穿透到不同商品去，對未來未知盤勢的穩固性也比一直鑽牛角尖在多策略疊加要好多了，這就是管理。

同學們可以仿照套件，改成自己的策略或應用到不同的商品去，釣竿給你了，剩下的部分跟應用與延伸就是你自己的功課了

所以學交易到底難不難，老實說很難，難的點在如果沒有人告訴我們重點在哪，我們得撞得頭破血流學全一百樣功夫一百個策略一百種商品，然後滿身傷痕之後才知道哪九十九件該被丟棄，但最後留下來的東西又其實很簡單，江湖一點訣，說破也就這樣。

\
（延伸思考：同學可以思考一下如何仿照Mode 4的寫法，來實做一下我們之前討論區內有篇文章是關於如何判斷商品當下行情位置的風險位階，請試試看透過這個寫法來實作出一個主動式的濾鏡函數，實做出來後可以放入此@QB\_Static\_BackTest\_Pass 中的 MyFilter 區塊中，同樣可進行回測，之後有空我再來討論區裡發那一篇的延伸，講講德國股神科斯托蘭尼的雞蛋理論遛狗理論到底在講什麼以及其資金配置函數該怎麼撰寫）
