唔識program 點樣做量化分析 ? 一篇文教你點做 ! (下)
上兩星期分享了一段如何用Excel 做Backtest的文章,之前有提過,其實只要識得好好運用,Excel都可以幫你做一些簡單的backtest,而且backtest用的指標其實都可以寫出來,今日就同大家分享下半段。
上一次用「日升日跌」策略做藍本同大家分享了最簡單的Trading signal﹑Return﹑Toral return及加插equity curve,如果新加入的朋友不妨可以先回去看一看前一篇文章。
今日再跟大家分享如何用excel 分析計算sharpe ratio﹑mdd﹑win rate等指標。我們要先沿用番上一次的excel。
Sharpe ratio(夏普比率)
以前的文章都解釋過sharpe ratio 的意義,簡單來說就是回報及風險的比較,如果要計算的話,我們繼續沿用上一次的excel,計算方法是計算每日平均回報除以每日回報的標準差,乘252交易日的平方根。
找一個空位開一項新的Sharpe ratio項目,然後輸入「=AVERAGE(I3:I1232)/STDEV.S(I3:I1232)*SQRT(252)」
MDD/DD(最大回撤)
MDD是計算一個策略中,每一次策略回報創新高後,最大的回吐幅度是多少,直接計算MDD是有點麻煩,所以我們首先要計算每日的DD,然後再尋找所有日子的DD中最大的一日,所以我們在K行中開一行新的計算DD。
然後在K3輸入「=J3-MAX($J$2:J3)」,然後在K3的右下角的連續按兩下,把每一日的DD自動運算出來。
之後我們在右邊,任何一個空位開一項叫MDD的,然後輸入
「=MIN(K3:K1232)」
Win_rate(勝率)
就是計算每一的回報的正數還是負數,多數這種方向性的每日策略勝率都係50 – 60%左右。
之後我們在右邊,任何一個空位開一項叫win_rate的,然後輸入
「=COUNTIF(I3:I1232,">0")/1229」
*要留意>0要加引號 - ” “。
基本上一個策略必要的三大量化指標就出來了,之後的一些相對上是次一等重要,但都值得大家參考。
Signal_1/signal_-1
計算一個策略中有幾多日做好倉,有幾多日做淡倉。
=COUNTIF(H3:H1232,1)
=COUNTIF(H3:H1232,-1)
pos_day/neg_day
計算一個策略中有幾多日賺錢,有幾多日輸錢
=COUNTIF(I3:I1232,">0")
=COUNTIF(I3:I1232,"<0")
*要留意>0要加引號 - ” “。
Max_win/max_loss
計算所有日子中,獲利/虧損最多的日子
=MAX(I:I)
=MIN(I:I)
consecutive_win/consecutive_loss
計算連續正數,或連續輸的日子
=MAX(FREQUENCY(IF(I3:I1232>0,ROW(I3:I1232)),IF(I3:I1232<=0,ROW(I3:I1232))))
=MAX(FREQUENCY(IF(I3:I1232<0,ROW(I3:I1232)),IF(I3:I1232>=0,ROW(I3:I1232))))
*這裡有一個特別留意事項,在輸入完這算字之後要按Ctrl + Shift + Enter








Comments
Post a Comment