Author Archives: 發財橘子

雲端策略中心精進版之17~開盤三連黑

早先,市場有所謂的開盤八法,其中如果開盤的時候,連續三根五分鐘K棒都是黑K棒,被稱為開盤三連黑,市場老手認為,如果個股出現這樣的走勢,代表在消化完前一天所有的各種數據後,今天的開盤展現的是空方一路追殺,多方一路潰敗。

我試著把這樣的經驗法則寫成交易策略,希望透過歷史數據的回溯測試,找出這樣的法則,在什麼情況下,有比較高的勝率。

為了表達五分鐘線三連黑,我畫了下面這張圖

%e9%96%8b%e7%9b%a4%e4%b8%89%e9%80%a3%e9%bb%91%e7%a4%ba%e6%84%8f%e5%9c%96

以這張圖為思考的基準,以下是我寫的腳本

if getsymbolfield("tse.tw","收盤價")
<average(getsymbolfield("tse.tw","收盤價"),10)
//大盤屬於空頭格局
and GetField("收盤價","D")=lowest(GetField("收盤價","D"),20)
//日線創二十日來的最低價
and GetField("收盤價","D")*1.05>highest(GetField("收盤價","D"),20)
//但收盤價距離20日來的最高點不超過5%
then begin
if Date = Date[2] 
and Date[2] > Date[3]
and Close < Close[1]
and close[1] < Close[2]
and Close[2] < Open[2]
then ret=1;
end;

我用總市值適中的股票,用5分鐘K來來跑這個腳本,停損停利我都設5%回測設定

091202

以下是回測報告

091203

從這個回測報告來看,只有在大盤空頭市場且個股剛剛進入初跌段時,開盤連三黑才比較有超過五成以上的短空勝率

 

xqlite banner

雲端策略中心精進版之16~天量後反轉

除了價量背離後跌破低點之外,另一個需要提高警覺的賣出訊號是天量天價之後,股價跌破創天量天價當天的起漲點。因為如果發生這種事情,代表當天大量的追高買盤,全部被套牢,除非後市有更強有力的買盤去消化這些套牢賣壓,否則就要小心這是一個反轉的訊號。

以下圖為例,高檔套牢區有大量的成交張數,一旦股價跌破,短期內大家一看到上面有那麼大等著解套的賣壓,通常不大會去追價買進,因此而形成一個短空的機會。

100401

為了找出這樣的股票,我寫了一個腳本如下:

Input: day(200, "計算天期");
Input: _Dist(60, "距離"); 

variable:Maxv(0); 
MaxV = Highest(Volume, day); 
//找出區間天量
variable:MaxH(0);
 MaxH = Highest(High, day);
//找出區間最高價
variable:Kprice(0), Kdate(0);

if Maxv = v and MaxH = H then
//今量是區間高量且今日高點是區間高點 
begin
 KDate = Date;
 Kprice = L;
//找出區間天量天價的日期及當日最低價
end; 
if GetSymbolField("TSE.TW","收盤價")
<average(GetSymbolField("TSE.TW","收盤價"),10)
//大盤屬於空頭格局
then begin
Condition1 = C[2] crosses below KPrice
//前天收盤價跌破天量天價當天的最低價 
and C[1] < KPrice 
//昨天還在天量天價當天最低價之下
and C < KPrice
//今天也還在天量天價當天最低價之下
and Datediff(Date, KDate) <= _Dist;
//今天距離天量天價當天的日期差在一定範圍內
Condition2 = Average(Volume[1], 5) >= 1000;
//昨日量五天移動平均大於1000張
Condition3 = C < C[1];
//今天收跌
condition4=lowest(low,day)*1.4<kprice;
//從低點上來漲幅超過四成
Ret = Condition1 And Condition2 
And Condition3 and condition4;
end;

由於這種創天量天價的股票大多是小型股,所以我拿有量的中小型股來跑回測,出場點設定是十天之後。

091207

過去三年的回測報告如下:

091206

從回測報告上可以發現,超過五成的中小型股如果出現這樣的情況,後市看跌。

 

雲端策略中心精進版之15~多日價量背離跌破

說到多頭警訊,多日價量背離算是很常被提到的一個,我從實證數據上的回測發現,如果頻頻出現股價上漲但成交量下跌的情況,一旦跌破近期的低點,後市下跌的機率確實比較高。

為了找出這些價量背離的股票,我寫的腳本如下:

input:Length(5, "計算期數");
input:times(3, "價量背離次數");
input:Dist(20, "距離");

variable:count(0),KPrice(0),hDate(0);

count = CountIf(close > close[1] and volume < volume[1], Length);

if count > times then begin
 hDate=Date;
 Kprice = lowest(l,length);
end;

if GetSymbolField("TSE.TW","收盤價")
<average(GetSymbolField("TSE.TW","收盤價"),10)
then begin

Condition1 = Close crosses below Kprice;
Condition2 = DateDiff(Date,hdate) < Dist;

Ret = Condition1 And Condition2;

end;

由於要回測的是空頭策略,所以我還是用不大賺錢的中大型股來回測,回測設定的出場我設為五天後出場。

不大賺錢的中大型股,它的選股條件有兩個

1.股本超過10億

2.最近三年每年eps都小於0.7元

091121

根據上述的設定,去跑三年的數據,回測報告如下

091201

從這個數據來看,價量背離後的創新低,的確是一個勝率頗高的空頭交易策略。

 

 

 

雲端策略中心精進版之14~投信強買發動

市場老手們常說禿子跟著月亮走,外資說話的股票我們跟著外資走,投信說話的股票我們跟著投信走,我從過往三年的數據上發現,當過去三天合計投資買超張數超過總成交量一成時,後市確實短多獲利出場的機率較高。

一直以來,我們都看得投信每天的買賣超,但我們總是透過經驗法則,加上其他的判斷工具,來研判這些投信進場的股票,有那幾檔後市值得一跟。

我試著想找出投信買賣超使用規則,其中一個不錯的規則,它的概念如下:

1.投信連著三天買超的張數超過成交量的15%。

2.在買超後幾日內,股價創了波段高點

我把這兩個規則寫成了一個腳本

input: pastDays(3, "計算天數");
input: _BuyRatio(15, "買超佔比例(%)");
input: _Distance(60, "距離KPrice");

variable: SumForce(0), SumTotalVolume(0),Kprice(0), Kdate(0);

SumForce = Summation(GetField("投信買賣超")[1], pastDays);
sumTotalVolume = Summation(Volume[1], pastDays);

if SumForce > SumTotalVolume * _BuyRatio/100 And Average(Volume[1], 5) >= 1000 then 
begin
 Kprice =highest(avgprice[1],pastDays);
 Kdate = date[1];
end; 

Condition1 = C crosses above Kprice and datediff(date, kdate) <= _Distance; 
Condition2 = Average(Volume[1], 5) >= 1000;
Condition3 = Volume > Average(Volume[1], 5) * 1.2;
Condition4 = C > C[1];
condition5=GetSymbolField("TSE.TW","收盤價","D")
>average(GetSymbolField("TSE.TW","收盤價","D"),10);

Ret = Condition1 And Condition2 
And Condition3 And Condition4
and condition5;

由於投信考慮到流動性及股性,會買的股票大多屬於總市值適中的股票,所以我用總市值適中的股票來回測,出場是設為進場後20天。

回測設定

091119

回測過去三年的數字後報告如下

091120

從上面的回測數字我們可以發現,如果投信有密集連買三天,之後只要股價一發動,往往會有波段的漲幅。

 

 

xqlite banner

 

雲端策略中心精進版之13~炒高後無量反轉下跌

早年我曾在證券商底下的投顧當研究員,那時候投顧跟總公司的營業廳在同一棟樓,收完盤,我常跟幾個老營業員聊天打屁,那時候正好踫到民國83的大多頭行情,大家每天都聊的很起勁,後來有一天,有位我覺得很厲害的營業員,突然跟大家宣佈他當天就開始勸客戶減碼了,第一次踫到這種大多頭行情的我,熊熊很難接受,我就問他,股票都還在漲啊,為何會突然看壞,他跟我說,漲到這裡,很多股票都漲了超過五成,成交量開始明顯下滑,顯示空手的已經追不下手,這種情況持續個幾天,早晚要多殺多。我年輕氣盛,對他的觀察半信半疑,隔天起,我特別留意那些漲多股票的成交量,  果然還是持續出現追高乏力的低量,隔了幾天,行情就真的出現了比較明顯的拉回。

今天要跟大家介紹的交易策略,跟我的這段經驗有關,我想寫出一個短空的策略,符合這個策略的股票,要具備以下的特徵

1.過去半年上漲五成以上

2.目前股價離波段最高點不到一成

3.最近的成交價比前幾天還高

4.但這幾天的成交量跟比較長期的均量相比,有一段距離

這種股票就是典型的大漲後股價在高檔,但成交量縮的很兇

根據上述的特徵,我寫的對應腳本如下:

input: Periods(120,"計算期數");
input: Ratio(50,"期間漲幅%");
 
if 
close < close[4]
and close*1.1>highest(close,periods)
and close >= close[Periods] *(1 + Ratio*0.01)
//過去半年漲幅超過五成
and average(volume[1],5)*1.4 < average(volume[1],20)
and GetSymbolField("tse.tw","收盤價","D")
<average(GetSymbolField("tse.tw","收盤價","D"),10)
then ret=1;

在回測設定上,我拿那些股本超過十億且過去三年每年EPS都小於1元的股票去跑,因為是短空,所以我設的出場點是十天之後。

091117

以下就是跑三年數據的回測報告

091118

因為這樣的條件有點苛,符合條件的只有46個交易機會,其中29個是獲利出場,勝率達到63%。

 

老市場人士常說的量先價行,看來還真的是有點道理

xqlite banner

 

雲端策略中心精進版之12~開盤五分鐘三創新高

能不能有個策略,開盤五分鐘就能決定要買什麼,進場後停損停利設好,就可以不必一直盯著盤看呢?  這樣的需求,自從我開始寫程式來決定交易策略之後,一直不斷的被提起,這樣的需求,有兩個特點,一是希望開盤五分鐘就決定今天的交易標的,二是希望這樣的 交易最好是當沖或隔日沖,不想放太長,因應這樣的需求,我設計了一個開盤五分鐘三創新高的交易策略,並且在這次精進版裡,做了更多的優化,以下是這個策略的介紹。

以前有位股市名嘴發明了開盤八法,我自己用excel去跑過往多年的開盤數據,發現開盤前五分鐘,如果1分鐘線大多能收紅棒時,當天收高的機會很大,因著這樣的觀察,我試著去尋找要符合什麼樣的條件,開盤走高後比較容易收高。

我試著設了一些條件並且加以回測,最後我發現,符合以下條件,當天收高的機率比較大

1.開高。

2.五日均量大於1000張

3.中小型股

4.一分鐘線,開盤後扣除第一根之外的五根裡,至少有三根高點比前一根的高點高,而且收盤比前一根的收盤高

5.前三天的漲幅不大

6.這五根一分鐘線的成交量達到五日均量的一定比例

7.大盤屬於多頭格局

 

follow上述的條件,對應的腳本如下:

input: volumeRatio(0.1, "分鐘量暴量比例");
input: changeRatio(3, "最近3日最大上漲幅度");
input: averageVolume(1000, "5日均量");

variable:KBarOfDay(0), BreakHigh(false); 

KBarOfDay+=1;
if date<>date[1] then begin
 KBarOfDay=1; 
 BreakHigh = false;
end; 

condition1 = KBarOfDay = 6;
//一分鐘線每天的第六根
condition2 = Countif(High > High[1] and Close > Close[1] ,5) >=3;
//近五根裡至少三根最高價比前一根高且收盤比前一根高
if KBarOfDay = 1 
and close > getfield("close", "d")[1] then BreakHigh = true;
//開高
value1 = average(GetField("Volume", "D")[1], 5);
//五日均量
condition3 = value1 > averageVolume;
//五日均量大於某張數 
value2 = rateofchange(GetField("Close", "D")[1], 3);
condition4 = AbsValue(value2) < changeRatio;
//前三日漲帳幅小於一定標準
condition5 = summation(volume, 5) > value1 * volumeRatio;
//前五根一分鐘線成交量的合計大於五日均量某個比例
condition6=GetSymbolField("TSE.TW","收盤價","D")
>average(GetSymbolField("TSE.TW","收盤價","D"),10);
//大盤屬於多頭結構
ret = condition1 and condition2 and condition3 
and Condition4 and Condition5 and BreakHigh
and condition6;

回測設定裡我用有量的中小型股來跑,停損停利都設為6%,這樣的比例,約莫屬於隔日沖的交易策略

091405

最近三個月的回測報告如下,三個月裡的交易次數有67次,平均一天一次。

1101

勝率五成多,平均每個月差不多是賺5%。

如果把回測時間拉長到兩年,勝率更高,以下是兩年的回測

091406

 

 

以前我有機會跟幾個市場有名的短線大戶相聚,這些人很愛把股票拉漲停,我曾問他們,怎麼決定今天要拉那一檔,他們的答案是,”拉今天開盤最強的,有出量的,前兩天沒啥動的”,這樣的說法,跟今天的策略有點像,這也算是我們股民的集體智慧吧。

 

xqlite banner

雲端策略中心精進版之11~開盤反轉買進訊號

先買後賣的當沖策略有很多種,今天要跟大家介紹的是那種波段下跌後短線可能止跌反彈的訊號,這種訊號是出現在波段下跌之後,當跌勢加速時,如果當天早盤開低後,股價從當日最低點反彈超過一定幅度且突破前一日高點,往往就是一個當沖作多的好機會。

我在研究那些先買後賣的當沖策略時,發現在多頭市場逆勢下跌的股票,要搶反彈的最佳時機,是賣壓竭盡之時,這種賣壓竭盡的股票,從線型及盤面上大致有以下幾個特徵

1.波段有一定的跌幅,且最近幾日的跌勢仍持續,顯示賣壓一路殺低在賣出

2.當日仍開低走低,代表賣壓延續中

3.但目前股價比最低點高出一定比例,代表賣壓已被買盤消化殆盡

4.股價且比前一日高點還高,代表昨天到今天所有賣股票的通通賣在低點,也代表多頭有追價的意願。

根據以上的描述,我寫了對應的腳本如下

 if getsymbolfield("tse.tw","收盤價")
>average(getsymbolfield("tse.tw","收盤價"),10)
then begin
variable: _BarIndex(0), _Open(0), _Low(0), _High(0), _Volume(0);

if Date <> Date[1] then
 begin
 _BarIndex = 1;
 _Open = Open;
 _Low = Low;
 _High = High;
 _Volume = Volume;
 end
else
 begin
 _Low = minlist(_Low, Low);
 _High = maxlist(_High, High);
 _Volume = _Volume + Volume;
 _BarIndex = _BarIndex + 1;
 end;
 
Condition1 = GetField("Open", "D") < GetField("Close", "D")[1];
//開低
Condition2 = Close > _Low * 1.02 and close>GetField("收盤價","D")[1];
//收盤比當天低點收高2%且突破前一日高點
Condition3 = Close*1.2 < GetField("Close", "D")[20]
//近二十日跌幅超過兩成
and close*1.07<getfield("close","D")[10];
//近十日跌幅超過7%
Condition4 = Time < 93000;
//時間在九點半之前
Condition5 = Average(GetField("Volume", "D")[1], 5) >= 1000;
//五日均量大於1000張
Condition6 = _Volume > GetField("Volume", "D")[1] * 0.2;
//今日迄今的量大於過去五日均量的兩成
Ret = Condition1 And Condition2 And Condition3 And Condition4 And Condition5 And Condition6;
end;

考慮到流動性及避免主力設局騙人,我把這個腳本,用市值適中的股票去跑五分鐘線,

我設定的出場是48根五分鐘K棒之後,由於我腳本是設定觸發時間必須是在九點半之前,所以這個策略差不多是當沖的概念。

091115

根據上述的腳本及設定,回測報告如下:

091116

在過去三年裡交易的次數並不多,只有77次,其中47次賺錢,30次 虧錢,但總報酬率有84%,最迷人的是,最大連續虧損及最大區間虧損差不多只有兩成,代表這樣的交易策略,屬於那種贏的時候可以贏多一點,輸的時候不至於太慘。

如果不把這個策略設定成當沖策略,而是把它設定成一個短線的交易策略,出場點設為停損停利各為5%,那麼回測的報告如下:

092601

 

在76次交易機會中,高達54次獲利出場,勝率超過七成,不過冒的風險也比較大,最大連續虧損與最大區間虧損都超過當沖策略。

但是從勝率來看,波段下跌後,空頭賣壓竭盡,確實是一個搶反彈的好時間。

 

xqlite banner

 

雲端策略中心精進版之10~天價上影線穿低賣出訊號

我有個朋友,看到股票漲多了,他就想去空,前陣子被大立光軋的天天在Line上面哭爹喊娘,我建議他等到個股敗相已露時再空,今天要跟大家介紹的交易策略,就是尋找敗相已露的股票,短空操作。

所謂敗相已露的股票,就是那種多頭一路全面獲勝,就在大家氣勢如虹的時候,突然被狠狠的打了一巴掌,然後開始有些人從多方轉成空方,就好像一場舞會快散場了,有些人知道多頭音樂快停了,開始往門口移動。

這樣的股票,具有幾個特徵

1.創長期高價時,最高價比開盤價要高出3%以上

2.但收盤價低於開盤價。等於當天衝進去的通通套牢

3.當最新一日的收盤價跌破創新高當天的最低價,代表開始有人奪門而出,這時候

就是所謂的敗象已露。

我寫了一個腳本來挑出符合上述特徵的股票

if GetSymbolField("TSE.TW","收盤價")
<average(GetSymbolField("TSE.TW","收盤價"),10)
then begin
setbackbar(255);

variable:Kprice(0);
if H > O*1.03 and C <O and H = SimpleHighest(H,255) then Kprice = L;
//找出創一年期天價上影線當天的最低價

condition1 = c crosses below Kprice;
//今天收盤價跌破天價當日的最低點
condition2 = average(volume[1], 5) >= 500;
//前五日的均量有超過500張
ret = condition1 and condition2;
end;

在回測上,因為只是短空策略,所以我設定為進場後五個交易日後出場。我用來回測的是不大賺錢的中大型股,它的選股條件有兩個

1.股本超過10億

2.最近三年每年eps都小於0.7元

091113

我拿它來回測過去三年,回測報告如下

091114

其實要符合這些條件的股票並不多,過去三年才出現了91次,其中51次賺錢,40次虧錢,迷人的是,最大區間虧損不到30%,總報酬率是140%,這代表的是,敗相已露的股票,就算反彈,也無法輕易克服上面被套的賣壓。

這是一個勝率雖然不到六成,但多賺小輸的策略。

 

xqlite banner

 

 

雲端策略中心精進版之9~多頭發動午餐奇襲

以前還有在看盤的時候,師兄常常早上一開盤進到操盤室來看一看,然後就離開操盤室,但到了收盤前,他就又跑進來一直看到收盤,我問他原因,他說早盤是看所有昨天多空消息今天在盤面上怎麼反應,收盤前進來看,是因為有很多主力大戶早盤洗完盤之後,收盤前,能洗的都洗出來了,如果有心作多,這時候就差不多該要開始拉了。今天要跟大家介紹的交易策略,就是尋找,在12點之後,主力趁著大家在吃午飯時,偷偷往上拉的股票。

為了挑到這樣的股票,我寫了一個腳本如下:

  input: upRatio(1.5); // 高點幅度
variable: xHigh(0) ;

if barfreq <> "Min" then RaiseRuntimeError("請設定分鐘頻率");

if GetSymbolField("tse.tw","收盤價","d")
 > average(GetSymbolField("tse.tw","收盤價","d"),10)
then begin
//大盤處於多頭格局
if trueall(GetField("收盤價","D")<GetField("收盤價","D")[1]*1.02,5)
then begin
//個股過去五個交易日沒有一天漲幅超過2%

 if Date <> Date[1] then xHigh = 0;
 
 if Time < 120000 then
 xHigh = maxlist(xHigh, High)
 else if xHigh > 0 then
 if Close > xHigh and 
 Close >= Close[1] * (1 + upRatio/100)
//超過12點之後,最新價格超越12點之前的最高價
//而且比前一收盤價漲超過1.5%
 then ret=1; 
end;
end;

 

這個腳本是應用在五分鐘線,停損停利我都設7%,由於主力比較能洗價拉抬的是有量的小股票,所以回測設定裡我用的商品是有量的中小型股。

092105

拿上述的設定去跑過去三年的資料,回測報告如下:

092106

 

在過去三年裡一共有168次出現這種午餐時間急拉,且之前五天漲幅都不到2%的情況,其中92次賺錢,76次虧錢,勝率是54.76%。

我看這策略不work的時候都是在大盤表現很差的時候,因為這時候主力可能拉上去才發現大盤不好沒人跟,只好反手殺,所以在空頭市場這策略的績效很不好,但如果是在多頭市場,這個策略的勝率會超過六成,所以在使用這個策略時,千萬要記得如果大盤仍猶疑不定時,千萬要有風險意識。

 

隨著股票多到1500檔以上,電視牆盯盤操作法已經成為往事,用語法寫策略,讓電腦幫我們盯盤,挑出符合我們要求的股票,會是未來的趨勢,特別是逐筆撮合如果真的實施,看盤會像是在看一個不斷閃爍壞掉的電視,這是一個新操盤時代的來臨,看盤室變成在雲端,盯盤的不是肉眼而是電腦。

 

xqlite banner

雲端策略中心精進版之8~籌碼沈澱突破買進訊號

孫子兵法中,形容一支優秀的軍隊,必須”始如處女,敵人開戶;後如脫兔,敵不及拒。”  股票市場上,我發現,那些平時安安靜靜到快被遺忘的股票,一旦開始站上攻擊發起線,後市往往會出現較大幅度的上揚,我把這種從”其徐如林”要轉成”侵掠如火”的股票,透過語法,寫成了一個交易策略,這個策略,就是今天要介紹的籌碼沈澱後突破。

這個腳本的安排順序如下

1.先用一檔股票的成交量減去當沖量,再除以成交量,算出實質成交比例

2.再算出實質成交比例的變動率

3.分別計算短中長天期的實質成交比例變動率的標準差

4.如果到前一日為止的各天期的標準差,都位於區間最低點,代表當沖客很安靜,沒啥變動。

5.如果今天股價突破前20天的最高價,代表攻勢即將發動了。

根據上述的思維,我寫的腳本如下:

  condition1=false;

if GetSymbolField("tse.tw","收盤價","D")

>average(GetSymbolField("tse.tw","收盤價","D"),10)

then begin
//大盤處於多頭格局時

if v[1] > 0 

then value1 = (v[1] - GetField("現股當沖張數")[1])/v[1];
//實質成交比例

if value1[1] >0
then value2 = 100*value1/value1[1]-100;
//實質成交比例日變動百分比
if currentbar < 1 then return;
value3 = standarddev(value2,5,1);
//實質成交比例日變動百分比的不同天期標準差
value4 = standarddev(value2,10,1);
value5 = standarddev(value2,20,1);
if value3 = lowest(value3 ,20) and 
 value4 = lowest(value4 ,20) and 
 value5 = lowest(value5 ,20) 
//現在各不同天期的成交比例日變動百分比標準差都處在期間最低點
then condition1=true;

if condition1 and close crosses over
highest(high[1],20)
then ret=1;
end;





我拿有量的中小型股去回測過去三年的績效,這邊我停利設7%,沒有設停損,20天後出場

091109

以下是回測報告

092501

 

這個策略應有在有量的中小型股上面,勝率超過七成,在過去三年,207檔有量的中小型股,符合這個交易策略的次數共有273次,其中194次賺錢,79次賠錢 。

我很喜歡這種不動則已,一動就一鳴驚人的股票,因為這種股票平常沒人在作股價安定的措施,也沒有在畫線,作量,短線客也不愛,這種股票如果從平淡轉向絢爛,往往代表背後有新的故事在發生,如果我不設7%停利,直接放滿20天,回測的報告如下:

092502

雖然勝率不如設停利,但總報酬率達到846%,顯示如果不停利擺久一點,有不少次是有踫到大行情。

 

我自己非常喜歡孫子兵法軍爭篇裡「其疾如風、其徐如林、侵掠如火、不動如山、難知如陰、動如雷震」”這段文字,股票市場原就是多空爭戰的戰場,戰場上適用的,往往股市裡也可以拿來參考印證。

xqlite banner