Sunday, 22 May 2016

戰略 建構過程 ( 電子迷你 標準普爾500指數 期貨)






+

戰略建構過程(電子迷你標準普爾500指數期貨) 對於ES / TF / EMD建立一個有利可圖的艾密尼戰略 馬克和Fric 在本文中,我將解釋建立一個有利可圖的,健壯的策略ES(電子迷你標準普爾500指數期貨),其中包括多個步驟不同的穩健性檢驗的完整的一步一步的過程。 這是我講戰略建設過程中的外匯較舊文章的一個變化。 使用機器學習技術,如遺傳編程是realtively容易得到有很好看的資金曲線策略。 的危險在於曲線擬合,所以策略建設過程中最重要的部分是實驗策略魯棒性,以確保它是不曲線配合到歷史數據。 在本文中,我將解釋我是如何用雙OOS濾波+穩健性檢驗以及步入式轉發矩陣測試。 這是結果 在激勵我張貼的一個很好的表演策略ES / TF / EMD,我發現用下面描述的處理結果。 戰略238433為ES / TF / EMD 該戰略上面刊登在我們的論壇(僅適用於StrategyQuant的許可用戶),在這裡: 可供下載。 我使用的唯一的輸入是我的戰略的期望 - 我想建立一個戰略ES(E迷你S&P 500)在15分鐘的時間內是有利可圖的,具有盡可能少的資金縮水的可能。 我想,這樣它的工作原理還對其他期貨(TF,EMD)策略是足夠強大,我希望它通過演練轉發矩陣測試,以確保重新優化適用於這一戰略。 戰略建設進程 1.獲取數據 有期貨和外匯之間的一些差異。 首先,獲得的數據是期貨一點更加困難和昂貴。 有沒有免費的數據源和大多數經紀人不給你的歷史超過幾個月。 你可以從經紀人誰給他們提供(Tradestation,如果你是他們的客戶),或者你必須註冊一個實時數據服務,如Kinetick或iqFeed數據。 也有一些dont't提供實時數據饋送特殊服務,但銷售歷史期貨數據。 要找到他們只需搜索在谷歌“的歷史盤中furtures數據”。 第二個區別是,期貨合約有到期日,合約通常交易的只有3-4個月,然後他們被新的相同的期貨合約的版本替換。 為了能夠利用期貨數據戰略的發展,我們需要有至少數年的數據在連續的合同形式。 大多數的數據服務提供了這個選項,所以它僅訂閱該數據服務和下載數據到您的交易平台的問題。 導出從NinjaTrader數據 當你已經在你的NinjaTrader的數據,你必須將它們複製到StrategyQuant過,因此它可以實現文字生成策略。 為了做到這一點,我們必須從NinjaTrader導出數據,並將它們導入到StrategyQuant。 要導出的數據,我們要打開圖表ES 15分鐘。 請確保您設置了正確的交易時段。 我在這個例子中使用CME美國股指期貨RTH會議。 當圖表被打開隨便找SQDataExport指標,並將其放置在圖表上。 它會為當前打開圖表的數據導出到一個文本文件中。 重複同樣的過程也為TF(微型羅素2000期貨)和EMD(電子迷你標普中型股400),還對15分鐘的時間內以正確的交易時段。 我們將利用這些數據之後,以測試我們的戰略上的其他符號穩健性檢驗的一種形式。 然後打開StrategyQuant,並為ES,TF和EMD新的符號,並導入相應的數據文件。 從NinjaTrader導入數據進行了更詳細信息也可以在用戶手冊中描述。 2.生成潛在候選人大池 在一代人的第一步,我只需要產生潛在的“好”的策略,我將在後面測試的魯棒性大型游泳池。 我想我所有的初步戰略,以實現盈利和強大的(在某種程度上),所以我採用多種過濾器也是在這第一個階段。 我給這一步的設置 您可以下載我在使用下面的鏈接此步驟中使用的設置。 點擊鼠標右鍵可鏈接並選擇鏈接另存為。 然後,在StrategyQuant使用加載設置加載該設置文件的程序。 請注意,如果你被點名的StrategyQuant的符號不同,你需要手動設置數據。 設置介紹 首先,我生成多個符號我所有的策略。 我的目標是找到ES一個很好的策略,但我想我的策略是穩健的 - 所以我想這是有利可圖的也EMD。 我想補充EMD的附加數據,所以現在的策略將在這兩個符號的測試。 圖片1:設置數據 我將使用的數據來自2003年2月1日至2012年12月31日,這是10年。 該數據的其餘部分將在後面留待進一步OOS測試。 我將使用遺傳進化模式。 這樣做是為了使200戰略的人口,在30代的進化它們,然後從頭開始。 這樣一來,我會避免陷入進化過程中一個死胡同,最好的策略是不斷地存儲到資料庫。 你也可以看到,對於初始種群的唯一條件是它必須作出至少100交易。 它並不需要是有利可圖 - 遺傳進化應能改善它。 圖2:遺傳選擇 我們也可以使用隨機生成沒有進化,而是演變應該找到有利可圖的策略更快。 設置的最後一個重要的一塊是一個等級的選項。 我設置資料庫來存儲2000最佳策略,因為我希望有一個良好的基礎,進一步選擇的過程。 我還設置了選擇標準,以返回/虧損比率 - 這是我最喜歡的。 您可以使用其他的選擇標準,也許你會得到更好的結果。 圖片3:排行選項 的最重要的事情諾特是設置初始過濾標準為在資料庫的策略。 我想只考慮至少有2000 $的利潤策略,必須返回/ DD比> 3,至少有300交易和投資組合的回報/ DD比例至少為2.5。 因為我測​​試了策略上的兩個符號 - ES和EMD,投資組合業績的戰略也將被計算出來。 利用這個條件,我只是指定的投資組合的表現不會比只ES的表現更糟糕,並計劃將解僱不良投資組合表現的所有策略。 現在我們只需要點擊開始按鈕,讓​​程序做的工作。 請記住,我們要產生至少2000“好”的策略之前,我們將繼續與過濾過程。 根據您的計算機設置和速度,它可能需要幾個小時甚至幾天的時間,所以要耐心等待。 如果程序不產生任何戰略的一個很長的時間,也許我們應該切換到較高的時間表 - 30分鐘,1小時,或進行約束限制較少。 3.首先過濾 - 非樣本(OOS)檢查 當我在資料庫2000年潛在的好策略,我將停止發電,並開始過濾過程。 我將應用第一個過濾器 - 通過刪除所有系統有利空出盡的樣品性能。 我可以很快做到這一點,只是在整理資料庫的策略和刪除那些有OOS利潤小於$ 3000。 4圖像資料庫與策略排序OOS淨利潤游泳池 這第一個步驟通常是去除了戰略的很大一部分,所以從最初的2000候選人,我們到1700年左右。 2.第二過濾器 - 複檢和第二OOS檢查 在這一步,我會重新測試上的所有未知的策略出採樣週期加上我對TF數據添加測試。 重新測試的策略很簡單 - 我就請在資料庫的所有策略,然後單擊重新測試按鈕。 這將移動所有的策略,以重新測試標籤。 我還將確認對話框,詢問是否應該使用的構建設置複試 然後,我將擴展數據週期可用數據的末尾。 數據從2003年1月2日至2012年12月31日生成策略,我現在要重新測試的數據策略,直到2013年12月31日(生成過程中不使用一年以上),並制定了採樣週期從2012年12月31日至2012年12月31日 。 注意,這將重新測試的全部數據的策略,以及OOS部將在先前未使用的數據的最後一年顯示策略的性能。 圖5:設置複試 因為我也有歷史數據TF我將它們添加到更多的數據來比較這三個eminis的性能。 該測試可能需要一些時間,它完成後,我會再一次刪除所有系統有利空出盡的樣品性能。 我又可以在資料庫由淨利潤(OOS)的策略進行排序,並刪除那些具有OOS利潤小於$ 1500 3.第三過濾器 - EMD,TF檢查 三濾是視覺 - 我會檢查EMD和TF符號的策略表現。 我會去結果 - >股票圖表,切換圖表投資組合並通過策略逐一尋找的EMD和TF股權曲線。 圖片6:好的和壞的EMD / TF性能例 我們在尋找什麼呢? 由於這些eminis是高度相關的,我要的策略,盈利在所有這三個符號,就像在第一個例子。 我們可以在第二個例子中看到,相比於ES和EMD,它的資金曲線是不grodwing對TF的表現非常差,所以我認為這種策略。 還可以有另一種極端 - 上的TF是性能和/或EMD比上ES性能好得多。 這是確定的,它經常發生的策略有更好的表現對TF比ES。 我們應不看只在最後一場演出,也讓股權的曲線。 我們應該關閉那些具有長期停滯,或大支取全部股權的曲線。 這樣,我們可以使過濾器非常雖然,我們應該結束了不超過10-20剩下的頂級戰略的下一個步驟。 4.第四過濾器 - 穩健性測試 刪除所有策略壞EMD / TF演出結束後還剩下不到20戰略,具有良好的IS和OOS性能,以及對EMD / TF令人滿意的表現。 我現在會再次複試戰略,穩健性測試和資金管理,看看每個策略的處理中投入的微小變化,並能夠以戰略的相互比較。 我會從固定大小換錢管理,以固定金額,讓每一個startegy風險$ 500交易。 這允許更好的策略比較,因為他們的風險每筆交易相同的量。 圖7:設置資金管理,以固定金額 在穩健性測試中,我使用至少20模擬和測試策略,為所有類型的壓力的情況下。 配置穩健性檢驗後,我再次複試的策略。 這一次,它會很快,因為只有留在資料庫一些策略。 圖片8:穩健性測試 如何評價健壯性測試 穩健性測試表明我們的戰略是如何表現在現實中,當有未接的行業,不同的歷史數據等。我在尋找一個對淨利潤和虧損在95%的置信水平可接受值的策略。 圖片9:穩健性測試結果 在上面的例子中,我們可以看到穩健性結果兩種策略。 左邊戰略的利潤在可接受的水平,但水位下降了一倍多比原來的結果。 在正確的策略也利潤中的可接受水平和縮編幾乎沒有變化。 在這一步,我會只選擇1-3將受到穩健性的下一次測試的最終策略。 這些最後的策略是通過在穩健性檢驗,整體盈利能力也簡單最好的結果選擇 - 我想要的策略規則,要盡可能簡單,和交易規則應該做出一些感覺。 5.第五過濾器 - 步入式轉發矩陣測試 我們留下了一些策略,我們可以運行的最終測試耐用性 - 步入式轉發矩陣測試。 WF矩陣僅僅是步行向前優化具有不同數目的運行和運行週期的一個矩陣。 如果策略通過演練轉發矩陣測試意味著用參數重新優化策略的幫助是適應市場條件的大範圍,也該戰略不是曲線擬合特定的數據 - 自從有了重新優化它適用於許多不同的 時間段。 除了這種WF矩陣測試也告訴我們,如果策略應永久重新優化和最優化的重優化週期是什麼。 走轉發矩陣測試必須為每一個策略分別進行。 我將載入我的策略,以優化和選擇步行轉發矩陣的選擇。 我也將選擇運行和OOS百分比的步驟。 StrategyQuant將通過所有這些組合,在執行戰略的分步前進優化。 圖片10:設置步入式前進矩陣 優化設置參數 為了優化才有意義,你必須設置將被優化的策略參數。 每個策略使用不同的邏輯,有不同的參數,所以你必須以不同的配置優化。 圖片11:優化參數 這種策略是比較簡單的,所以我將只優化止損值和停止拖尾係數。 這是沒有必要優化所有參數,只有這些具有戰略上性能的影響最大。 評估步入式前進矩陣 當優化完成後,我會點擊步入式前進矩陣結果資料庫以查看詳細信息。 我想優化給我明確的答复,如果該戰略通過分步前進優化測試,所以我必須設置的分數標準。 這些都是必須要如此戰略要通過測試簡單的標準。 圖片13:步入式前進矩陣結果 最終的結果是,startegy通過向前走矩陣測試的穩健性。 三維得分圖向我們展示了19個24的組合通過我們的標準(使用默認設置)。 該策略並不需要通過每一個組合,我正在尋找的2x2或3x3的區域已大部分通過組合 - 這將是該組的最好重新優化組合。 在這種情況下,我可以看到,10次與30%無樣品是最好的組合之一,因為它是由還通過了其他組合所包圍。 當我檢查了步入式前進優化的圖表,我可以看到,該策略仍然有利可圖也重新優化過程中。 盈利能力的下降是符合我們從蒙特卡洛魯棒性分析得到的測試線,但戰略仍然是有利可圖的。 圖片14:步入式前進優化圖 我描述了我完整的StrategyQuant,這導致一些有趣的新戰略合作的進程。 這些strateguies只是樣品的DIT我花了不到2天SQ運行約1-2小時我的時間找到他們的使用StrategyQuant的。 你可以自己嘗試一下,靈感,並可能提高的過程中自己的想法,您可以在我們的論壇上分享。 這個過程可能的改進 - 你可以嘗試單獨尋找戰略多空方向。 每個方向都有自己的動態,以及不同的策略,長期和短期可以返回更好的結果。 我沒有提到改良劑 - 這是一個強大的工具,可讓您尋找更好的改變你現有的策略,如果你還不滿意的表現。 只要記住 - 點不在於尋找戰略是完美的歷史數據。 這是一個災難,因為過度優化的策略是保證在真實的交易失敗。 我們的目標應該是找到一種策略,是在不同的數據和/或符號穩健的,因為這意味著它在市場上真正的優勢。



No comments:

Post a Comment