2013年10月23日 星期三

台指期貨的潛規則(III) - 漲跌密碼 Part1

EasyTrader ArtNo 029
乖離率(Bias Ratio,BIAS),代表當日股價(收盤價)和移動平均線的差距,以分析股價偏離的程度。當股價和移動平均價的差距愈遠時,乖離率愈大,代表股價即將有修正偏離的可能。當乖離率呈現過高或過低情況時,股價均會產生反轉的修正走勢。

「正乖離」越大表示「超買」(Overbought),將有下跌的壓力;「負乖離」越小表示「超賣」(Oversold),將有上升的動能,此時股價將會有向平均成本移動作調整的機會。

金融市場每日的商品交易不是漲就是跌,當多空力道接近平衡時就收平,那麼下一個K棒的趨勢到底往那兒走,就是投資人關心的話題! 在本篇我們用期指漲跌點數的乖離來設計交易策略,首先來看從2003/7/1開始到日前的統計資料,這裡針對圖表的數據先作說明

1. 收盤價:台指期日收盤價
2.A值:累計十日漲跌點數(今收-昨收)
3.趨勢線:A值的十日平均值
4.B值 = A值-與趨勢線差異的十日平均值
5.乖離值 = 趨勢線/B值
6.上限/下限:乖離值歷史數據各約20%位置參考

為了方便圖表顯示,我將乖離值放大 10倍,讓大家對乖離值的影響有更明確的概念



下圖為乖離值2003/7/1~日前的直方分佈圖,60%的數據落在 -50 到 75之間



從上面兩個圖包含的資訊為

1.累計漲跌的數字平均值是可以作趨勢的判斷
2.乖離值的上下區間是可以作為進出參考的依據(突破上下區間為趨勢盤,區間內價格運動為盤整盤(金融商品60%~70%比例在盤整)

接下來我們先用這假設基礎來作歷史回測看看

1基本設定:台指期 日K線
2進場規則:
2-1.往上突破上限,以近三日高點買進,往下跌破下限以近三日低點賣出
2-2.上下區間內皆以過三日高點買進,破三日低點賣出
3出場規則:進場後2日開始固定百分比停損利與結算日出場

4.回測日期: 2013/10/11 往前 3000日
5.來回成本: 1200







單純以日線策略來看是可行的,而且 MDD 也約在總淨利10%左右,是值得開發的策略 ,下一篇將會把這樣的概念放到短週期來測試,讀者也可以依據本篇闡述的規則先作練習喔!

TS2000i完整程式碼

{Daily K}
inputs:Xbar(10),Mbar(5),Nbar(5),Cfactor(5),TrendType(1),Highband(5),LowBand(45),TradeProfit(0.02),TradeStopLoss(0.03) ;
Vars:CloseGap(0),AvgGapTrend(0),Bias(0),PriceDir(0);
vars:MP(0),isBalanceDay(false) ;

MP = MarketPosition ;

if DAYofMonth(Date) > 14 and DAYofMonth(Date) < 22 and DAYofWeek(Date)= 3 then isBalanceDay = True else isBalanceDay =False ;

{Cumulative price change}

CloseGap = Summation(Close-Close[1],Xbar) ;
AvgGapTrend = Average(CloseGap,MinList(Mbar,Nbar)) ;

PriceDir = Average(AbsValue(AvgGapTrend-CloseGap),MaxList(Mbar,Nbar)) ;

if PriceDir <> 0 then Bias = (AvgGapTrend/PriceDir)*Cfactor ;

{ for day trade}
if Bias > -LowBand then Buy next bar at Highest(High,3) stop ;
if Bias < HighBand then Sell next bar at Lowest(Low,3) stop ;
if Bias > HighBand then Buy next bar at Highest(High,3) stop ;
if Bias < -LowBand then Sell next bar at Lowest(Low,3) stop ;

if MP <> 0 and barssinceentry > 2 then Begin
if MP > 0 and Low < EntryPrice*(1 - TradeStopLoss) then ExitLong ("LX_loss") at EntryPrice*(1 - TradeStopLoss) stop;

if MP > 0 and High > EntryPrice*(1 + TradeProfit) then ExitLong ("LX_fit") at EntryPrice*(1 + TradeProfit) stop;

if MP < 0 and Low < EntryPrice*(1 - TradeProfit) then ExitShort ("SX_fit") at EntryPrice*(1 - TradeProfit) stop;
if MP < 0 and High > EntryPrice*(1 + TradeStopLoss) then ExitShort ("SX_loss") at EntryPrice*(1 + TradeStopLoss) stop;

end;

if IsBalanceDay then SetExitonClose ;

2 則留言:

  1. 請教E大cfactor這個函數是做什麼用的,我在書上都找不到ㄟ~

    回覆刪除
  2. 它很單純是一個參數 ,只是用來調整Bias 比例用的

    回覆刪除