第三章 研究方法
3.5 多重時間架構與多重策略的交易系統設計
3.5.3 移動平均交叉交易策略
根據施惠萍[13] 以 1996 至 1999 年之台灣加權股價指數為研究標的,
以統計角度研究移動平均線法則,發現在大多數的交易可以產生正報綢,
推論移動平均線對股價指數的趨勢可以提供有用的資訊,因此本研究將比 較使用一般技術分析上常用移動平均線交叉的交易系統做為對照比較。
1. 制訂進場及規則
移動平均線交叉交易系統。以兩個參數為主,一個為短天期均 線,一個為長天期均線,當短天期均線向上穿越常天期均線為買進訊 號,當短天期均線向下穿越長天期為賣出訊號。並考慮避免交易次數 過多,當日多單與空單最多進場一次。
2. 制訂出場及規則
設定 PM 1:20 分後不再進場交易,當日 PM 1:30 時將未平倉部位 反向平倉。另外為避免虧損太大,並設停損為 50 點
3.評估系統
以上條件以 Omega Tradestation 之程式語言表示為 : Inputs: Price(Close), FastLen(9), SlowLen(18);
var: buyflag(true),sellflag(true);
If date <> date[1] then begin buyflag =true; sellflag=true; end;
If time >= 0845 and time <= 1320 and buyflag = true then begin If CurrentBar > 1 AND AverageFC(Price, FastLen) Crosses Above AverageFC(Price, SlowLen) Then
Buy ("B-MAC") This Bar on Close; end;
If time >= 0845 and time <= 1320 and sellflag = true then begin If CurrentBar > 1 AND AverageFC(Price, FastLen) Crosses Below AverageFC(Price, SlowLen) Then
Sell ("S-MAC") This Bar on Close; END;
setstoploss(50*bigpointvalue);
If marketposition = 1 then buyflag = false;
If marketposition = -1 then buyflag = false;
If TIME >= 1330 then Begin exitlong; exitshort; end;
如下圖 3-10 所示,若以 1min 交易時間框架下,對移動平均線交 叉交易參數做最佳化後之績效,其中最佳化後短期移動平均線
FastLen 為 50,長期移動平均線 SlowLen 為 110。
圖 3- 10 移動平均線交叉交易參數高原圖
如下表 3-15 所示,在暫不考慮交易成本及稅的情形下,我們可 以得出以下的交易績效統計資料。在暫不考慮交易手續費、滑價及稅 的情形下,時獲利最大為 $911,000,勝率為 42.67%,平均每口獲利 為 $834,最大虧損為 ($163,800)。
表 3- 15 移動平均線當沖策略績效(交易成本為 0)
TradeStation Strategy Performance Report - _MovAvgCrox TXF1-1 min.
(2006/1/2-2008/12/31) Cost = 0
Performance Summary: All Trades
Total Net Profit $911,000.00 Open position P/L $0.00 Gross Profit $4,873,400.00 Gross Loss -$3,962,400.00
Total # of trades 1,092 Percent profitable 42.67%
Number winning trades 466 Number losing trades 626
Largest winning trade $66,800.00 Largest losing trade -$10,000.00 Average winning trade $10,457.94 Average losing trade -$6,329.71
Ratio avg win/avg loss 1.65
Avg trade (win &
loss) $834.25
Max consec. Winners 7 Max consec. losers 11
Avg # bars in winners 152 Avg # bars in losers 97
Max intraday
drawdown -$163,800.00
Profit Factor 1.23 Max # contracts held 1
Account size required $163,800.00 Return on account 556.17%
如下圖 3-11 所示,在暫不考慮交易成本及稅的情形下,我們可以 得出以下的獲利曲線圖。其中獲利曲線於 2006/11 到 2007/7 間一直無 法有效的獲利,且每筆平均獲利為 $834 可能無法超過基本的交易成 本 $1000。因此將不考慮使用移動平均交叉當沖交易策略。
圖 3- 11 移動平均線當沖策略權益數曲線圖(成本為 0 )
3.5.4 技術指標 MACD 交易策略
MACD,指數平滑異同移動平均線(Moving Average
Convergence-Divergence),是由美國的 Gerald Appel 及 W.Fredrick Hitschler [14] 於 1979 年在『股市交易系統』(Stock Market Trading System)一書中 所提出的方法,
MACD 的原理在於以長天期(慢的)移動平均線來作為大趨勢基準,
而以短天期(快的)移動平均線作為趨勢變化的判定,所以當快的移動平均 線與慢的移動平均線二者交會時,代表趨勢已發生反轉,MACD 是確立波 段趨勢的重要指標。
計算公式
最常用的參數(12,26,9)為例。
計算 MACD(即 DIF 之 9 日 EMA,俗稱訊號線)
DIF 與 MACD 交叉時,顯示趨勢形成,波段走勢確立。當 DIF 由 MACD 下方往上方突破時,表示短天與長天的需求指數擴大,市場逐漸熱絡,為 買進波段的確立。當 DIF 由 MACD 上方往下方跌破時,為賣出波段的確 立。短線買賣點則檢視柱線 OSC=DIF-MACD,接近 0 時為短線買進或賣 出訊號。當柱線由負轉正時為買進訊號當柱線由正轉負時為賣出訊號。
1.制訂進場及規則 買賣決策方式
利用 DIF 及 MACD 的交叉作為買、賣訊號。
1. MACD 由下往上突破 DIF 之 9 日 EMA,的訊號線為賣出訊號。
2. MACD 由上向下跌破 DIF 之 9 日 EMA,的訊號線為買出訊號。
2.制訂出場及規則
另外為避免交易次數過多每天多空只進場一次,13:30 當沖出場。
3. 評估系統
以上條件以 Omega Tradestation 之程式語言表示為 : Inputs: FastMovAvg(12), SlowMovAvg(26), MACDMovAvg(9);
var: buyflag(true),sellflag(true);
Variables: XMACD(0);
if date <> date[1] then begin
buyflag =true; sellflag=true; end;
if time >= 0845 and time <= 1320 then begin
If CurrentBar > 2 AND MACD(Close, FastMovAvg, SlowMovAvg) Crosses Below XAverage(MACD(Close, FastMovAvg, SlowMovAvg), MACDMovAvg)[1]
AND sellflag=true Then
Sell ("S-MACD") This Bar on Close;
If CurrentBar > 2 AND MACD(Close, FastMovAvg, SlowMovAvg) Crosses Above XAverage(MACD(Close, FastMovAvg, SlowMovAvg), MACDMovAvg)[1]
AND buyflag =true Then
Buy ("B-MACD") This Bar on Close; END;
if marketposition = 1 then buyflag = false;
if marketposition = -1 then buyflag = false;
If TIME >= 1330 then Begin exitlong; exitshort; end;
若以 1min 交易時間框架下,若用預設的參數快速移動平均線 FastMovAvg 為 12,慢速移動平均線 SlowMovAvg 為 26,訊號線 MACDMovAvg 為 9。在暫不考慮交易成本及稅的情形下,我們可以 得出以下的交易績效統計資料及獲利曲線圖。在暫不考慮交易手續 費、滑價及稅的情形下,使用預設參數下時獲利最大為 $753200,勝 率為 48.1%,平均每口獲利為 $754,最大虧損為 ($225,000)。其中獲 利曲線於 2006/1 到 2007/7 間一直無法有效的獲利,且每筆平均獲利 為 $754 可能無法超過基本的交易成本 $1000。
如下圖所示,若以 1min 交易時間框架下,若分別對快速移動平 均線 FastMovAvg 與慢速移動平均線 SlowMovAvg 做參數最佳話,。
得出 FastMovAvg= 12,SlowMovAvg=22 訊號線 MACDMovAvg 為 9。
圖 3- 12 MACD 當沖交易參數高原圖
-600
100TICK 1min 2min 5min 15min
TIME FRAME
AVG TRADE
如下表 3-16 所示,在暫不考慮交易手續費、滑價及稅的情形下,
時獲利最大為 $895,800,勝率為 49.82%,平均每口獲利為 $823。
表 3- 16 MACD 當沖交易策略績效(交易成本為 0)
TradeStation Strategy Performance Report - _MACD TXF1-1 min.
(2006/1/2-2008/12/31) Cost = 0
Performance Summary: All Trades
Total Net Profit $895,800.00 Open position P/L $0.00 Gross Profit $5,890,000.00 Gross Loss -$4,994,200.00
Total # of trades 1,088 Percent profitable 49.82%
Number winning
trades 542 Number losing trades 546
Largest winning trade $74,000.00 Largest losing trade -$77,400.00 Average winning trade $10,867.16 Average losing trade -$9,146.89
Ratio avg win/avg loss 1.19
Avg trade (win &
loss) $823.35
Max consec. Winners 9 Max consec. losers 10
Avg # bars in winners 188 Avg # bars in losers 185 Max intraday
drawdown -$220,600.00
Profit Factor 1.18 Max # contracts held 1
Account size required $220,600.00 Return on account 406.07%
若調整不同時間架構下,可得出以下獲利圖: (FastMovAvg=
12,SlowMovAvg=22 MACDMovAvg9 ) ,由於每筆平均獲利小於
$1000,因此在實際交易上,可能無法超過基本的交易成本 $1000。
因此將不考慮使用此策略。如下圖 3-14 所示。
圖 3- 13 不同時間架構下獲利圖
3.5.5 自訂型態交易策略 1. 制訂進場規則
本交易系統多單進場條件設定試圖抓取當日價格波動中之特定 型態,並利用該交易框架定義出 HIGH, LOW, OPEN, CLOSE 四個值 為該交易框架之高點,低點,開盤,收盤。並抓取即連續跌勢中,當 交易框架之低點不再出現低點後,且交易框架之收盤大於前兩個交易 框架之高點為進場條件。多單進場條件以 Omega Tradestation 之程式 語言表示為 :
LOW > LOW[1]
AND LOW [1] < LOW [2]
AND LOW[2] < LOW [3]
AND CLOSE > HIGH[1]
AND CLOSE > HIGH[2]
THEN BUY NEXT BAR AT MARKET;
空單進場條件設定試圖抓取當日價格波動中之特定型態,並利用 該交易框架定義出 HIGH, LOW, OPEN, CLOSE 四個值為該交易框架 之高點,低點,開盤,收盤。並抓取即連續跌勢中,當交易框架之高 點不再出現高點後,且交易框架之收盤低於前兩個交易框架之低點為 進場條件。空單進場條件以 Omega Tradestation 之程式語言表示為 :
HIGH < HIGH[1]
AND HIGH[1] > HIGH[2]
AND HIGH[2] > HIGH[3]
AND CLOSE < LOW[1]
AND CLOSE <LOW[2]
THEN SELL NEX BAR AT MARKET
2. 制訂出場規則
本交易系統多單出場條件為跌破特定交易區間的低點做停損出 場,並利用交易框架隨時間移動的性質,調整特定交易區間的低點做 為移動式的出場條件,多單出場條件以 Omega Tradestation 之程式語 言表示為 :
EXITLONG NEXT BAR AT LOWEST( LOW, LMA) STOP;
其中 LMA 為一可調整參數,做為選取幾個交易框架之設定。
空單出場條件為漲破特定交易區間的高點做停損出場,並利用交 易框架隨時間移動的性質,調整特定交易區間的高點做為移動式的出 場條件,空單出場條件以 Omega Tradestation 之程式語言表示為 :
EXITLONG NEXT BAR AT LOWEST( LOW, SMA) STOP;
為了避免虧損過太,並設停損 50 點。
其中 SMA 為一可調整參數,做為選取幾個交易框架之設定。
3. 評估系統
本系統交易時間設定,跟據台灣期貨交易所規定之交易時間為 AM 8:45 至 PM 1:45,但考慮本論文研究主題在於研究台股指數的當 沖交易策略,根據期交所當日沖銷減收保證金制度,若使用當沖交易 單,期貨商會在 1:30 將未平倉的當沖單強制平倉,因此我們設定程式 交易時間為 8:50 到 1:30,其中 8:45~8:50 不交易除了避免開盤價格波 動太劇烈外,也做為當天程式資料之判斷用。此外設定 PM 1:20 分後 不再進場交易,1:30 前將所有未平倉做出場。以上條件以 Omega Tradestation 之程式語言表示為 :
Input: SMA(30);
IF TIME >= 0850 AND TIME <= 1320THEN BEGIN
If Low > Low [1]
And Low[1] < Low[2]
And Low[2] < Low[3]
And Close > High[1]
And Close > High[2]
Then Buy Next Bar at Market;
ExitLong Next Bar at Lowest(low, SMA) stop;
If High < High[1]
And High[1] > High[2]
And High[2] > High[3]
And CLOSE < LOW[1]
And CLOSE < LOW[2]
Then Sell Next Bar at Market;
ExitShort Next Bar at Highest(High,SMA) stop; END;
If T TIME =1330 then Begin Exitlong; Exitshort; END;
不同交易時間框架下之績效表現 (參數為 SMA =50, LMA =50):
以 1min 為交易時間框架,不同交易成本下之績效狀況,如下表 3-17
表 3- 17 以 1min 為交易時間框架不同交易成本下之績效
TransactionCostTotal # of
trades Total Net Profit Percent profitable 0 2680 $1,411,400 40.11% 1.92 ($127,400.00) 400 2680 $339,400.00 36.64% 1.83 ($260,400.00) 800 2680 ($732,600.00) 33.62% 1.75 ($739,000.00) 1000 2680 ($1,268,600.00) 32.87% 1.66 ($1,274,800.00) 從上面分析交易成本對短線當沖交易來看,交易成本是短線交易
TransactionCost Total # of trades 0 1,671 $864,200.00 40.28% 1.79 ($144,200) 400 1,671 $177,800.00 37.16% 1.76 ($212,000) 800 1,671($490,600.00) 34.17% 1.74 ($588,400) 1000 1,671 ($824,800.00) 33.15% 1.70 ($852,400) 從以上分析來看,把交易時間框架拉長後,交易次數減少相對也 使得總淨利減少,獲利機率變化不大,不過平均贏虧比有下降,z-score 下降顯是交易系統穫利可靠度下降。從上面分析來看短線當沖交易若 時間拉長並無法有效提升此交易系統的績效,因此我們嘗試加入其他 過濾條件希望提升此交易系統績效。
以 1min 交易時間框架下之出場時間參數之最佳化:
本交易系統中目前唯一可調整之參數值為多單出場時價格跌破 幾個交易框架的最低點時在下一個交易框架開始時為出場條件,如程 式中所示:
EXITLONG NEXT BAR AT LOWEST( LOW, LMA) STOP;
其中 LMA 為一可調整參數,做為選取幾個交易框架之設定。
空單出場條件為漲破特定交易區間的高點時在下一個交易框架 開始時為出場條件,空單出場條件如程式中所示 :
EXITLONG NEXT BAR AT LOWEST( LOW, SMA) STOP;
其中 SMA 為一可調整參數,做為選取幾個交易框架之設定。
如下圖 3-14 所示,我們調整 1min 交易時間框架下 LMA 與 SMA 的參數最佳值,設定由 40 ~ 160,間格為 20 之績效狀況。其 中最佳化後 LMA 為 120, SMA 為 60。
圖 3- 14 以 1min 交易時間框架下之出場時間參數之最佳化
最佳化調整後 1MIN 之績效表現,如下表 3-19 所示。
表 3- 19 最佳化調整後 1MIN 之績效
TransactionCost Total #
of trades Total Net ProfitPercent profitable 0 2,569 $1492,600.00 41.77% 1.80 ($149,800) 400 2,569 465,000.00 38.42% 1.73 ($278,000) 800 2,569 ($562,600.00) 35.58% 1.65 ($569,000) 1000 2,569 ($1,076,400.00) 34.64% 1.59 ($1,082,600) 如下表所示,比較使用參數最佳化與未使用參數最佳化之結果
Delta Total Net Profit %
Delta Percent profitable %
Delta Ratio avg win/avg loss %
1000 1000 -4.14% 15.15% 5.38% -4.22%
使用參數最佳化與後,總體交易次數減少 4%,淨利明顯增加,