2018年5月17日 星期四

開發商品的交易系統 - 進階篇 [12]

EasyTrader ArtNo 298
投組策略的運行邏輯說明與圖解如下:
投組內每個策略被設計為用來建立或結束特定商品的部位,亦即計算何時建立或結束部位的時間點。在策略內的所有訊號檔完成每一步驟的計算後,接續著就是資金管理訊號檔 PMMS (Portfolio Money Management Signals)做計算,PMMS並非設計來替代主要策略而是來協助完成策略,它設計的作用如下:
1.選擇以特定金額投資的商品
2.計算每一個商品的部位大小
3.對特定的商品強迫結束部位
4.變更特定商品的部位大小
5.阻止特定商品建立部位
6.在交易商品間配置可交易權益數

1.在投組策略計算開始前,在商品列表內的所有商品會先自MultiCharts資料庫或其他數據源載入歷史資料,而排列在商品列表中第一個商品的起始日期,決定了所有商品的起始日期。接著策略便應用到投組內每個商品。

2.在回測的過程中,每個商品的數據序列中從第一根K棒開始的每一根K棒,都會被策略內的訊號腳本檔做運算,而商品間則是依商品列表上的順序做運算,每個商品根據前述方式運算後,產生一個或多個委託單訊號,這些相同數列K棒產生的委託單都是相同的優先度。

3.第一個商品的第一根K棒最先運算,並產生委託訊號,然後接下來是第二個商品的第一根K棒做運算,並產生委託訊號,接著重複的依此模式進行到最後一個商品第一根K棒。

4.在所有策略計算完成後,投組資金管理訊號PMM(Portfolio Money Management)會被啟動,(如果在投組的屬性畫面內的訊號檔有設定),它可以經由PMM關鍵詞來存取所有投組內的策略,主要的作用是提供投組資金管理的設定。(PMM訊號檔並非複製到每個訊號檔,它總是在第一個商品上運算與其他訊號檔運算同根K棒序列)。
5.PMM訊號檔評量投組內所有策略並影響委託單產生(也就是可以強迫商品委託單停止新倉開立、平倉或修改交易口數),通過PMM訊號評量後,接下來由資金與風險管理系統做評量,並決定策略的優先度(優先度以PortfolioEntriesPriority關鍵字做設定),如果所有策略的優先度相同,則排列在風險管理架構愈上方的商品策略的優先權愈高。

注意:PMM訊號與PortfolioEntriesPriority關鍵字都同時作用到投組策略,PortfolioEntriesPriority是一個保留字,同時也會影響PMM訊號,不建議使用。

6.依據投組設定內的資金管理與保證金額度來修正交易口數。

7.委託單最後送到券商模擬器(回測)、模擬帳戶或是真實帳戶(自動交易)



在PortFolio Trader 內策略間變數的設定與取得方式如下



關鍵詞名稱說明
pmm_set_my_named_num 在目前的商品內定義變數值
pmms_set_strategy_named_num 在目前的策略內定義變數值
pmm_set_global_named_num 在目前的投組內定義變數值

不同方式所定義的變數決定了它可以使用的範圍是區域的或是全域的應用

資料參考來源 
https://www.multicharts.com/trading-software/index.php/Portfolio_Trader
https://www.multicharts.com/trading-software/images/1/16/Portfolio_Trader_Manual.pdf

沒有留言:

張貼留言