手把手教學篇開始建構你的交易系統
這一篇主要是簡單地做個入門的範例,手把手教學讓新同學先有個開始,了解怎麼透過QuantBrains戰略交易平台與Multicharts開始建立一個完整的交易系統生態(所謂的完整包括策略與資金管理),萬事起頭難,這篇先幫把你的第一間店開起來
商品的選擇與資料的處理
<商品的選擇>
商品的選擇有很多種模式,比較常見的像是透過選股系統(設定某些評價條件來掃描大量股票商品),或是依據個人研究或喜好來選定。這裡我們就先直接延續我們前面的文章選定台指期、恆生或是小日經,也就是我們比較熟悉的指數型期貨商品作為範例。
<資料的處理>
- 時段的選擇
在古早的時代電子交易尚未發達以前,股票或期貨商品都只有特定時間可以進行交易,但隨著電腦跟網路的發達,現在多數的商品除了原本的人工盤時間之外,也開始多了電子盤甚至全時段的交易時間,也就是大家所熟知的日盤夜盤或稱T跟T+1時段。所謂的時段的選擇就是決定你的策略要跑在那些時段,可以只跑人工盤時段,也可以日盤夜盤一起來。
這裡我們可以依據個人喜好或是策略特性來選擇我們所想要的交易時段。
通常對於波段策略我個人會建議專注在熱門時段也就是人工盤的時間就可以了,主要的原因在於電子盤的成交量一般來說會小於人工盤,代表走勢意義的代表性相對上比較小,雜訊相對大,所以我個人通常是忽略不看,當然這只是我個人的習慣,你可以依據策略特性(有些逆勢或回歸策略反而喜歡雜訊或亂度大一點的樣本)或回測來進行分析後做選擇。
- 合約接續與back adjusted data
關於BackAdjusted Data的重要性在前面幾篇文章裡應該都有講到了,這裡就不重新再贅述,可以參考下面兩篇文章(就算以前看過也是建議重新閱讀)
交易其實就是一連串的噪音處理流程,都還沒有進入策略的撰寫就已經有兩道噪音(時段的選擇、合約的接續偏差)需要處理,不困難,但也很容易被忽略過不做。資料本身雜訊就大的話,就算後面指標設計的多厲害、策略寫得再好也會被衝康的不知不覺(資料偏誤影響最直接的是最佳化的結果與即時運算)
不過有工具其實一切簡單,我們直接從歷史資料下載中心下載我們已經處理好的back adjusted資料,以我們上一篇的小日經為例,叫出歷史資料下載中心,點選<取得最新數據>按鈕,然後找到NK225M (熱門時段、BackAdjusted)點選下載按鈕

然後我們可以在 QuantBrains 平台資料夾中的”歷史資料”資料夾中找到已下載完成的 BackAdjusted 歷史資料


解壓縮後即可直接以Ascii模式匯入 QuoteManager 的Symbol中
(如果Symbol內有舊資料,請先點選Delete Data清理舊資料)

未來每次新合約的轉倉,只需要在轉倉日自行從QuoteManager中將歷史資料匯出,並透過歷史資料下載中心內的 ”合約轉換調整” 功能給予新的轉倉合約價格,即可自行即時處理取得新的 BackAdjusted data以匯回QuoteManager中,不需要再重新下載。

檢查QuoteManager中該symbol的設定值


(只取用熱門時段)
以上是資料處理的部分。
再強調一次合約接續處理這個部份很重要,不要因為懶而放棄這個小細節,交易的小細節很多,每一個小細節都可能藏著魔鬼,西蒙斯在這裡吃過大虧,我在這裡也吃過小虧(雖稱不上血淚但長期下來其實差很多),很多人則是吃過大虧但到死都不知道原來死在這裡XD 既然要做量化交易,不要在起跑點就出問題,地基裡留一堆氣泡,上面堆疊多少好策略都會有崩塌的可能。以前我自己其實是跟多數人一樣,就是懶,"心裡感覺"轉倉是運氣運氣,應該沒什麼差吧。直到某一次拿到比較完整的BackAdjusted歷史資料,跑了之後才發現,差很多XD 某些原本不得其門而入的商品(就是拿現有策略不論怎麼測都覺得很難看到穩定的獲利模式),一換上之後突然就都順暢了,當下才驚覺怎麼差這麼多XD 果然有些東西總是只在腦袋裡”以為”還是不行的,懶惰就是最大的魔鬼。
資料都準備好了,我們就可以準備來上我們第一間店的策略了~
準備策略
延續我們前面文章的內容,大家應該耳熟能詳那隻無腦的均線策略了,請直接在討論區裡下載並匯入
策略匯入好之後,我們就直接來建立一個圖表

週期選擇”day”(日),記得勾選build from minutes(由分鐘線組成),時間從2007年開始

然後掛上我們的一千零一隻無腦均線策略(自行在討論區中下載)

可以看到這個策略有三個參數,前兩個分別是多單跟空單的開關,所以嚴格說起來這個策略只有一個參數,也就是均線的週期,原始碼也只有幾行,主要就是前面文章裡說到的band上做多或出場 band下放空或出場,沒了,非常無腦的標準順勢策略,相信大家口袋裡的策略多少都有這樣一隻
簡單設定一下交易成本跟預計算需要的K棒數

<參數的選擇>
其實就是最佳化,這個主題如果真要講又可以再拉一大篇出來講XD 比較無腦的方式當然就是直接用multicharts的預設值,也就是直接用netprofit做排序,比較嚴謹的方式則是依據自己的經驗或需求來設計一些評價方法,寫成評價函數再來做最佳化排序。也有一些特別的技巧,像是共振法(我亂取的)找參數,例如某些市場可能不只有一個指數,像台灣有台指電指金指,美國有NQ、ES、YM,香港有HSI、HHI,我們可以在Portfolio Trader中同時掛入同市場內的多個指數,例如同時掛入NQ、ES、YM三個指數,使用同一個順勢策略,再利用Portfolio Trader特有的共同最佳化功能,來找出同時滿足三個指數的參數(因為三個指數同屬同一個市場,一般來說週期會同步),透過這種方法可以相互過濾掉一些"隨機或巧合的幸運"的過度最佳化訊號,讓相對穩固的參數跑出來。其他也有一些比較直覺的參數決定法,像是目測法(特別適用均線類型),像是你直接秀圖表出來,用目測直接觀察,找最有支撐壓力現象的那組參數就可以了。
一般來說如果只有很單純的什麼通通都寫在策略裡的話,會蠻在意參數的,但如果我們有做好策略管理或資金管理的話,其實參數本身的重要性會下降很多,市場隨時在變,抓個大概就好
我的主要投資組合沒有在參數上著墨太多,直接把30/60/90掛入平台(所以我沒有做MC最佳化)中,其他的靠管理來處理。不過這種作法只是我個人的喜好,未必最佳(符合你的個性或經驗才是最佳)
這篇因為是寫給新同學的流程,所以我們還是照一般大家的作法來做參數的選擇,就不要太天馬行空又扯遠了
直接用無腦的窮舉法來搜尋20~100的參數

還算好選,基本上參數大致上就坐落在 5X跟9X兩個高原,選你喜歡的就好

為什麼有了管理之後參數的重要性就會下降
先來看9X

沒有管理,這已經是均線多空對翻最好的結果
有了管理,系統會自行進行多空自動分拆分析

變好了(尚未用上DD管理)
再來看看7X(在最佳化排名很後面)

不在最佳化排行前面
但經過管理系統自動分析資金配置

看起來好很多了,但還是不爽,怎麼辦,因為你忘了開DD管理。打開DD管理模式,讓平台參考drawdown或噪音的分布重新分配資金,在dd發生後才下大注

儘管不如5X跟9X,但勉強也可以接受了
再來看看參數5X(排名前十的參數)

直接透過管理平台自動重新配置部位(多空分拆+DD管理)

還不錯,可以開店了.....
這就是為什麼部位管理比策略或參數重要,正確的管理部位,會讓你的參數的選擇重要性下降(這很重要,這代表即使你選到了7X,也還可以扳回一城,提高對未來未知盤勢的適應性),剛學程式交易的時候我們總是會學到一些千篇一律的內容,告訴你參數應該怎麼選擇,要選擇高原區還是要做什麼策略驗證、Walk Forward Analyze、蒙地卡羅什麼的,當然不是說那些概念有問題,只是其實還有其他觀念上更簡單且效率更好的做法(部位管理與資金管理)。我們很少會看到一些很成功的主觀交易者或是那些成功交易者的經典書籍裡拘泥於什麼神奇指標或參數的選擇要多精準,而是永遠講著那些老掉牙的試單、加碼、等待(等待並非只是坐著等獲利變大而已,更重要的是等待進場的好時機)與資金管理,因為這才是最重要的事情。
又扯遠了,所以參數的選擇,我們就在9X或5X裡面選一組就可以了,通常新手或新同學選小的那一組會習慣一點,主要是心理因素的關係,新手可能會比較喜歡頻繁一些的進出。如果還是有選擇障礙也沒關係,事實上根本也不用選,把兩組都掛入都使用就好了,參數距離這麼遠,基本已經可以視為兩個不同的策略了。(或許會有人開始能理解為什麼其實也不一定需要最佳化,就直接掛30/60/90進去就好,因為重點實在不是在參數,而是在部位的配置與管理)
當然這裡也還可以有很多種其他的變形,像上面的DD管理模式我們選擇的是綜合模式(原始策略+DD後加注),如果我們看不慣原始策略的噪音,當然也是可以直接切到mode 3濾鏡模式(下圖),只做DD(虛擬)已發生後的訊號(事實上很多老手到最後都是這樣的模式),一年作沒幾次單(其實市場多數的時間就是在盤整,一直在裡面衝進衝出雖然不無聊,但其實沒什麼效益徒耗交易成本,等待反而是最好的策略),但風報比卻非常高,再透過相同的模式(同一招重覆用到不同商品,這就是穿透)與多商品的堆疊(透過多商品減少資金的閒置時間)將資金在多商品間做最有效率的移轉與應用。

(mode 3)
既然是手把手教學,還是回來一下平台的設定,掛上我們兩顆行車電腦



接著我們就可以在我們上面設定的路徑中找到行車電腦所輸出的分析資訊

接著我們就可以打開QuantBrains戰略交易平台進行基本設定了
點選”新增商品與綜合設定”

原則上整個平台的設定介面設計都盡量依循由左往右設定的原則,所以依序進行輸入即可




設定好後,點選"結束設定"回到主頁面
點選"新增策略監控"來把我們剛剛行車電腦丟出來的分析檔納入



這樣QuantBrains戰略交易平台即可取得由行車電腦丟出來的動態即時統計資訊
接著點選"策略整合與商品管理"標籤,準備設定一些商品的基本資訊
由於我們的範例只是要先簡單地做一些很基本的部位管理,所以只需要按照下面的數值設定幾個主要的地方就可以了

設定好之後點選"套用"按鈕讓欄位生效
接著我們就可以進入資金管理專案帳戶的設定

在帳戶金額的部分我們可以填上我們的實際資金大小,綠色欄位則是我們希望由行車電腦丟出來的策略品質與資金分配數值實際上對應的資金大小(槓桿),如設定為1,代表我們希望當分配數值為1時,就對應1%的資金
如果對欄位有疑問,可參考手冊或是將滑鼠移動到該欄位上面,就會出現完整的說明或設定範例
上面欄位設定好之後,即可點選藍色框框按鈕"訊號輸出設定",在這裡我們可以選擇輸出到檔案、Line或是Telegram
輸出格式為開放式的設計,可依據自己的需求進行設定。輸出後即可透過市面上的下單機進行下單。個人推薦使用目前使用目前使用人數最多最穩定最快速的下單大師進行下單,不論是國內的券商或是很多人下海期喜愛的IB都有非常完整的支援。

這一篇目前我們用到的功能還不到QuantBrains戰略交易平台的一半,不過基本上這樣簡單的管理應該已經可以幫一些趕著上手的新同學先開一個簡單的頭了,萬丈高樓平地起,其他的就未來再來慢慢地堆積了。
一招鮮,吃遍天,好好把管理跟平台摸熟,把一招練到好應用到多商品,勝過到處蒐集一堆單口策略在單商品裡面攪(同一招用到30個商品比較容易還是在單一商品裡面想出30個低相關性策略容易呢?),也不需要成天追蹤調整這調整那。
您好~
兩個問題請教:
請問多空分拆分析結果的圖只有呈現多單,是代表空單績效不好?
所為的多空分拆除了單純多空單分開看各自equity之外,還有什麼運算來呈現最後的分拆結果?
是的,這個範例(波段)只呈現多單是因為多單的評價為正值,空單的評價為極低或零,所以只有多單會被配重。
分拆只是第一步,後續的運算主要就是評價,平台會依據評價結果來配重,如果空單極低甚至為負值則可能會被反向操作(如有開啟負動能部位自動反轉功能,則波段空單會自動被切換成多單區間操作)
如果使用的策略多空兩邊表現都很好,則兩邊都會被配重(通常是當沖策略或極短線策略,比較會有兩邊表現都不錯的狀況)。