2015年2月12日 星期四

開發商品的交易系統 - 基礎篇 [28]

EasyTrader ArtNo 246
廣量衝力指標BTI,全名The Breadth Thrust Index,縮寫“BTI”,是一種市場動量指標,由馬丁•茨威格博士(Martin Zweig)所創。本指標是一種市場動量指標,屬於超買超賣類型。它最主要的作用,在於偵測市場是否即將展開大多頭行情?
很多分析師相信,股市存在著“相對力量”,與某些物理現象吻合。例如:棒球場上的競賽,經驗豐富的球迷,依鋁棒擊打棒球的清脆響聲,就可以判斷這一球會飛得多遠。同樣的,要判斷市場是否將產生大行情,那麼,起漲點的強勢與否可以比擬成球棒打擊的聲響。連續上漲的大陽線,代表強勁的打擊力道,後市發展成大行情的機會相當高。
茨威格博士發現,美國股市自1945年以來,總共出現14次這種強勁的“衝力”現象。平均每一次衝力出現時,市場至少上升24.6%以上,漲幅相當可觀。因此,茨威格博士相信,大多數的多頭市場開始之前,都是由這種“衝力”現象所引起。總而言之,多大的力量,可以讓球飛得多遠,兩者之間成正比。有氣無力的初升力道,後市很難變成大行情。這一點,是BTI指標的理論基礎。

BTI 廣量衝力指標的公式計算方法
BTI = MA(Up / Up + Down, N)
Up = 上升股票數量
Down = 下跌股票數量
MA(x, n) = n 天的平均值
建議使用 N = 10 計算 BTI 的平均值
{指標程式碼 - Data2 為 up/(up+down)}
input:UB(0.61),DB(0.40),AvgLen(10) ;
Vars:BTI(0) ;
BTI= Close of Data2 ;
Plot1(BTI,"BTI") ;
Plot2(XAverage(Close of data2,AvgLen),"AvgBTI") ;
Plot2(UB,"UB") ;
Plot3(DB,"DB") ;
股票上漲下跌家數的資料可以直接從券商看盤軟體輸出


廣量衝力指標的指標劍法
  • 1、61.5%是BTI的“天線”位置。
  • 2、40%是BTI的“地線”位置。
  • 3、BTI>61.5%時,市場超買,回檔機會大。
  • 4、BTI<40%時,市場超賣,反彈機會大。
  • 5、BTI從低於40%之下,10天之內,直線上升至61.5%之上,是一種衝力的表現,暗示未來市場發展成大行情的會大。
如果是一段多頭趨勢,能夠維持和緩有秩序地上漲,那麼,這種行情投資人較能夠掌握。在急漲或緩跌的市場,參考技術指標訊號操作時,大部分的買賣時機都非常適宜。但是,投資人心理非常清楚,股市不可能經常出現這種理想狀況。大部分時候,市場的漲跌是忽快忽慢,捉摸不定的。
 經驗中我們常看到,行情大幅上漲之後,投資人往往會受不了誘惑,進場搶搭順風車。但是,滿懷希望跳進場之後,行情卻變成牛步拉鋸。市場雖然仍維持上升趨勢不變,但是,接下來的行情,卻是一場長時間的漲跌拉鋸,投資人必須有超強的耐力,必須耐磨耐震,才能在這種消耗戰中獲利。 初升段的大漲升,是一種“衝力”的表現。然而,很少人能在“衝力期”獲利。衝力期漲幅常常占整個波段漲幅相當大的比例,不僅利潤可觀,而且時間非常短,是一種“瞬間利潤”。有了概念後,接下來就是轉為策略程式碼來試試看,這樣的元素是否也能幫我們找到獲利的契機。
資料參考來源 - MBA智庫
系統參數與變數
input:EntryType(1),ExitType(1);
input:NBarL(30),NBarS(18),TradeProfit(0.045),TradeStopLoss(0.01),ATRs_L(12.7),ATRs_S(4.6);
vars: IsBalanceDay(False),MP(0),PF(0),PL(0),HLRange(100);

input:OscRangeA(0.4),LenA(4),OscRangeB(0.6),LenB(12);
Vars: BTI(0),AvgBTI(0);

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

PF = AvgPrice*TradeProfit ;
PL = AvgPrice*TradeStopLoss ;

{在不同交易日轉換的第一根K棒計算 BTI值與其平均值 }
if Date <> Date[1] then Begin
BTI = Close of Data2 ;
AvgBTI = XAverage(Close,LenA) of Data2 ;
end;

{ 利用BTI 值作多空進出判斷 }
if EntryType = 1 then Begin
if MP <> 1 and BTI > {Cross over} OscRangeA then Buy next bar at Highest(High,LenA) stop ;
if MP <> -1 and BTI < {Cross under} OscRangeB then Sell next bar at Lowest(Low,LenB) stop ;
end;
{ 利用BTI 平均值作多空進出判斷 }
if EntryType = 2 then Begin
if MP <> 1 and AvgBTI > {Cross over} OscRangeA then Buy next bar at Highest(High,LenA) stop ;
if MP <> -1 and AvgBTI < {Cross under} OscRangeB then Sell next bar at Lowest(Low,LenB) stop ;
end;

{常用出場規則}
if ExitType = 1 then SetStopLoss(PL * BigPointValue) ;

if ExitType = 2 then Begin
SetStopLoss(PL * BigPointValue) ;
setProfitTarget(PF * BigPointValue) ;
end;

if ExitType = 3 then Begin
if MP > 0 and BarsSinceEntry = NBarL then ExitLong next bar at Market ;
if MP < 0 and BarsSinceEntry = NBarS then ExitShort next bar at Market ;
end;

if ExitType = 4 then Begin
SetStopLoss(PL * BigPointValue) ;
setProfitTarget(PF * BigPointValue) ;
if MP > 0 and BarsSinceEntry = NBarL then {Sell } ExitLong next bar at Market ;
if MP < 0 and BarsSinceEntry = NBarS then {Buy} ExitShort next bar at Market ;
end;

if IsBalanceDay then setExitonClose ;
台指期 日K 留倉 交易期間 2004/12/31 ~ 2014/12/31 交易成本 1200
台指期 30 min K 留倉 交易期間 2004/12/31 ~ 2014/12/31 交易成本 1200

套用如意多空網,績效如下
台指期 30 min K 留倉 交易期間 2004/12/31 ~ 2014/12/31 交易成本 1200
結論:BTI指標利用了整體市場上的現貨股票商品的動量來作期貨趨勢的預測,在不同週期的歷史回測績效都有不錯的表現。由於大多頭行情,具有長期趨勢的特性,當BTI出現“衝力”訊號時,投資人應該儘量選擇長期指標,避免短線進出,才能獲得較大利潤。
MagicQS154

沒有留言:

張貼留言