Step 2 函數
這裡整理了回測 Step 2 使用的函數
將分拆的多空績效各自進行評價,依據整合評價結果,排序管理後下單
@DVC7_Set
計算評分函數&風險評價口數。
參數 | 說明 |
Lookbackdays | 評分觀察天期,天期長短將影響價格變化對評分的敏感程度,選擇越小的觀察區間,價格短時間的變動對動能給分影響越大。 |
NegLeverage | 是否使用負動能反向模式,設定 1 為開啟,0 為關閉,啟用時,若策略評分為負值,會將符合條件之原始策略訊號進行反向下單。 |
StrategyChannel | 策略類別編號,用於策略分組分類,比方波段策略都設定為 1,當沖策略都設定為 2,需為大於 0 之整數。 |
StrategyChannelLimit | 該策略類別開放整合之策略總數上限,如設定 5,代表該策略類別取評分前 5 名的策略進行整合,註意相同編號的策略類別,此上限值都須設定一樣。 |
RPLen | 波動率觀察天期,用以計算風險評價口數,天期設定越短,策略波動變化相對較大;反之設定越長,波動度變化較不敏感。 |
VolType | 波動率衡量的計算方式,設定 1 為標準差,2 為 ATR,3 為平均標準差,用以計算風險評價口數。 |
PositionWeight | 該策略之下單權重,供使用者調整策略間之下單比例。 |
@DVC7_Order
策略評分整合&下單信號。
參數 | 說明 |
CommodityChannel | 商品類別編號,用於商品分組分類,比方指數期貨都設定為 1,農產品期貨都設定為 2,需為大於 0 之整數。 |
CommodityChannelLimit | 該商品類別開放交易之商品總數上限,如設定 3,代表該商品類別取總評分前 3 名的商品進行交易。 |
StrategyTotalN | 該商品開放整合之策略總數上限,如設定 12,代表該商品的策略池中,至多取 12 名策略進行整合。 |
ScoreThres | 策略評分門檻,當評分的絕對值高於此值才有資格進入整合名單。門檻越高,策略品質也相對高,但交易次數較少。 |
ExchangeRate | 將策略組合基幣轉換成該商品交易幣別的轉換匯率。如策略組合基幣為台幣,交易小道瓊期貨(美元計價),ExchangeRate = 1 / 30。 |
@DVC7_XeusMM
商品排序管理信號。
參數 | 說明 |
CommodityTotalN | 開放交易之商品總數上限,如設定 15,代表整個投資組合至多交易 15 個商品。 |
ChangeThres | 商品總評分有效變量,當商品已持倉,且總評分變動超過此值,才進行加減碼口數調整。有效變量設定越高,可避免策略受到雜訊而頻繁進出,但進出信號也相對較少。 |
CommodityScoreThres | 商品總評分門檻,當總評分的絕對值超過此門檻,才開放該商品交易進場。注意商品總評分門檻的設定值需大於商品總評分有效變量的設定值。 |
CapitalName | 評價後之權益曲線名稱,命名規則為"UD.MCQuote.xxx",其中xxx為自定義字符串。預設為 "UD.MCQuote.Xeus" |
pCapital | 用以計算風險評價口數的涉險金額,涉險金額設定越高,每個商品的風險評價口數越大。 |
RealCapital | 實際交易使用的資金基底,與資金基底及部位縮放調整搭配進行比例式下單。 |
WithSpread | 是否做商品換月價差調整,設定 1 為開啟,0 為關閉。鑒於新舊合約在轉倉時,因為換月所造成的價差跳空非屬正常交易行為,容易造成回測失真,可透過此參數來修正持倉損益。 |
RiskFactor | 每次交易所使用的涉險比率,如設定 5,代表每筆交易的風險值為總體資金的 5%。 |
PosSize | 部位縮放調整,代表總體交易所使用的資金槓桿,此值設定越大,涉險金額與部位規模也越大。 |
IncWeight | 即時損益再投入比例,將即時損益納入加減碼部位之比例,用來計算損益權重分配,將實時損益評分化,輸入0代表不使用此條件。 |
IncLimit | 損益權重分配之上限,如上限設定10,即便超過10,也會以10作為評分化計算。 |
MaxLossPercent | 策略最大虧損百分比,若當前浮動損益達到此值則強制平倉,曾達到最大虧損而平倉的商品,在參考口數歸零之前,都不會再進場。以百分比表示,輸入5代表5%,輸入0代表不使用此條件。 |
RiskTakeType | 動用風險模式選擇,用以控管新策略是否進場。 輸入0: 關閉,對於新進場項目沒有任何限制。 輸入1: 如果舊有部位加碼或新策略加入後會超過動用風險上限,則限制加碼或新策略加入。 |
RiskTakenLimit | 動用風險上限,動用風險視為商品的風控監管器,此上限可設定最大可分配的資金份額,避免過多商品或過多策略同時滿足篩選條件時動用過大比例的資金。若某商品的動用風險超出此限額,則不被允許進場或加碼。 |
NonProtect | 未受保護商品數,為不受加碼保護墊級距限制的最大訊號數量。 |
ProtectPad | 加碼保護墊級距,當持倉商品數未超過未受保護商品數量(NonProtect)時,信號正常進出。 而當持倉商品數超過未受保護商品數量(NonProtect),但是尚未達到開放交易之商品總數上限(CommodityTotalN),則後續在每新進一個商品時,總體獲利就必須克服一個保護墊級距金額(ProtectPad)之後,才可進行後續進場。 例如設定NonProtect=4 (個)、CommodityTotalN=6 (個)、ProtectPad=50000, 在持有4個商品以下時,信號正常進出。 當第5個商品信號出現時,需要前 4個持倉商品浮動損益到達ProtectPad =50000以上,才可放行。 當第6個商品訊號出現時,需要前 5個商品浮動損益到達2ProtectPad=250000=100000以上,才能交易第6個商品。 若ProtectPad設定為0,代表不使用加碼保護墊級距的功能。 |
圖表輸出範例:
Last updated