最佳化與WFO電腦執行技巧
在執行最佳化或WFO時,整個電腦很容易會變得動彈不得執行時,你無法順暢的使用電腦做其他事
直覺上就是電腦有n個核心,你最多就只執行n - 1個最佳化或WFO工作
另一個方式就是勾選新版MC內建的指定使用多少個核心運算
但這都不是好方法,因為這會以耗更久的運算時間當作代價
雙核心少用一個核心,相當於原本5小時可運算完的工作,卻耗了10小時
四核心少用一個核心,相當於原本2.5小時可運算完的工作,卻耗了3.3小時
為了在執行最佳化或WFO時,你還能順暢地使用電腦做其他的事,又能用最短時間跑完所有運算
在跑最佳化或WFO前,請開啟工作管理員,把優先權順序降低即可,如下圖所示
(也可批次同時跑多個最佳化或WFO,但要留意電腦記憶體是否足夠
否則會由記憶體搬到磁碟,Page In / Page Out會使效能變得極緩慢)
題外話,舊版的MC沒有內建指定使用多少個核心運算的選項
但也可直接在工作管理員設定親和性來達成相同效果,如下圖所示
我最佳化通常選基因演算, 一次一個參數(不選兩個以上的參數), 控制遞增量, 一個參數最佳化的時間以 1~5 分鐘完成為原則, 以小時計的最佳化過程太費工, 最佳化得的參數也只是參考而已, 能不能跑還未知, 所以我不浪費太多時間在做最佳化!
liawfujin 發表於 21-9-3 20:42
我最佳化通常選基因演算, 一次一個參數(不選兩個以上的參數), 控制遞增量, 一個參數最佳化的時間以 1~5 分 ...
其實本文最初並沒有要討論最佳化與上線能否真的賺錢的問題
不過既然你提到了,也順便帶過一下
最佳化主要用來觀察參數是否平滑
參數不平滑(尖尖),一定有Curve Fitting的問題
但參數平滑,未必一定沒有Curve Fitting的問題
要進一步測試是否有Curve Fitting的問題,要使用WFO
但WFO要能真的發揮功能,需要有技巧(此部分要自己體會,就不說明了)
直接照做很可能會掉入陷阱,無法達成WFO照妖鏡的功能
下圖是我某個策略上線前做最佳化與WFO的情況
最佳化與WFO都無法看出有Curve Fitting的問題
而實際上線兩年後,獲利也確實很穩定
最佳化主要用來觀察參數是否平滑
參數不平滑(尖尖),一定有Curve Fitting的問題
但參數平滑,未必一定沒有Curve Fitting的問題
剛好最近有一個Curve Fitting的例子
請檢視上圖兩個圈圈區域
紅色圈圈的尖尖區域一定有Curve Fitting的問題
綠色圈圈較平滑的區域則相對安全(但未必一定沒有Curve Fitting的問題)
上圖為兩個WFO測試的結果
上半邊,五個Run裡面有三個正好落在紅色圈圈的尖尖區域
*Robustness:沒過 (WFE = 47%)
*績效:低 = 0.30 (= 4,824.51 / -16,080.81 * -1)
下半邊,五個Run全部落在綠色圈圈較平滑的區域附近
*Robustness:通過 (WFE = 80%)
*績效:高 = 0.86 (= 8,391.16 / -9805.09 * -1)
最後,要讓策略Curve Fitting很容易,但要偵測出來卻很不容易
縱使是最佳化圖較平滑的區域也未必就沒有Curve Fitting問題
這只是個簡易測試法,只有上線或Paper Trading真的去跑一段時間才是最準的
所以研發策略時的每一步都要很小心
策略真的能賺的到錢,靠的是有效的統計,而不是千錘百鍊的複雜程式邏輯
頁:
[1]