現股當沖腳本的奧義

By | 2016-03-15

去年 6月1日起單日漲跌幅限制從7%放大到10%,今年2月1日起,可以進行現股當沖的標的,開放到只要有信用交易就可以,所以可以現股當沖的股票,上市櫃加起來有1432檔,涵蓋了超過90%的上市櫃股票。這種制度上的變化,讓個股當沖交易成為一個比以前更值得研究的領域。不過由於現股當沖的交易成本,不考慮退佣的話是0.585%,就算有退佣,也差不多到千分之四到千分之五之間,所以要長期以現股當沖來累積財富,勢必要有一套尋找當日波動幅度大股票,並且在股價波動的起始點就進場的策略,今天想跟大家報告的,就是我對這個領域的研究心得。

 

我的研究方法分成幾個部份

一,先找出自去年六月一日以來,所有有信用交易股票,每日震盪幅度的總合,然後透過排序,去尋找那些股票波動幅度比較大。透過這個方法,先濾掉那些大牛股。

二,把濾掉大牛股之後的股票,找出它們這幾個月來曾經漲停的日子,然後去分析當日的波動型態

三,尋找這些當日漲停個股的共同特徵,寫成交易策略

四,透過回溯測試,修正交易策略

 

經過了這陣子的測試之後,我想要分享的當沖交易策略有三個,

第一個開高後不拉回

input:Ratio(2.5); setinputname(1,"開高幅度%");
 input:aRatio(1); setinputname(2,"拉回度%上限");
 input:TXT("僅適用於15分鐘以內"); setinputname(3,"使用限制"); 
if barfreq ="Min" and barinterval <=15 
and time <= 091500 
and q_DailyOpen > q_RefPrice *(1+Ratio/100)
 and q_Last > q_DailyHigh* (1- aRatio/100) 
then ret=1;

 以下是這類股票的示意圖 盤整後開高不拉回

 

 

第二個則是橫向盤整後的旱地拔葱

if barfreq <> "Min" or barinterval <> 1 then RaiseRuntimeError("請設定頻率為1分鐘");
variable:KBarOfDay(0); if Date<> Date[1] then KBarOfDay = 1 else KBarOfDay+=1;


input:P1(60); setinputname(1,"狹幅盤整計算期間(分鐘)");

if high = q_DailyHigh and {來到今日最高價}
 KBarOfDay > 30 and {今日至少有30根K棒交易}
 TrueAll( AbsValue(Close[1]/Close[2]-1) < 0.005,KBarOfDay-1) and{必需只有小波動}
 AbsValue( Close[1]/Close[KBarOfDay-1]-1 ) < 0.02 {開盤到前分收K不超過2%}
then ret=1;

以下是這類股票的示意圖

火箭後拉回

第三個則是階段式向上

input:TXT1("僅適用1分鐘線"); setinputname(1,"使用限制");
input:TXT2("只於9:10判斷"); setinputname(2,"使用說明");

if barfreq = "Min" and barinterval = 1 and time =91000 and
 TrueAll(close >Close[1] ,10) then ret=1;





以下是這個腳本的示意圖

階梯式向上

這三個腳本先前都介紹過,如果用1500檔股票去洗,出來的股票上漲的機率並不是那麼高,但我在研究那些失敗的股票後發現,當個股盤中出現上述三種走勢之後,最後無法順利收高的股票,往往有三種共同的特徵

1.先前成交量不大,意思是一個小咖咖的起心動念,就足以造成交易策略的訊號被觸發。等到小咖咖買完了,我們再進場,剛好套到最高點。

2.前幾天已有明顯上漲,今天再拉高馬上踫到獲利了結賣壓。

3.大盤偏空,指數出現較大的下挫,覆巢之下,個股很難收高。

於是我用以下的腳本來選股

input:b1(1.5,"三日漲幅上限");
if volume*close>=30000
and close<=close[2]*(1+b1/100)
then ret=1;

這個選股腳本要挑的股票必須符合兩個條件

1。前一日成交值超過3000萬

2。過去三個交易日漲幅很小。

並且把選出來的股票,只有在大盤週線在月線之上才開始啟動上述三個交易策略,讓符合上述三種情況的個股,在盤中送出訊號給我。

這是到目前為止,比較有機會有差價的先買後賣當沖策略腳本,我會繼續測試,有新的方向再跟大家報告。