在Tradestation / MultiCharts中進行可靠的回測

申請試用,版本比較,試用心得
回覆文章
頭像
周宏恩SteveChou
文章: 104
註冊時間: 2020年 8月 27日, 19:54

在Tradestation / MultiCharts中進行可靠的回測

文章 周宏恩SteveChou »

在Tradestation / MultiCharts中進行可靠的回測一般回測的可靠性
首先,我們必須意識到,回測意味著對歷史數據進行測試。價格的運作將來永遠不會完全重複,因此,即使您使用的是真實的tick數據,也並不意味著您的策略將來的表現將與過去相同。
其次,我們應該認識到回測不可能是100%準確的。充其量,回測可以非常近似實際交易。但是諸如價差擴大,重新報價,滑點,時間延遲,網絡斷開,VPS故障等之類的因素會影響真實的實際交易。
我們策略的最重要屬性應該是它的穩健性。
我們必須確保我們不僅將策略與現有數據進行曲線擬合,以使其在回溯測試中發揮出色作用;即使數據,參數發生變化,錯過很少交易等情況,它仍然保持盈利。
StrategyQuant提供了許多工具(交叉檢查)來測試策略的健壯性。您可以使用蒙特卡羅測試在不同的市場上通過參數變化或歷史數據的隨機變化來測試t。

在SQ和TS / MC之間進行可靠的回測
從這個意義上說,可靠的回測意味著該策略在StrategyQuant和Tradestation / MultiCharts中將具有相同或非常相似的回測結果。
如果您的策略在SQ和TS / MC中的結果完全不同,則您的設置有問題,您必須先解決它,然後再繼續。
SQ中的回測引擎是為了匹配TS / MC交易引擎而設計的,因此,如果您發現差異,則很可能是兩個程序之間在不同的數據或配置中存在差異。
在下面,我們將列出您應注意的幾點。
1.確保已導入所有自定義指標
這是安裝後的步驟:https://strategyquant.com/doc/strategyq ... stallation
SQ使用一些自定義指標,您必須將它們導入Tradestation / MultiCharts才能使其正常工作。
2.使用正確的設置和數據
回測的差異主要是由該區域中的問題引起的。
您可以通過兩種方式在SQ中使用TS / MC中的數據:
選項1 –從圖表中導入確切數據
這是最可靠的方法–直接從TS / MC中的圖表中導出數據,然後將其導入SQ。
在多圖表中–使用文件->導出數據
在Tradestation中–打開“數據窗口”,然後在此處使用“保存”功能。
這樣,您可以確定要在與實際會話和其他配置相同的數據上對其進行測試。
因此,例如,當您在TS / MC中測試您的策略時,例如在具有某個會話的15分鐘圖表上,然後導出該精確的15分鐘圖表數據,並使用從交易平台應用的會話並將其導入到SQ。
重要提示–如果您使用這種方式,則必須在交易選項中設置會話=無會話。這是因為數據已經包含該會話,否則SQ將嘗試再次應用該會話,結果將是錯誤的數據!
選項2 –導入1分鐘數據,並讓SQ計算更高的時間範圍
從TS導入分鐘數據更加方便,並且讓SQ為您進行的任何回測計算更高的時間範圍。
重要提示–在這種情況下,請確保您在SQ中使用正確的設定,它必須與Tradestation / Multicharts中的設定完全相同。 TS / MC中的柱線是基於此設定計算的,如果輸入有誤,則柱線將被錯誤地計算!
如果您在回測中遇到差異,請退回到上一個選項,然後對從圖表導出的數據進行測試。

3.確保在導入的數據中使用正確的引擎和正確的時間框架類型
引擎的選擇很明顯–仔細檢查您是否真的在SQ中使用Tradestation或MultiCharts引擎,因為它提供了多種引擎。
導入數據表單文件時,請確保使用“時間戳記是條形時間的結束”條形數據類型。這是Tradestation或MultiCharts使用的數據類型,它會影響較高時間範圍的計算方式。


圖檔 

4.使用正確的基於時間的出場交易選項
如果您打開了任何基於時間的交易選項,例如在一天結束時退出或在周五退出,這將適用。
使用這兩個選項中的任何一個時,您都必須將其出場時間設置為00:00 –然後SQ將在交易日結束時關閉交易–或,如果您指定了確切時間,則必須確保該時間為在一天的最後一個bar之前存在。
錯誤的配置可能會導致SQ在一天結束時以與TS / MC平台不同的時間關閉交易。
如果您會遇到策略上的差異,請比較SQ和TS / MC在結束時的出場時間(如果表現相同)。

5.遇到問題時,重新啟動SQ並清除臨時文件
SQ正在將回測數據緩存在內存和磁盤上的文件中,有時可能會發生以下情況:緩存中的數據版本較舊(錯誤),並且在導入新數據或修改內容時未更新。
如果您在回測中遇到不同,請先嘗試退出SQ,刪除/ internal / testfiles文件夾中的所有文件,然後重新啟動SQ。

6.子圖表支持仍在開發中
在Tradestation / MultiCharts測試引擎的實施中,我們專注於單一圖表策略。
使用多個圖表(EasyLanguage中的Data2,Data3等)的策略尚未在StrategyQuant中進行匹配測試–它們可能會也可能不會起作用。
在接下來的版本中,我們將重點關注這一點。

7.更高的測試精度仍在發展中
現在,可以使用具有“選定時間範圍”測試精度的Tradestation / MultiCharts測試引擎。這對於所有類型的訂單(市場,止損,限價)就足夠了。 Tradestation / MultiCharts具有這種測試精度,可以可靠地工作,並且可以用於實時交易中。
我們還在努力添加更好的精度模式,它們將在將來的版本之一中添加。

8.幾乎沒有在TS / MC中經過廣泛測試的指標
極少數指標並未經過所有可能配置的測試,可能會導致交易出現差異。他們是:
– Pivots– Fibo

 
 
 
 
回覆文章