Author Archives: 發財橘子

上漲下跌家數在期指波段交易上的應用

這兩天有網友問我上漲下跌家數如果要拿來做期指選擇權交易時,用幾天期的參數比較合適? 類似這樣的問題,我總會建議大家,回測看看,我常說回測是檢驗策略的唯一道路。 今天我就以上漲下跌家數為策略的核心,舉一個例子來說明我的心路歷程。

一開始我跟大家一樣,會看上漲下跌家數來研判大盤短期方向,後來我就寫了一個指標,這個指標的概念如下

1.先算出每天上漲家數佔所有上漲家數與下跌家數總和的比例

2.把這個比例取五天及20天平均

3.用五天平均去減20天平均

然後把這樣的概念寫成一個畫指標的腳本

input:days1(5,"短天期");
input:days2(20,"長天期");
value1=GetField("上漲家數");
value2=GetField("下跌家數");
value3=value1+value2;
if value3 = 0 then value4 = 0 else value4=value1/value3*100;
value5=average(value4,days1);
value6=average(value4,days2);
value7=value5-value6;
plot1(value7,"上漲下跌家數差指標");

這個腳本畫出來的線與加權指數對照圖如下

2018051701

然後透過觀察這個指標與加權指數的對照圖,我發現當這個指標從零以上轉正時,往往是大盤短線空翻多的時候,所以我就把這指標改成以下的交易策略

input:days1(5,"短天期");
input:days2(20,"長天期");
value1=GetField("上漲家數");
value2=GetField("下跌家數");
value3=value1+value2;
if value3 = 0 then value4 = 0 else value4=value1/value3*100;
value5=average(value4,days1);
value6=average(value4,days2);
value7=value5-value6;

if value7 cross over 0 
then ret=1;

我拿這個腳本去回測過去十二年的加權指數,持有天期只一天,回測報告如下

2018051704

我發現過去十二年裡這樣的概念確實有七成的勝率,但因為持有一天,所以平均報酬率很低,所以就算獲利出場的機率很高,但總報酬率也有限,所以我就把持有天數從一天改成三天,結果平均報酬率變成0.42%,總報酬變成65%,但勝率也降到62.8%。

後來我把持有期間再改成10天,回測報告如下圖

2018051705

勝率又站回七成以上,回測期間改成最近三年,勝率也在七成以上。

用這個例子是要跟大家說明,很多時候,可以實戰的交易策略,往往是經過不斷的改變參數及進出場條件後,慢慢找出來的。

大家不要太拘泥於專家或高手們提出的作法或參數,多測多檢討,祝大家都能找到最適合自己交易風格的策略。

 

 

 

介紹RSV的概念~以華南三把刀為例

網友拿了華南投顧的華南三把刀選股來問我

2018051502

前面兩把刀比較容易理解,至於第三把刀營業利益率指標,我倒是沒有聽過,網友附上公式如下

2018051503

他讓我解說一下這個指標的用法與意義。

根據這個公式,如果最新一季營業利益率創過去八季新高,那麼這個營業利益率指標就會等於100

如果最新一季營業利益率創八季新低,那麼這個指標的值就會是0

有沒有覺得跟什麼指標很像呢?

我們在計算KD值時,會先計算一個未成熟隨機值( Raw Stochastic Value),簡寫為RSV

RSV的公式如下

2018051504

RSV的概念有點像是多空雙方拔河時,以兩邊曾經拉到最接近勝利的兩點距離作為分母,多方目前的位置為分子,這樣可以衡量多方當下的力量強度在什麼刻度。超過五十代表多方佔上風,低於五十代表空方佔上風,類似這樣的概念,除了用在KD指標之外,也會被用在其他地方,我個人在自訂指標時,也不時會用這樣的概念試試看。華南三把刀裡的營業利益率指標大約就是這樣的概念。

我把這指標寫成一個函數,腳本如下

value1=GetField("營業利益率","Q");
value2=highest(value1,8)-lowest(value1,8);
value3=value1-lowest(value1,8);
if value2<>0 then value4=value3/value2*100;
ret=value4;

用這個函數寫成以下的選股腳本

if barfreq<>"Q" then raiseruntimeerror("頻率請用季");
value1=GetFieldDate("營業利益率","Q");
if netprofitrsi cross over 50 and value1=20180301
then ret=1;

outputfield(1,netprofitrsi,1,"營業淨利率RSI");
outputfield(2,value1,0,"最新資料日期");

再用這腳本搭配其他兩個選股條件寫了一個三把刀選股策略的複刻版,挑出來的股票如下:

2018051505

至於這個指標要突破多少比較有效,主要是看你要挑什麼股票,成長股當然是愈接近100愈好,轉機股應該是挑這數字突破50的,那一種比較準呢?  回測是檢驗真理的唯一標準,XS下一個版本會支援選股回測,到時候就可以直接拿過往的選股結果看看這三把刀利不利了。

 

拿不同天期KD方向來衡量大盤的多空方向

KD是很長壽且被普遍使用的指標,市場高手拿不同天期KD來綜合衡量大盤的多空方向,我今天就東施效顰,看看能不能自訂出一個綜合考量不同天期KD的大盤多空指標。

先檢複習一下KD的計算公式

計算KD指標的第一步,先求出未成熟隨機值 ( Raw Stochastic Value,簡寫為RSV), 其公式如下:

                 第N天收盤價 - 最近N日內最低價

RSV = —————————————————- x 100

             最近N日內最高價 - 最近N日內最低價

一般N取9天

接下來再用加權平均的方式算出K值及D值,公式分別如下

Kt = ( 1-1/N ) Kt-ı + ( 1 / N ) RSVt      (公式1)

Dt = ( 1-1/N) Dt-ı + ( 1 / N ) Kt         (公式2)

其中t為當日值, t-ı 為前一日值。這兩個公式是MACD之外另一種「指數平滑法」的「加權移動平均」計算法。

這裡的N大多是用3天

根據這樣的公式,這N日來的收盤價如果愈接近最低價,K值跟D值就會愈小

XS用stochastic這個函數來計算KD值

例如想要畫出KD指標,腳本如下

input: Length(9), RSVt(3), Kt(3);
variable: rsv(0), k(0), _d(0);

SetInputName(1, "天數");
SetInputName(2, "RSVt權數");
SetInputName(3, "Kt權數");

Stochastic(Length, RSVt, Kt, rsv, k, _d);

Plot1(k, "K(%)");
Plot2(_d, "D(%)");

在這樣的基礎上,如果我們想要知道現在收盤價在不同天期區間裡,距離最低點的位置,或是它的發展方向,就可以使用不同天期的KD值來計算

我試著用這樣的精神,寫了一個大盤的KD多空指標,腳本如下

input: Length1(5),Length2(9),Length3(14),length4(20),length5(30),length6(40),length7(60), RSVt(3), Kt(3);
var: rsv1(0), k1(0), d1(0);
var: rsv2(0), k2(0), d2(0);
var: rsv3(0), k3(0), d3(0);
var: rsv4(0), k4(0), d4(0);
var: rsv5(0), k5(0), d5(0);
var: rsv6(0), k6(0), d6(0);
var: rsv7(0), k7(0), d7(0);
 
Stochastic(Length1, RSVt, Kt, rsv1, k1, d1);
Stochastic(Length2, RSVt, Kt, rsv2, k2, d2);
Stochastic(Length3, RSVt, Kt, rsv3, k3, d3);
Stochastic(Length4, RSVt, Kt, rsv4, k4, d4);
Stochastic(Length5, RSVt, Kt, rsv5, k5, d5);
Stochastic(Length6, RSVt, Kt, rsv6, k6, d6);
Stochastic(Length7, RSVt, Kt, rsv7, k7, d7);
var:count(0);
count=0;
if k1>d1 then count=count+1;
if k2>d2 then count=count+1;
if k3>d3 then count=count+1;
if k4>d4 then count=count+1;
if k5>d5 then count=count+1;
if k6>d6 then count=count+1;
if k7>d7 then count=count+1;
if count >=4 then value1=1
else value1=-1;
plot1(value1,"大盤KD多空");

用這個指標畫出來的多空分界如下

01

我用這個指標寫成腳本,翻紅就進場,翻黑就出場,用加權指數去回測,回測報告如下

kd綜合回測

如果回測五年,回測報告如下

kd綜合測五年

從回測數字來看,這個訊號雜訊雖多,但波段是掌握得住的

大盤檢查表中的期權相關指標

在研判大盤未來多空方向時,除了股市相關統計數據之外,匯市及期貨市場的數據也饒富意義,其中期指相關的統計數據,有幾個也頗具參考意義,今天就來跟大家分享這類的指標。

其中我個人最愛用的是前十大交易人未平倉淨部位,這個指標可以了解期指市場主要作手的多空態度,在長期觀察這個指標後,我歸納了幾個心得

1.當這數據由正轉負時,在多頭市場是修正結束的訊號,在空頭市場則是下跌走勢的開始。

請參考下圖

042701

當多頭行情持續一陣子之後,獲利了結的賣壓出現,隨著指數的下滑,淨口數會出現短暫的由正轉負,但隨著獲利了結賣壓的被滿足,當指數開展另一波多頭走勢時,這個數字很快的又由負轉正

042702

這種情況的共同特徵是空頭部位會急遽的減少。

但如果空頭部位沒有急遽減少,反而穩定的在增加,特別是指數都跌下來了還繼續在追空,那往往代表的是一個空頭市場的開始或持續

042703

2015年四月下旬開始的空頭走勢,可以看到空頭部位是一路的往上走,就算指數連跌了七天還是一樣在增加,接著淨口數是負的持續了好長一陣子。

042704

如上圖,2014年的修正行情也是出現空單未平倉一路上昇,最後多頭全面棄守

現在這圖長這樣

042705

接下來的觀察重點應該是空單部位會不會持續穩定的往上走,如果是的話,那作多就得更戒慎了

期權指標除了這個之外,另外還有基差,恐慌指數及外資未平倉,也都有其參考意義,可以搭配著看。

大盤檢查表之國際資金流動篇

在大盤檢查表裡,第一個大標籤裡,包括指標利率,全球債市,油價及主要原物料價格,都是用來監控全球資金的流動方向,當初的設計概念主要是follow 美林證券投資鐘的思維,今天就以當前財經情勢為例,跟大家分享為何要時時留意這些數據的變化。

首先,先跟大家簡單說明一下投資鐘的理路。

投資鐘

我們在研究過往全球資金的投資動向時,發現在不同的景氣循環階段,市場資金會湧向不同的投資標的,當景氣剛復甦而通膨壓力不大時,資金主要會流向股票市場,當景氣很好且物價上揚時, 資金會流向原物料及相關的股票,一旦景氣衰退且物價居高不下,出現停滯性通膨時,保留現金是最佳策略,等到景氣衰退且各國央行又開始準備降息時,債券就成了投資首選。

所以在大盤檢查表裡,一方面我們透過觀察油價,廢價及銅價,鋁價等跟物價息息相關的原物料價格,去觀察通貨膨脹的壓力,二方面我們透過觀察債券殖利率的波動,來了解市場對央行貨幣政策的可能走向,當殖利率在上漲的過程裡,代表債券價格是在走空頭市場,這時候資金當然會持續停駐在股票市場,但一旦債券殖利率到達一個高點(例如十年期債券殖利率超過3%),開始吸引原來配置在股票上的資金,開始往債券移動,那麼股票市場就不再是大多頭行情。

以這一波為例,油價從去年的60元以下一路漲到現在的73元,對物價的壓力當然很大

油價

從下面這張圖,我們就可以充份感受到,美國正處於經濟成長且物價上揚的階段

經濟與物價

這個階段市場的投資重心會從股市移向原物料,甚至一旦景氣無以為繼時,債市就會由空翻多,投資者更會棄股投債。

這就是為何市場對美國十年期公債殖利率突破三%這麼敏感的原因。

也是我們為何要在大盤檢查表裡放這些相關數據的原因

那麼接下來在股票市場上該如何應對呢?

全球資金的流動如果會往原物料及債市挪動,代表全球指數權值股的賣壓會變大,這時候反而會是小型股當道的時候,因為我們利率水準還是很低,所以資金會想辦法找標的繼續搞和,過往外資領軍時,小型股乏人問津,現在外資站在賣方了,小型股就會希望趁機獲得大家的青睞,這種情況會一直玩到大家發現景氣真的變差了,什麼公司的獲利都會衰退,那時候大家就都會靜待股價修正結束,或是發現物價壓力不大,景氣持續,那麼正規軍又重新捲土重來。

從這陣子TSE與OTC指數的表現,就可以發現,資金開始往小型股走。

tseotc

以上跟大家說明為何會在大盤檢查表中讓大家留意美國短期利率,美國各天期公債殖利率及各種原物料價格的變化,目的是為了讓我們掌握目前景氣循環是處於什麼位置,我們才好據以調整持股的比例及選股的方向。