|
本帖最後由 alexliou 於 16-4-5 13:04 編輯
自訂Sharpe Ratio函數
但內建的Sharpe Ratio函數(其實它挺複雜的)有幾個缺點:
1.沒有年化, 所以用月報酬和使用日報酬無法同時比較
2. 採取複利的概念, 對於永遠是一口單的策略不是很適用
3. 它以日曆日(or月)來計算報酬率, 而非交易日
4. 策略未持倉的日數, 不納入統計報酬率平均數與標準差的統計
第4點對永遠有單的策略有利, 因為空手時間多的策略, 通常損益的波動度較低,
如空手的交易日不列入計算標準差, 會使得分母變小,標準差相對變大.
所以我自己寫了一個MySharpeRatio函數,
它以交易日的日損益為基礎, 不考慮 Initial Capital
計算Sharpe Ratio = (日損益平均數 / 日損益標準差) * SQRT(252)
這個函數可以:
a) 在圖形上方顯示Sharpe Ratio的值
b) 可以選擇是否要將每日損益輸出到檔案供進一步分析
c) 會自動判斷是否在最佳化過程中, 在最佳化時, 則只設定Custom Fitness Value,
而不作上述兩個動作以節省時間與避免無謂輸出
MySharpeRatio.zip
(2.01 KB, 下載次數: 77, 售價: 5 金錢)
該如何服用這個函數呢?
只要在你的主信號最後一行加入
Z_MySharpeRatio(lastBaronChart_s, true, "D:\Trading\DailyReturn.csv");
(請先確定有D:\Trading 此一目錄)
如不要把每日損益輸出至檔案, 就改成
Z_MySharpeRatio(lastBaronChart_s, false, "D:\Trading\DailyReturn.csv");
|
評分
-
查看全部評分
|