Author Archives: 發財橘子

如果股票像學生,你要挑的書卷獎還是最佳進步獎?

 

 
如果我們把上市櫃1500檔的股票,當成是全班有1500位學生,那麼全學年就是最近一年的漲幅,全學期就是最近半年漲幅,月考就是最近一個月的漲幅,小考就是最近一天的漲幅。

我們總認為,一個好學生應該是全學年,全學期,月考,小考都考的不錯的,才是好學生。

同樣的,在選股時,一年以來,半年以來,一個月來及最近一天的漲幅如果都排名在前面的股票,也會是很值得留意的股票。

所以我用XS選股條件列出了四個條件如下圖:

070301

 

 

拿這個選股法,今天共挑出以下的這些股票。
070302

透過這樣的方法,我們可以找到最近一年表現一直都很優秀的股票,那如果要挑好多年都表現很好的績優生怎麼挑呢?
以下是我設的條件
070303

符合這些條件的股票如下:

070304

那如果我們要找過去兩年表現不好,但這兩天表現不錯的股票呢?

我設的條件如下:

070305

選出來的股票如下:
070306

那一種方法挑出來的股票比較符合您的思維呢?

以上是一些XS選股排行的應用範例,我個人還蠻喜歡從最佳進步獎中,找出一些股票來研究是不是真的營運脫胎換骨了。

除權行情的檢討腳本該怎麼寫

有網友問到,XS能不能透過語法,找出某特定日之後,一段時間股價的漲跌幅?例如股東會後,法說會後,或是開放信用交易日之後,除權除息日之後有那些股票漲幅較大的。

我們公司的高手高手高高手寫了一個函數來解決這個問題,函數的腳本如下:

Input: target(numeric);

variable: i(1);

if target > date then
begin
GetBarOffset = 0;
return;
end;

while true
begin
Value1 = date[i];
if Value1 <= target then
begin
GetBarOffset = i;
return;
end;
i = i + 1;
end;

這個函數可以算出特定日期是從現在開始往回算的第幾根BAR

它的用法是Getbaroffset(某日期);

例如我們在7/2日寫出value1=getbaroffset(20150701);

意思是昨天是今天算來的第幾根bar,那麼value1就=1。

 

運用這個函數,可以寫出下面這個腳本來找出特定日期之後,到現在個股的漲跌幅

Input: type(1);
SetInputName(1, "1:股東會,2:除息日,3:法說日");

Input: dist(20);
SetInputName(2, "事件發生在最近幾日");

Input: ratio(1);
SetInputName(3, "上漲%");

switch(type)
begin
case 1:
Value1 = GetField("股東會日期");
case 3:
Value1 = GetField("法說會日期");
case 2:
Value1 = GetField("除息日期");
end;

If datediff(Date, Value1) >= 0 and datediff(Date, Value1) <= dist then
begin
// 計算今日到'Value1'那一天的漲跌幅
//
Value2 = GetBarOffset(Value1);
Value3 = RateOfChange(Close, Value2);
if Value3 >= ratio Then Ret = 1;
end;

OutputField(1, Value1); setoutputname(1, "發生日期");
OutputField(2, Value2); setoutputname(2, "距離今日幾天");
outputfield(3, Value3); setoutputname(3, "區間漲幅(%)");

抱歉的是,我們目前選股中可以拿來計算的事件欄位只有除權日,像法說會啦,股東會啦,這些都還沒有support,(我會請同事們加進來)所以就先拿這腳本來算除息後距今20天內的股票漲幅超過1%的有那些,選出來的股票及漲跌幅排列如下圖。

 

0702
我算了一下,一共31檔,漲幅低於1的有65檔
跌幅較大的如下圖
070201

從這些股票我們大致可以看得出來,先前有先拉的,基本面展望比較不明朗的,就不要太期待填權填息行情了。

5.5新功能介紹~策略雷達觸發的個股直接存成自選股

昨天XQ有改版,其中有個功能我覺得頗好用,跟大家作個介紹

現在的股票1500檔,要一檔檔挑到盤中值得留意的股票,難度很高,但現在透過XS的策略雷達加上XQ的自選股自設畫面,就可以輕鬆把那些符合特定條件的股票,自動根據所設定的條件,呈現在同一個螢幕當中,更迷人的事,這些條件User可以透過語法,自己來定義,如此一來,那些有上昇潛力的股票,就不會變成漏網之魚了。

要做出這樣的畫面,第一步先把寫好的策略排進自動化排程中

062502

加入排程的方式很簡單,就是在策略名稱上按右鍵,會出現加入排程的選項
062503
每個策略的時間設定成其交易時間即可
062504
這樣設定完之後,接下來就是把每個使用的策略雷達設成一組自選股的報價組合,像下圖一樣,在設定商品組合的地方按設定後,跳出像下圖的視窗,然後在市場/類別的下拉選單中選擇”每日警示清單”,這樣您策略雷達中有啟動的策略都可以在這邊找得到,你選取特定策略後,這策略觸發的股票就自動會加到這一組的自選股中了。

062505

如此一來,您可以把不同組的自選股組合成一個整合的頁面

如下圖
062501

這樣一來,每天早上開盤後,符合您設定的策略的股票,在盤中就會一檔一檔的出現在您的面前。

從此之後,您只要專心地開發不同的交易策略,每天盤中符合條件的股票自然會自動出現在螢幕前,這樣您就不用花那麼多的力氣去盯盤了,去重覆地做一大堆功課了。

投信作帳的標的

每到了六月下旬或是年底,我常被問到說你覺得投信作帳會拉那一檔?

這問題不大好回答,投信不是每家都會作帳,通常有幾種情況

1.有機會進前幾名
2.代操績效拉一下評比好看點
3.績效不大好,怕獎金縮水,代操被減碼

因為是基於這三種因素,所以要拉的標的通常有幾個特色
1.自己押比較多,別檔基金不是沒有就是押的少,拉這種也可以防止別人對作
2.要比較好拉的。股本太大的根本拉不動,不符合作帳的效益
3.要長期就準備加碼的。要拉的會是本原本就還想要再多買一點的。

基於上述的理由,我列了幾個選股條件如下:
1.股本小於五十億元
2.過去一個月投信買了超過5000張
3.過去30天有超過十五天買進超過50張
4.這段期間股價漲幅少於三成

根據這些條件,我寫成了以下的腳本

input:r1(50),days(30),r2(15),r3(5000),r4(30);
setinputname(1,"股本上限單位億");
setinputname(2,"天期");
setinputname(3,"區間合計買超張數");
setinputname(4,"區間漲幅上限%");
value1=GetField("投信買張","D");
value2=GetField("最新股本");//單位:億

condition1=false;
condition2=false;
condition3=false;

SetTotalBar(100);
if value2<r1
then condition1=true;//股本小於50億元

value3=countif(value1>50,days);
if value3>=r2
then condition2=true;//近30天裡有超過15天買超

if summation(value1,days)>r3
then condition3=true;//近30天合計買超超過5000張

if condition1 and condition2 and condition3
and close<close[days-1]*(1+r4/100)
then ret=1;

 

以上是參考的腳本

當多空勢力懸殊時

我們先來看以下的兩檔股票的委買委賣及一分鐘線圖

062203

 

062301

062201

062302

 

然後我們發現,當最新五檔委買及委賣出現很懸殊的對比時,短線上,股價往上的機率是比較高的。

在漲跌幅開放為10%之後,如果我們可以在開盤不久,就找到這類的股票,而且運氣好,挑到了今天眾家勢力都想染指的標的,那麼不管是當沖,隔日沖,短線,都是不錯的操作策略。

怎麼才能在盤中挑到這種委買與委賣張數對比很懸殊的股票呢?
我寫了一個腳本如下:

input:v1(2000),v2(500),v3(1500),v4(400),v5(100);
setinputname(1,"委買五檔總金額(萬)");
setinputname(2,"委賣五檔總金額(萬)");
setinputname(3,"委買委賣總差額(萬)");
setinputname(4,"單一價位委買金額下限");
setinputname(5,"單一價位委賣金額上限");
variable:bidtv(0),asktv(0),tb(0),ta(0),b1(0),b2(0),b3(0),b4(0),b5(0),s1(0),s2(0),s3(0),s4(0),s5(0);
condition1=false;
condition2=false;
condition3=false;
bidtv=q_SumBidSize;//總委買
asktv=q_SumAskSize;//總委賣

value1=q_BestBidSize1;//委買一
value2=q_BestBidSize2;
value3=q_bestbidsize3;
value4=q_bestbidsize4;
value5=q_bestbidsize5;

value6=q_bestasksize1;//委賣一
value7=q_bestasksize2;
value8=q_bestasksize3;
value9=q_bestasksize4;
value10=q_bestasksize5;

tb=bidtv*close/10;
ta=asktv*close/10;

if tb>v1 and ta<v2 and tb-ta>v3
then condition1=true;

b1=value1*close/10;
b2=value2*close/10;
b3=value3*close/10;
b4=value4*close/10;
b5=value5*close/10;
s1=value6*close/10;
s2=value7*close/10;
s3=value8*close/10;
s4=value9*close/10;
s5=value10*close/10;

if b1>v4 and b2>v4 and b3>v4 and b4>v4 and b5>v4
then condition2=true;

if s1<v5 and s2<v5 and s3<v5 and s4<v5 and s5<v5
then condition3=true;

if close<>q_DailyUplimit
then begin
if condition1 or (condition2 and condition3)
then ret=1;
end;

我自己在運用這個腳本時,有些心得跟大家分享
1.當先前很強的股票回檔整理後,如果開盤沒多久就出現這樣的訊號,往往是整理結束準備再次上攻的訊號。
2.如果股票一路大跌後,且盤中還是跌,出現這種訊號,要留意外盤成交的積極度,我有幾次去搶這種股票的帽子,結果沒啥人願意追價,最後只好認賠出場
3.買盤有人虛掛是很正常的,但如果連最近一檔都敢掛大單,那就代表掛單的人不怕被成交到,這種訊號的可信度較高。
4.原本冷門的股票突然間委買每一檔都掛了很多買單,這種搶帽子成功的機會比較大。
5.不要只看委買方,委賣方這種沒啥人掛賣單的現象,應該會因為委買掛了很多而往上掛,如果委賣委買的單子都很多,只能算勢均力敵。

隨著撮合時間的縮短,以及漲跌幅的放寬,加上掛牌的股票已經超過1500檔,用肉眼憑盤感挑股票有了極限,透過電腦先濾出這種買賣力懸殊的股票,然後再擇其中一些較有把握者,列入搶帽子的標的,不失為一個不錯的方法,提供給大家,至於其中的參數,各位可以視各人之偏好而更改。

修正式價量指標VPT(Volume price trend)

2016061701

在推廣XS的過程中,我有一些年紀大的,不大有學習動機跟能力的朋友,會直接嗆我說:”你說的這些我都聽攏謀,霧煞煞” 。 你直接給我一個指標,看漲看跌清清楚楚的,我學不了那麼多。

每次踫到這種,我都很想請他自己去買把槍,買個口罩及安全帽。

在我使用XS的過程中,我確實是設計過很多的指標,若要說有考慮到價跟量,又能指出多空趨勢,又要能夠濾掉那些因為一時衝動所造成的假訊號的,倒是有個指標。

這個指標我稱之為修下式價量指標。

這個指標的概念很簡單
1.先算出每天的Midprice。也就是每天的開高低收四個值的平均值。
2.然後把這個值乘以每天價格的漲跌幅,再乘上當天的成交量。
3.然後一路累加這個數值。

這樣計算出來的指標,在盤整時整條線會很貼近水平線,只有在漲跌趨勢很明確時才會上漲或是下跌,所以如果拿它跟它自身的一定週期移動平均線來對照,我們可以看到非常明確的進出場訊號。
我把上述的概念及算法用XS語法寫的指標如下:
移動平均線的天期就勞煩各位自己調整了

input:days(10);
setinputname(1,"移動平均線天數");
var:tvp(0),mpc(0);
mpc=(open+high+low+close)/4;

if mpc[1]<>0
then
tvp=tvp[1]+(mpc-mpc[1])/mpc[1]*volume
else
tvp=tvp[1];
value1=average(tvp,days);
plot1(tvp,"修正型價量指標");
plot2(value1,"移動平均");

我們來看兩個例子
061801

061802

這兩檔股票都曾經歷經很長的整理期,tvp展現出來的就是長期橫向的水平走勢,我們每天看到小紅小黑,心裡七上八下,但從tvp指標來看,有沒有真的離開橫向盤整的格局,其實就很清楚了。

除權前後的操作策略

如果你是大股東,手中有數萬張的公司股票,公司每年配息給你十億,但因為兩稅合一,公司繳過營所稅的部份可以扣抵你的股利收入,因為營所稅率是17%,個人綜合所得稅最高稅率是40%,所以你股利部份要多繳的稅率是40%-17%=23%,你一共要繳2.3億的稅,如果您想避這個稅,設投資公司,保留盈餘扣10%的稅,未來分配照樣要繳稅,23%的稅也還好,所以只要公司展望還OK,還是會參加除息。

今年稅制改變,兩稅合一減半扣抵,綜所稅年所得淨額逾1,000萬元,增列稅率45%課稅級距。
你如果你跟往年一樣,參與配息,您要繳的稅是 45%-17%×50%=36.5% ,一共是要繳3.65億的稅

這時候,你該怎麼辦?

大部份上市櫃公司的大股東們,如果息值很高,
除非他們公司今年的爆發性很大,很有把握可以填息後還能持續大漲
不然最好的方法是除息前能漲到一個高點大家先賣一賣,除息後再找低點慢慢補回來。

因此,對於高股息的個股,我們要留意兩個時點

1.除息前會不會見高點
2.除息後何時大股東會回補

第一種一般符合三個條件
1.高股息
2.先前大漲過
3.快接近除息日

於是我用XS設了以下的三個條件
061601

各位不妨自行調整參數,找出符合第一種條件的股票

第二種一般則需符合三個條件
1.除息日已過
2.除息前大跌過
3.高股息

我也用XS設了四個選股條件

061602

這是政策改變造成大股東行為的改變
我們一方面不要被掃到颱風尾
二方面也不妨留意這中間有沒有一些套利的空間

改良版的移動平均線~四大力道線

061002

我們經常用收盤價作移動平均線,然後尋找不同天期的均線,出現黃金交叉時買進,出現死亡交叉時賣出。

之所以這麼做,是因為我們覺得收盤價是當天多空爭戰的最後結果,所以拿收盤價的移動平均代表了一段時間多空爭戰的軌跡。

但如果我們細看每根K棒,我們其實除了收盤價之外,還有當天的開盤價,最高價,最低價,我們可以運用這些價位,更精確的勾勒出當天多空爭鬥的力道。

就像上面的這張圖
我們可以
1.把每天最高價到收盤價的距離,視為當天上檔的賣壓
2.把每天最低價到收盤價的距離,視為下檔的支撐
3.把每天開盤價到收盤價之間的距離,視為多方或空方的戰績
4.把前一天收盤價到今天開盤價的距離,視為前一日收盤後多空消息消化後的結果

當我們把這種多空力道都考慮進去之後,我們可以計算一段時間這些力道的總和,這樣的總和,會比收盤價更能表現出這檔商品多空力道的消張。

根據這樣的想法,我寫了一個指標,這個指標的寫法如下:

input:days(10),period(20);
setinputname(1,"短期參數");
setinputname(2,"長期參數");

value1=summation(high-close,period);//上檔賣壓
value2=summation(close-open,period); //多空實績
value3=summation(close-low,period);//下檔支撐
value4=summation(open-close[1],period);//隔夜力道
if close<>0
then
value5=(value2+value3+value4-value1)/close;
value6=average(value5,days);
plot1(value5,"四大力道線");
plot2(value6,"移動平均線");

061003

我把這個指標稱為四大力道線
從上圖我們可以發現,這個指標在趨勢轉折時,比較可以敏感地偵測出多空力道的微妙變化,在盤整時,則會在零附近呈現鋸齒狀波動。

所以我們可以拿這個指標,來輔助我們找到多空方向在微妙轉變的股票。

尋找可能斷頭的股票

在漲跌幅開放為10%之後,融資維持率從120調高到130,這使得股票如果從融資的價位跌了兩成,一旦短線再跌,就開始有被券商發出追繳通知的風險,萬一沒有錢補,斷頭的賣壓就會出現在隔一天的早盤。

我用XS寫了一個選股腳本,專門尋找那些可能有斷頭危機的股票,腳本如下:

input:period(30);//波段的天期
setinputname(1,"波段天期");
SetTotalBar(100);
value1=GetField("融資餘額張數","D");//取得最新融資餘額張數
value2=nthhighestbar(1,close,period);//找出波段最高點落在那一根bar
if value1>average(volume,5)//融資餘額大於五日均量
and value1[value2]>10000//波段高點的融資餘額超過一萬張
and close*1.2<=close[value2]//波段高點迄今跌幅超過兩成
then ret=1;

用這個腳本,可以在大盤下跌趨勢中,找到那些股票比較可能出現多殺多的情況

 

盤感好的股票

漲跌幅放寬到一成之後,有愈來愈多的操作者,更用力的砥礪自己的當沖技能,想要享受一天賺10%的快感。

朋友中的強者,一直跟我強調,如果要做當日沖,根本不要管什麼基本面,籌碼面,這些都是歷史,最重要的是當天的盤感。

盤感好的股票易漲難跌。

我根據他的說法,寫了一個即時的腳本如下:

value1=q_AvgLongUnits;//委買均張
value2=q_AvgShortUnits;//委賣均張
value3=q_InSize;//當日內盤量
value4=q_OutSize;//當日外盤量

value5=q_BestBidSize;//委買張數
value6=q_BestAskSize;//委賣張數
value9=q_BestBidSize1;//委買一張數
value10=q_BestAskSize1;//委賣一張數
value11=q_BestBidSize2;
value12=q_BestAskSize2;
value13=q_BestBidSize3;
value14=q_BestAskSize3;
value15=q_BestBidSize4;
value16=q_BestAskSize4;
value17=q_BestBidSize5;
value18=q_BestAskSize5;
condition1=false;
condition2=false;

if value1-value2>1 and value4>value3 and value5-value6>200
then condition1=true;

if minlist(value9,value11,value13,value15,value17)>50
and maxlist(value10,value12,value14,value16,value18)<30
then condition2=true;
if condition1 and condition2 then ret=1;

他的精神很簡單,就是當天外盤成交的多,委買的是大咖的,委賣的是散單
然後五檔委買勇於掛進,掛在五檔委賣的都是小單

他認為這種股票比較有機會收上去。

各位可以拿這腳本做基礎,改成您的盤感偵測器。