我的「價格波動率突破系統」係依據「包寧傑帶狀操作法」一書中所述「交易系統I-價格波動率突破」發展出來,本文列出該書原文與本人實作的對照。(以下黑色字為「包寧傑帶狀操作法」一書中的原文,棕色字則為我的注解。)

  文後有加入我的XS腳本以及選股範例。

擠壓辨識

  價格本身沒有循環,也不能被預測,但價格波動率則存在循環。價格波動率存在著「物極必反」的現象,偏低價格波動醞釀著價格波動轉強的契機。

  價格波動率突破系統,首先要辨識「擠壓」(The Squeeze)現象,擠壓最簡單的定義就是當帶寬指標下降到六個月以來的最低水準,就視為產生擠壓現象。

  注:你可以用目視的方法見到帶寬變得極窄,但很顯然你不可能每天掃描一遍所有股票的技術線圖,所以借助於電腦程式可能是唯一解決的方法。如不會寫程式,則可參考網路上的資料,但我發現即便是收費網站,大概也找不到這種資料。

  電腦首先每天計算帶寬指標【=(帶狀上限-帶狀下限)/帶狀中心價位】,然後判斷是否等於6個月以來的最小數值(改為120個交易日),如果是則視為發生擠壓。

  在20天內曾經發生過擠壓且目前帶寬<=最小帶寬*3者視為仍在壓縮狀態,仍在壓縮狀態者列表出來以人工方式繼續追蹤是否符合買進標準(比如在4天內上漲了5%以上)。

買進方法

  我們的價格波動率突破系統採用帶寬指標設定前提條件,然後等待突破發生當時建立部位。...

  關於方法I,成功操作的最大困難在於假動作——這也是前一章的討論主題之一。這個名詞源自於曲棍球,但也出現在其他類似場合。攻擊者帶著球衝向對方球門;過程中,他轉頭假裝要傳球,一旦防守球員認定他要傳球而展現對應動作之後,他又回過頭來射門。盤勢脫離「擠壓」狀況之後,經常也會展現類似的假動作;首先假裝朝某個方向進行突破,然後又擺頭朝另一個方向展開正式攻擊。在典型的狀況下,首先出現擠壓,然後價格朝帶狀的某一端逼近,按著就回頭朝另一方向攻擊。一般來說,這類走勢都會侷限在帶狀範圍內,直到真正走勢出現之後,才會產生突破訊號。可是,如果你採用的參數使得帶狀寬度變得相對較窄,在真正的走勢產生之前,可能會出現幾次穿越帶狀的反覆訊號。

  某些股票或股價指數比較容易產生假動作或假突破。對於所操作的對象,觀察過去的擠壓走勢,評估假突破的發生頻率。一旦曾經欺騙,往後就……。

  如果你願意接受非機械性操作方式的話,最簡單的辦法就是等待擠壓狀況發生——前提條件——然後觀察價格突破橫向盤整區間。在走勢轉強的第一天進場建立半數部位,正式突破之後加碼,並且利用拋物線系統或觸及對側帶狀邊緣的停損策略,避免萬一判斷錯誤所造成的傷害太大。如果交易對象很少出現假動作,或者帶狀參數的設定不至於造成假動作的問題,就可以很單純的運用 「方法I」。等待擠壓狀況發生,然後只要看到突破就進場。...

  注:包寧傑對於機械性操作法的建議是,「走勢轉強的第一天進場建立半數部位」,這有點抽象,「正式突破之後加碼」,這個正式似乎也是蠻抽象的。我的方法在下面「假動作」一節說明。

輔助指標

  在這些情況下,成交量技術指標確實可以提供協助。在假動作或假突破發生之前,觀察盤中強度指標(Intraday Intensity)或承接/出貨指標(Accurnulation Distribution),預先判斷可能的突破方向。資金流量指數(MoneyFlow Index)是另一項值得參考的技術指標,可以提高成功機率,鼓舞交易信心。這些都是成交量指標,屬於第IV篇的討論主題。...

  ...我們經常見到擠壓現象的運作。一旦行情進入整理,價格交易區間明顯縮小,價格移動平均線的走勢明顯趨於平緩,包寧傑帶狀寬度也緊縮,緊靠著價格均線波動 (圖15.3)。舞台已經搭建妥當。讓我們看看其他技術指標的狀況。行情上漲的日子裡,成交量是否配合放大?承接/出貨指標是否向上反轉?價格下跌的日子裡,交易區間是否更縮小?開盤價與收盤價之間的關係如何?每種現象都有助於我作判斷隨後的行情發展方向。務必特別注意消息面,消息面經常是行情的催化劑。

結合運用各種技術指標

  在使用指標的時候,首先要注意的是「多重共線性(multi-collinearity)」陷阱與「狗腿子」陷阱。

  所謂「多重共線性」陷阱,意指:採用多個確認指標,絕對可以提高成功機率。但如果這些指標屬於共線性 (collinear)指標,那就有問題了;舉例來說,在特定情況下,動能指標基本上都會提供類似的訊號;所以,如果你看見五種動能指標都出現類似訊號,這並不代表五種相同訊號就比較可靠。

  要避開這種可怕的陷阱,每個指標類別(如表一)內只挑選一種技術指標;例如,一種動能指標,一種趨勢指標,一種成交量指標,以及其他等等。成交量指標與人氣指標特別值得考慮,能夠提供額外的資訊,而且不容易造成多重共線性的問題。

類別

指標

本人目前採用

動能

變動率,隨機(KD)

KD

趨勢

線性回歸, MACD,  增加:趨向指標(DMI)

MACD,DMI

人氣

統計調查, 賣權-買權比率

X

成交量(開放式)

盤中強勢(II), 承接/出貨(AD), 增加:修正OBV(VA/D)

VA/D

成交量(封閉式)

資金流量指數(MFI), 成交量加權MACD, 增加:成交量比率指標(VR)

MFI

超買/超賣

商品通道指數(CCI), 相對強弱指標(RSI), 增加:威廉指標(W%R)

RSI,W%R

  注:顯然藉由各種指標來避免假突破才是應該努力方向。包寧傑建議採用成交量技術指標,譬如盤中強度指標(Intraday Intensity)或承接/出貨指標(Accurnulation Distribution) 或資金流量指數(MoneyFlow Index),

  然則我使用我的系統上現有的指標都沒有關鍵性效果,我使用MFI>=70,測試結果無甚差異,比較關鍵的因子反而是成交量放大與漲幅。

出場

  關於部位的停損或出場,可以採用兩種方法。第一是韋達的拋物線系統,觀念非常簡單而有效。就買進部位來說,起始停損設定在突破排列的稍下方,然後每天向上調整。至於空頭部位,停損設定方法的觀念也相同,但位置剛好相反。拋物線是一套相對保守的系統,如果使用者願意承擔更大風險,嘗試掌握更大的獲利潛能,價格觸及帶狀對邊,可以做為理想的出場訊號後者允許價格出現較大的修正走勢,進行較長期的部位交界,換言之,「價格觸及帶狀下限」可以做為多頭部位的出場訊號:「價格觸及帶狀上限」可以做為空頭部位的出場訊號。

  注:我不認同包寧傑所提的出場方法,因為SAR只適用在趨勢明顯的標的,而觸及帶狀對邊的方法不符合風險/報酬原則,也就是風險太大。

時間因子

  包寧傑對於出場的建議是「就買進部位來說,起始停損設定在突破排列的稍下方,然後每天向上調整。」我是把它設計為「大量突破日收盤下方7%停損」但是,要加上「時間因子」。因為既然是短線,則其勢不可久,你必須規定它在幾天內有所表現(漲幅超過14%),否則就應該立刻出場,這叫做HOLS_DAYS。我的賣出規則如下:

賣出

  1. 收盤跌破選股日收盤價 * 0.93停損。

  2. 期間最小跌幅: 7 日(HOLD_DAYS)內若獲利未達 14%(最小獲利)則強迫出場。

  3. 浮動停利點:若獲利超過 14%,改用收盤價跌破 ma10 * 0.96出場(不上移)。

假動作

  包寧傑指出,關於本系統,「成功操作的最大困難在於假動作...」,他提出兩個方法,1.觀察過去的走勢,是否經常出現假動作。2.分批買進,一開始先只買進一半。由此可見包寧傑也察覺到這種方法的失敗率很高。

  觀察過去的走勢,那實在是有點不太科學,因為那不可能寫成回測程式。有沒有辦法解決包寧傑無法解決的問題?我使用以下三個方法來解決:1.試單策略,2. 5日均量,3.企圖心。

試單策略

  分批,每+3%投入一批,但為避免需要整天盯盤,改成「收盤前+3%」。

5日均量

  除了要求在突破當天,成交量必須大於10日均量的倍,另外加上5日均量必須大於5天前的5日均量5倍。(成交量與10日均量的比較是易於快速抓取資料,主要還是判斷5日均量的放大)

  註:此條件無法以單純SQL完成判斷,故寫在OpenWinReport.java的isByPass()中。

企圖心

  另外一個辨別是否為假動作之方法為,判斷主力的企圖心。如果主力用力拉抬股價突破盤整區,那麼他一定會先急於脫離成本區,所以判斷他不可能立刻洗盤。所以應該至少在天之內拉抬至少7%以上的漲幅。

XS腳本

settotalbar(3);

var: i(0),SqueezeDays(0);

var: bwlowest(0), ix(0),lowestDate(0),bwCurr(0);

 

//if not (leftStr(Symbol,3) = "233") then return;

 

bwCurr = BollingerBandWidth(Close,20,2,2);

bwlowest = bwCurr;

lowestDate = GetField("Date");

for i = 1 to 119

begin

value1 = BollingerBandWidth(Close[i],20,2,2);

if value1 <= bwlowest then

begin

bwlowest = value1;

lowestDate = GetField("Date")[i];

ix = i;

end;

end;

SqueezeDays=0;

for i = ix-1 downto 1

begin

SqueezeDays += 1;

value1 = BollingerBandWidth(Close[i],20,2,2);

if value1 / bwlowest >= 2 then return;

end;

if SqueezeDays <= 10 then return;

 

Ret = 1;

SetOutputName1("BW最低日"); OutputField1(lowestDate);

SetOutputName2("最低BW"); OutputField2(bwlowest);

SetOutputName3("目前BW"); OutputField3(bwCurr);

SetOutputName4("壓縮天數"); OutputField4(SqueezeDays);

XS選股範例

 

策略

價格波動率突破

               

序號

代碼

商品

成交

漲幅%

總量

BW最低日

最低BW

目前BW

壓縮天數

1

1515.TW

力山

47.6

-3.64

1544

20240221

8.68

9.78

35

2

1584.TW

精剛

35.6

0.14

12086

20240321

6.17

8.75

15

3

1586.TW

和勤

32

-1.54

179

20240314

2.03

2.36

20

4

1605.TW

華新

38.05

-3.91

48501

20240226

5.24

9.49

32

5

1788.TW

杏昌

139

-0.36

37

20240325

1.02

1.23

13

6

1904.TW

正隆

28.35

-2.24

2276

20240304

2.11

2.9

28

7

1905.TW

華紙

22.1

-3.91

5067

20240226

6.26

6.97

32

8

2027.TW

大成鋼

36.7

0

9852

20240319

3

4.23

17

9

2207.TW

和泰車

613

-3.46

624

20240315

3.45

5.36

19

10

2344.TW

華邦電

25.5

-4.32

59381

20240312

5.17

7.53

22

11

2388.TW

威盛

137

-1.44

16501

20240112

9.12

18.11

56

12

2458.TW

義隆

159.5

-1.54

4008

20240327

5.45

10.73

11

13

2610.TW

華航

19.25

-2.78

26360

20240221

3.9

5.48

35

14

2618.TW

長榮航

31

-2.21

90115

20240307

4.9

5.96

25

15

2641.TW

正德

19.45

-3.47

3139

20240325

7.24

11.09

13

16

2849.TW

安泰銀

13.85

-2.12

105

20240313

1.68

2.11

21

17

2910.TW

統領

27

0

62

20240313

2.1

2.47

21

18

2913.TW

農林

20.25

-2.88

3186

20240326

4.03

6.34

12

19

3105.TW

穩懋

143

-2.72

3101

20240305

7.55

10.25

27

20

3115.TW

富榮綱

10.45

0.48

0

20240123

3.72

6.08

49

21

3531.TW

先益

31.2

-2.19

34

20240327

5.15

8.3

11

22

4438.TW

廣越

109.5

-0.45

142

20240220

1.75

2.08

36

23

4953.TW

緯軟

135

-1.46

1191

20240102

7.73

12.34

64

24

5871.TW

中租-KY

170

-1.73

6138

20240318

3.87

5.38

18

25

5880.TW

合庫金

25.7

-1.53

20302

20240311

1.78

2.63

23

26

6169.TW

昱泉

22

-3.3

46

20240319

3.69

4.38

17

27

6173.TW

信昌電

43.4

-4.19

756

20240305

4.71

9.45

27

28

6195.TW

詩肯

41.4

-0.72

87

20240315

0.87

1.73

19

29

6593.TW

台灣銘板

128.5

-7.22

1087

20240219

17.94

37.14

37

30

6680.TW

鑫創電子

78.6

-1.13

10

20240327

3.3

4.71

11

31

6763.TW

綠界科技

396

-2.1

48

20240325

4.13

6.5

13

32

6846.TW

綠茵

78

-1.27

40

20240314

2.54

4.25

20

33

6874.TW

倍力

108.5

-4.41

130

20240307

7.36

11.76

25

34

8081.TW

致新

270

-4.42

1471

20240318

6.67

10.74

18

35

8107.TW

大億金茂

15.55

-0.96

77

20240307

2.44

3.75

25

36

8467.TW

波力-KY

192

-9.86

1514

20240219

11.43

20.52

37

37

9908.TW

大台北

32.4

0.31

135

20240115

1.1

1.24

55

38

9926.TW

新海

54.4

0

0

20240325

1.03

1.89

13

價格波動率突破系統的原理與實作

價格波動率突破系統的原理與實作

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 htm0606 的頭像
    htm0606

    奇正2

    htm0606 發表在 痞客邦 留言(0) 人氣()