Author Archives: 發財橘子

籌碼面可以拿來運算的欄位及其相關應用

在被問到台灣原生的程式語法平台跟Mutichart,Tradestation,HTS有什麼不一樣的地方時,籌碼相關的應用是我常常提到的一個亮點,籌碼分析的應用基本上分成內外盤,委買委賣,買進賣出分公司家數,法人,資券以及每筆成交張數等幾個方面的相關欄位,以下就根據不同的資料型態,一一來報告這些台股籌碼特殊欄位,如何被應用到程式交易裡。

首先,先整理一下,在自訂指標,策略雷達及選股時,可以使用的籌碼分類大致如下圖:

籌碼分類

詳細的欄位如下表:

 

應用 分類 欄位名稱 單位 計算規則
自訂指標 外資 外資買賣超
外資買賣超張數
外資買張
外資賣張
外資持股
外資持股比例 %
投信 投信買賣超
投信買賣超張數
投信買張
投信賣張
投信持股
投信持股比例 %
自營商 自營商買賣超
自營商買賣超張數
自營商買張
自營商賣張
自營商持股
自營商持股比例 %
法人 法人買賣超
法人買賣超張數
法人買張
法人賣張
法人持股
法人持股比例 %
主力 主力買張 前十五大買超或賣超券商的買超或賣超張數
主力賣張
主力買賣超張數
主力持股
散戶 散戶買張 券商分公司單一價格買或賣成交值小於50萬的合計張數
散戶賣張
散戶買賣超張數
實戶 實戶買張 券商分公司單一價格買進成交值大於等於50萬且小於100萬的合計張數
實戶賣張
實戶買賣超張數
控盤者 控盤者買張 券商分公司單一價格買進成交值大於100萬的合計張數。
控盤者賣張
控盤者買賣超張數
融資 融資買進張數
融資賣出張數
融資增減張數
融資餘額張數
融資使用率 %
現金償還張數
融券 融券買進張數
融券賣出張數
現券償還張數
融券增減張數
融券餘額張數
融券使用率 %
當沖相關 資券互抵張數
現股當沖張數
現股當沖買進金額
現股當沖賣出金額
當日沖銷張數 現股當沖+資券互抵
借券 借券張數
還券張數
借券賣出餘額
借券賣出張數
借券賣出庫存異動
借券餘額張數
內外盤 內盤均量
外盤均量
券商進出表 買家數 買進張數或賣出張數大於零且另一方為零的券商分公司家數
賣家數
分公司買進家數 買進張數或賣出張數大於零的券商分公司家數
分公司賣出家數
分公司淨買超金額家數
分公司淨賣超金額家數
分公司交易家數
買進公司家數 買進張數或賣出張數大於零的整體券商家數
賣出公司家數
籌碼應用 券資比 %
控盤者成本線
主動買力
主動賣力
主動性交易比重 %
實質買盤比 %
實質賣盤比 %
收集派發指標 分公司賣出家數-分公司買進家數
選股專用 董監 董監持股佔股本比例 %
董監持股
董監事就任日期
股本形成 現金增資佔股本比例 %
盈餘轉增資佔股本比例 %
公積及其他佔股本比例 %
信用交易 融資餘額佔股本比例 %
融券餘額佔股本比例 %
融券最後回補日 日期
集保張數 集保張數 萬張
集保張數佔發行張數比 %
特殊日期 新股上市日 日期
現增新股上市日 日期
減資日期 日期
減資最後過戶日 日期
籌碼應用 籌碼鎖定率 % 主力買超/(發行張數-董監持股張數)
自營商 自營商自行買賣買張
自營商自行買賣賣張
自營商自行買賣買賣超
自營商避險買張
自營商避險賣張
自營商避險買賣超
報價欄位 開盤 開盤委買
開盤委賣
委託單 委比 % (總委買-總委賣)/(總委買+總委賣)
總委買
總委賣
委買
委賣
委買1
委買2
委買3
委買4
委買5
委賣1
委賣2
委賣3
委賣4
委賣5
委買賣差

這麼多的欄位,要如何在設計腳本時拿來使用呢?

作法上跟取得其他欄位的方法是一致的,都是運用getfield這個語法,例如我們如果想要拿”控盤者成本線”這個欄位來畫圖,腳本可以這麼寫:

value1=GetField("分公司買進家數");
value2=GetField("分公司賣出家數");
value3=GetField("分公司交易家數");

plot1(value1,"分公司買進家數");
plot2(value2,"分公司賣出家數");
plot3(value3,"分公司交易家數");

這樣一來就可以把這些籌碼相關的欄位變成自設指標畫在圖上了。

這麼多的籌碼欄位,應該如何應用呢? 底下這張圖可以做個參考。基本上,大股東及法人站在買方,後市看好的機率大些,反之則下跌的機率較高。

籌碼圖

那麼要如何分辨今天大股東及法人是站在買方或賣方呢?

未來幾天,我們來陸續介紹各種這些籌碼欄位的運用方法,來分辨大股東及法人,主力是站在買方還是賣方

今天,先來介紹的這個方法,是結合法人進出表及分公司進出表兩個不同的公佈數字,很單純地就只看每一天的買盤來源:

籌碼一

我設計的腳本如下:

input:period(5,"短移動平均線天期");
input:period1(20,"長移動平均線天期");
value1=GetField("主力買張");
value2=GetField("實戶買張");
value3=GetField("散戶買張");
value4=GetField("控盤者買張");
value5=GetField("法人買張");
value6=value1+value2+value3+value4+value5;
//合計的買張數當分母,這有可能超出成交量
value7=value1+value4+value5;
//主力+法人+控盤者的買張合計作為大戶的買張
if value6<>0
then value8=value7/value6*100;
//計算大戶買張佔各方勢力買張的比例
value9=average(value8,period)-average(value8,period1);
if value9>0
then 
begin
value10=value9;
value11=0;
end
else
begin 
value11=value9;
value10=0;
end;
plot1(value10);
plot2(value11);

我稱這個指標為買張大戶散戶分佈線,我把最近大家比較關注的股票用這個指標來呈現目前大戶法人主力是站在買方還是賣方?

032202

032203

032204

從上面這幾張圖就可以發現,我們其實透過散戶與大戶佔買張比例的變化,可以清楚的看到當大戶比重持續上昇時,籌碼被收集後股價都較有表現的機會,反之則都屬於偏空或盤整的格局。

從這個例子我們就可以發現,當我們把所有可以拿來作運算的籌碼欄位都攤開來時,擷取其中一些欄位,加以運算,往往就可以自行創造出一些有意義且具有參考價值的指標,再從指標的共同特徵中進一步撰寫出創新的交易策略,把籌碼分析裡的龐大數據轉換成可以拿來決定交易策略的工具,這樣創造出來的策略,再和其他透過價量等數據所創造出來的交易策略結合,目標就是希望創造出勝率更高的交易策略,這種使用更多客觀數據來作交易決策的方法,就是孫子兵法中的”多算勝,少算不勝”的道理吧。

032205

 

 

 

xqlite banner

好公司的特徵

看到一篇寫的很好的文章,推薦給朋友們

http://www.stockfeel.com.tw/%E5%BE%9E%E9%96%B1%E8%AE%80%E5%84%AA%E8%B3%AA%E5%85%AC%E5%8F%B8%E9%96%8B%E5%A7%8B%EF%BC%8C%E7%B7%B4%E7%BF%92%E4%BB%A5%E4%B8%8D%E5%90%8C%E8%A7%92%E5%BA%A6%E6%80%9D%E8%80%83%E4%BA%8B%E6%83%85/

這篇文章來自stockfeel這個網站,這裡的文章寫的真的不錯,能對我們的投資思考有所啟發。

這篇文章的主軸是,就算覺得股價太貴不想買,但還是可以研讀一下那些成功公司的財報,了解這些公司成長的過程,找到一些蛛絲馬跡,再把這些蛛絲馬跡,應用在那些正準備冒出頭的公司上,讓我們可以在新興好公司才剛冒出頭時,就挑到他們。

從這篇文章裡,我學到了一些尋找明日之星的方法。

1。找擁有定價能力(pricing power),高投資報酬率的公司。

2。尋找那些費用在下降,但營收在成長的公司,來自營運的現金流量在成長的公司。

3。尋找有規模經濟的商業模式,並且比別人提早看到未來會勝出的公司。

 

我試著用一些簡單的選股標準來尋找符合上述條件的股票

1。毛利率穩定。擁有定價能力的公司,毛利率應該丕至於持續下滑。

2。ROE達一定水準。高投資報酬率的公司,ROE不會太差。

3。來自營運的現金流量穩定成長中。

4。營收成長,但營業費用在減少。

我先試著尋找那些毛利率沒啥掉的公司,所以我寫了一個腳本如下:

value1=GetField("營業毛利率","Q");
input:ratio(10,"毛利率單季衰退幅度上限");
input:period(10,"計算的期間,單位是季");

if trueall(value1>value1[1]*(1-ratio/100),period)
then ret=1;

如果再加上連續兩年來自營運之現金流量成長的條件,符合的股票只剩下68檔,名單如下:

032101

若是我換另一個角度,去尋找那些營收上昇且費用在降低的股票,於是我就寫了一個腳本如下:

value1=GetField("營業收入淨額","Q");//單位百萬
value2=GetField("營業費用","Q");//單位百萬
input:period(5,"計算的季別");
input:count(2,"符合條件之最低次數");

if countif(value1>value1[1]and value2<value2[1],period)>=count
then ret=1;

這個腳本如果參數是設過去七季有三季以上營收成長費用衰退時,共挑出了72檔股票,名單如下:

032102

如果把這兩個條件合在一起,腳本可以這麼寫

value1=GetField("營業毛利率","Q");
value2=GetField("營業收入淨額","Q");//單位百萬
value3=GetField("營業費用","Q");//單位百萬
input:ratio(10,"毛利率單季衰退幅度上限");
input:period1(10,"計算的期間,單位是季");
input:period2(5,"計算的季別");
input:count(2,"符合條件之最低次數");

if trueall(value1>value1[1]*(1-ratio/100),period1)
and 
countif(value2>value2[1]and value3<value3[1],period2)>=count
then ret=1;

這樣挑出來的股票共有十八檔,名單如下:

032103

透過這樣的方式可以節省不少一檔檔挑個股的時間,不過像有沒有經濟規模這種篩選條件,就有賴於仔細去了解該公司所處產業才能知曉的。

 

Anyway,讀到一篇好文章,是幸福,用好文章寫出選股程式,是更大的幸福,寫完後可以分享給大家參考,是大大的幸福。

 

xqlite banner

 

設定交易策略一定要記得不能逆天而行

我認識的市場大咖分兩種

我用一張圖來表示

032001

第一種連去歐洲玩,都會打國際電話回來問我NB能不能裝XQ

第二種則是有行情就很活躍,一天打好幾通電話來,沒行情的時候,只能從FB上知道他一下子在大陸,一下子在京都,一下子在意大利。

就我的觀察,第一種的績效不見得優於第二種。

當XS的回測功能出來時,我就想要來印證一下,到底那一種操作的風格能賺到錢。

我先拿他們都很愛作的有量的股票來作為回測的標的,我把台灣100+中型100+電子100的成份股拿來做為測試的股票,由於三個指數成份股有重疊,所以加起來共是190檔。

接下來我用他們都很愛用的操作策略: 開盤五分鐘線三連陽

input:TXT("僅適用60分鐘線以內"); setinputname(1,"使用限制");

if barfreq = "Min" and barinterval <= 60 and
 (time[2] = 84500 or time[2] = 90000) and
 Close > Close[1] and Close[1] > Close[2] and
 Close[2] > Open[2] 
then ret=1;

如果我把這個腳本拿去回測三年的資料,回測的結果如下:

全測結果

真的是家裡再有錢都不夠輸。一共交易了3312次,一次交易成本千分之五,光全部的交易成本就佔了1600%,就算勝率其實沒太差,有49.49%,但還是討不到什麼便宜

 

如果我只在加權指數站穩月線時才用這個策略去交易,最近一段回測的結果如下:

多頭

 

一個多月投資報酬率達到37.5%,且勝率拉高到66.88%,如果停利放大到5%,停損縮小到2%,那麼勝率會降到51%,但總報酬率會擴大到71%

 

跟大家舉這個例子,是想跟大家提醒,我們走向程式交易這條路,千萬不要有那種一隻程式要春夏秋冬都適用,打遍天下無敵手的念頭,而且要有大勢,選股,決定交易時機各用不同程式的基本思維,唯有如此,才能真的找到財富自由的那一條路。

 

xqlite banner

 

尋找那些創過去五年同月份營收新高的股票

當月營收公佈時,我們會知道跟去年同期相比的年增率,也知道跟上個月相比的月增率,可是如果我們要找那些比較長線可能有轉機的公司,我們應該找出那些當月營收創過去五年同月份營收新高的公司。

怎麼找出這樣的公司呢? 我寫了一個選股的腳本如下:

array: numarray[5](0);
variable:x(0);
for x=1 to 5
numarray[x]=GetField("月營收","M")[(x-1)*12];
if numarray[1]=highestarray(numarray[1],5) then
ret=1;

在這個腳本中,我第一次用到陣列來寫腳本,主要是用陣列來定義最近一個月營收與過去四年同月份的營收,然後找出這五個值當中最高的就是最近這一個的股票。

用這個腳本來跑最近公佈的月營收數字,會發現二月份營收創過去五年二月營收新高的股票共有261檔,名單如下:

031801

 

上面的每一檔股票,他們的歷年月營收一到十二月走勢圖,都像下面這一張圖一樣,最近一個月的營收是創五年來的新高

031802

 

 

在這麼多檔股票中,如果我們擔心這個月營收的好表現是因為上個月出貨不及遞延到這個月造成的,那麼我們可以把條件限制的更嚴,挑那些最近兩個月的營收都創下當月五年來新高的股票,那麼腳本就可以略為修改成以下的樣子

array: numarray[5](0);
variable:x(0);
for x=1 to 5
numarray[x]=GetField("月營收","M")[(x-1)*12];
if trueall(numarray[1]=highestarray(numarray[1],5),2) then
ret=1;

透過這兩個腳本,我們就可以在第一時間找到那些可能已經脫胎換股的公司。

 

 

xqlite banner

現股當沖腳本的奧義

去年 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。過去三個交易日漲幅很小。

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

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

 

xqlite banner

交易策略的形成過程~以多次到頂而破

這次AlphaGO的三勝一敗,讓人工智慧,再次回到聚光燈下。

我在開發交易策略的過程裡,深深體會人與機器之間那種1+1>2的力量,我認為人們運用機器大量運算,測試,不斷地學習改進,是找出有價值交易策略的一條更行之道。

把程式交易視為毒蛇猛獸,跟把人工智慧視為機器統治人類的前兆一樣,無法改變及面對機器運算能力持續進步的趨勢。

善用機器愈來愈強大的運算能力,可以讓人們收集整理分析及決策的力量,也跟著變大。

今天我想舉一個交易策略的形成過程作例子,說明機器的強大運算能力,可以協助我們做到什麼地步。

我經常跟大家分享的一個交易策略叫多次到頂而破。

一開始是我師父讓我把創新高的股票用Excel整理出來,每天送給他,後來我發現,不是每檔創新高的,接下來就一定會創新高,但那些衝了幾次都沒衝過去的高點,一旦衝過去了,後面都還會漲,所以我就寫了一個多次到頂而破的交易策略,腳本如下:

input:day(100);
input:band1(4);
setinputname(1,"計算區間");
setinputname(2,"三高點之高低價差");
value1=nthhighest(1,high[1],day);
value2=nthhighest(3,high[1],day);
value4=nthhighestbar(1,high,day);
value5=nthhighestbar(3,high,day);
value6=nthhighestbar(5,high,day);
value7=absvalue(value4-value6);
value8=absvalue(value5-value6);
value9=absvalue(value4-value5);
condition1=false;
if value7>3 and value8>3 and value9>3
then condition1=true;
value3=(value1-value2)/value2;

if value3<=band1/100
and close crosses above value1
and volume>2000
and condition1
then ret=1;

這個腳本是去找過去100根Bar中的最高三個點,而且高點之間差距都超過三根bar,且三個高點最高與最低差不超過4%

結果挑出來的股票例如昨天是跳出志聖2467與帛漢3299,跟我心理想的多次到頂而破有不少的差距,我心中的是像下面這張圖的樣子

031301

 

後來這個腳本後來經過我同事的修改,變成以下的腳本

input:HitTimes(3); setinputname(1,"設定觸頂次數");
input:RangeRatio(1); setinputname(2,"設定頭部區範圍寬度%");
input:Length(20); setinputname(3,"計算期數");

settotalbar(300);
setbarback(50);

variable: theHigh(0); theHigh = Highest(High[1],Length); //找到過去其間的最高點
variable: HighLowerBound(0); HighLowerBound = theHigh *(100-RangeRatio)/100; // 設為瓶頸區間上界
variable: TouchRangeTimes(0); //期間中進入瓶頸區間的低點次數,每跟K棒要歸0
 
//回算在此區間中 進去瓶頸區的次數 
TouchRangeTimes = CountIF(High[1] > HighLowerBound, Length);
 
if TouchRangeTimes >= HitTimes and ( q_ask> theHigh or close > theHigh) then ret=1;

這個腳本就是XS雲端策略中心裡的多次到頂而破的腳本。

不過透過這個腳本挑出來的股票,勝率還是很不穩定。

 

後來,我看到底下這本書

大漲的訊號

書中有特別強調,要挑這些創新高的股票時,應該要留意其基本面是很穩固的,創新高代表的是更上一層樓的意思,因此我就不再把1500檔股票去拿去跑這個腳本,也是改成用過去五年每年ESP都超過0.5元的選股條件先把1500檔縮小範圍,然後再去跑,這樣目標族群就從1500檔縮小到484檔

031401

 

透過這樣的過濾條件,在多頭市場這個腳本的勝率已經令我滿意,但在空頭市場還是當會追高後被套,於是我再設定,只有在加權指數週線在月線之上時,這個策略才開始執行。

到這裡,我算是完成了一個令我覺得還OK的交易策略。

回顧整個交易策略的演進,其實就像是下圖一般,不斷演進的過程,

策略的形成

 

這個過程裡,最大的敵人其實就是懶惰,我常被反應照某個腳本去賭會輸錢,然後呢? 其實該做的是找出那個腳本輸錢的股票具有什麼特色? 進一步根據這些特色去調整腳本,看是加濾網,還是調整腳本,最不該做的事情是: 放棄。

 

我認為,放棄電腦強大的運算能力,想靠經驗及直覺在市場上討生活的人,會像末代武士一樣,刀法很厲害,但別人都用槍。

 

 

 

 

xqlite banner

 

尋找五星級的CEO

昨天介紹了一篇寫的非常好,關於Outsiders這本書的讀書心得(連結在下面),從反敗為勝的艾科卡到後來的基業長青,A到A+等等著作,美國作家非常喜歡探討什麼樣的CEO可以帶領公司持續的成長。

當我們長期投資一檔股票時,總會期待遇上一個一百分的CEO,就像Outsiders這本書裡的那些CEO,可以創造比指數高出二十倍以上的投資報酬率。

這些書裡描繪的都是美國企業的CEO,我在1990年代,約有十年的時間,擔任過記者,研究員等工作,對於台灣的CEO們,有過一些面對面觀察的機會,在我決定是否投資一家公司時,CEO確實是一個很重要的考量因素,今天試著跟大家討論,什麼樣的CEO,值得我們長期追隨。

 

在Outsiders這本書裡,作者觀察到,厲害的CEO,關鍵在於資本分配(Capital allocation)的能力,也就是取得資金,創造盈餘及分配資金的能力,底下是寫下這本書讀書心得的作者整理這些CEO們的共同特質

1.數學很好,擅長機率,理性分析各種投資機會,
適時捨棄手上的爛牌,難得看到好牌,勇敢下大注,就跟打Poker一樣。
2.低調、節儉,刪除任何不必要的花費,想盡辦法遞延所得稅 或 合法節稅。
3.組織扁平,充分授權最優秀的人才。
4.不盲從主流觀點,敢在董事會上獨排眾議。
5.不浪費時間與華爾街打交道,只做真正對公司有幫助的事。
6.專注在現金流,而非帳面獲利。
7.與一線營運保持距離,把時間花在挖掘其他好機會。

8.除非公司之後能產生很多現金,不然隨時保持充足的銀彈,等待好機會下大注。

 

在台灣,若要尋找類似的八個條件,也許可以試著用同樣的方法,找到那些公司投資報酬率比加權指數好非常多的股票,然後去研究他們的CEO,不過我想反過來列出,有那些特徵的,不會是值得我們用新台幣長期追隨的CEO,畢竟在台灣,能把一家公司經營到可以上市上櫃,全台灣也不過就一千五百多人,這些人不會是等閒之輩,所以用捨去法會比用正面篩選條件更符合台灣本地的情況。

早期,主機板從386到486時代,華碩,精英,技嘉,微星,都曾經是我研究的對象,四家公司到目前也都還活著,但活的完完全全不一樣,施祟棠與徐祥,葉培城,蔣東濬他們的人格特質,是如何影響這四家公司在過去二十多年來的發展?

同樣的研究與思考,也發生在加工絲業,化纖業,PCB廠,LED廠,光碟片廠,晶圓封裝測試,以及連鎖餐飲業等各行各業。

在我研究的過程中,我發現,

1.有的CEO創業的過程很拼,但公司上市後,賺了大錢,開始進入上流社會,從刻苦耐勞轉變成奢華人生,生活的重心已不在本業。

2.有的CEO把資本市場當成淘金礦場,買機器拿回扣,利用公司的各項消息趁機炒股,我還見過很誇張的,公司的一些支出被規定要跟他自己開的公司購買。

3.有的CEO志大才疏,趁著股市狂飆時,拿了一堆錢進到公司後,開始瘋狂大採購,什麼新興行業都投資,就算跟自己的本業八竿子打不著。

4.有的CEO把力氣放在鞏固自己的位置,而不是為公司尋找其他的成長動能,造成公司研發及資深同仁被大量挖角。

5.有的CEO是大財團的第二代,第三代,除了深陷家族複雜控股關係的泥沼中之外,還常活在上一代戰功彪炳的陰影中。

 

基於以上的觀察,以下是我自己列出來的,關於尋找台灣五星級CEO的一些基本的標準

1.在大金額資本支出之後的三年內,年度營業額出現明顯的成長。因為這代表投資的眼光不會太差。

2.在公司擴充的過程中,股東權益報酬率並沒有被稀釋。代表沒有盲目控充。

3.公司的營業費用率低於同業。代表沒有浪費與人謀不贓。

4.CEO對其從事的行業一生相許,樂在其中。這樣才不會賺到錢就不再競競業業。

5.在公司高本益比時進行籌資,以最低的資金成本取得擴張用的資金。這代表對於資本運用的時機有精準的判斷

6.長期維持穩定的營運現金流入。這代表的是長期營運的績效

7.研發費用與資本支出佔公司營收比重一直維持在一定水準。代表不斷在尋找下一個成長的點

這七個條件有些能量化,有些很難量化,我試著擬了一個選股法如下:

 

031001

 

根據這組選股條件,目前台股中共有107檔符合,名單如下:

031002

 

以上這107檔是通過量化條件的股票,至於非量化的部份,比方說是否過著奢華生活之類的,就有賴大家自己的留意了

 

希望大家都能找到屬於自己的五顆星企業

祝   週末愉快

 

上漲下跌家數差RSI指標

這一波的台股驚驚漲,不少朋友一直是空手,甚至是偏空操作,昨天跟老同學聊股票,他問我有沒有什麼指標專門用來看大盤,他覺得如果大盤能站對邊,就算不會選股,光買期指也能賺到錢。坦白說,我不覺得世間有這種指標,不過如果要找一些可以用來相互印證,且具有一定可信度的指標,倒是有一些,今天介紹的上漲下跌家數差RSI就是這樣的指標。

這個指標是我自己胡思亂想時寫出來的,先來看一下它的腳本

input:period(10,"RSI計算天數");
value1=GetField("上漲家數");
value2=getfield("下跌家數");
value3=value1-value2;
value4=summation(value3,period);
value5=rsi(value4,period);
plot1(value5,"上漲家數RSI");

這個指標的算法步驟如下:

1.把每天的上漲家數減去下跌家數

2.計算這個數字的十天加總

3.把加總後的數字計算該數字的十日RSI

為什麼這麼算呢?

因為我覺得上漲家數跟下跌家數代表的是整體市場每一檔股票多空勢力的投票總數,上漲家數代表的是投贊成票的,下跌家數是投反對票的,把兩個相減得出來的數字,本身沒有什麼意義,但是這數字的上漲,代表投反對票變成贊成票的,比從贊成變反對的多,相反的,這數字的下跌,代表有更多個股的多空雙方角力是由空方獲勝。

因此,這個數字應該會急遽的呈現每天多翻空與空翻多的個股數量。

對於這樣一個會隨著市場多空而不斷震盪的數字,我覺得使用震盪指標來作為衡量的工具,是一個不錯的選擇,而RSI則是大家常用的震盪指標,所以我把十日上漲下跌家數差的總和拿來計算十日RSI。

RSI的計算公式是 區間內的漲幅/(漲幅加跌幅)

所以在計算上漲下跌家數差RSI時,這個數字會隨著每天上漲家數-下跌家數的變化,而在0-100之間波動,當數字在上昇,代表近十日的上漲下跌家數差,比前一天增加,至於增加的速度與幅度,就看這十天之內上漲下跌家數的變化程度。

我自從寫了這個指標之後,就把它列在我每天在瀏覽的大盤指標內,慢慢地,累計了一些應用的心得如下:

1.65以上代表市場過度樂觀,大盤有拉回的壓力,35以下代表市場太悲觀,隨時有反彈的可能。

2.背離是反轉的領先指標。

3.50是多空分水嶺,突破50與跌破50都是重要多空分界點

4.在50到65之間整理後再往上時大盤續作多,若跌破50則翻空,在35到50之間整理後往下跌則繼續作空,一突破50就要翻多。

以下我附上幾張加權指數日線與上漲下跌家數差的RSI對照圖,您若要讓我從這個指標來看後市,過去這陣子這兩個指標有在背離,代表雖然指數在上漲,但開始有不少的股票投反對票的多於贊成票,所以如果未來這幾天沒有出現全面翻紅的局面,這個盤拉回的壓力就會愈來愈大。

030901

 

030902

 

 

090903

 

 

030904

 

我一直很喜歡自己這樣摸索測試一些簡單的概念,例如在我的觀察中,股票市場的上漲下跌是市場所有參與者的總投票,而上漲家數與下跌家數則是市場針對某檔個股的投票結果,今天跟大家介紹的這個指標,是一個探測個別股票投票結果的工具,其背後的假設前題是我認為多空是上下震盪循環不已的心態變化。

作為一個操作者,透過各種變化的觀察,運用程式寫成指標,加以驗證後,形成自己的操作依據,這種人與機器一起併肩作戰的方式,比起靠直覺及運氣來操作,我覺得靠譜多了。

 

xqlite banner

主力,法人,公司派波段買超後的攻擊發起日

最近籌碼派當道,市場不少人會盯著籌碼來選股及操作,作為一個很早就在用大富資訊的產品算籌碼的操作者,我一直認為,從籌碼選股票,其實是很直觀的方式,那些每天公佈的數據並不難取得,難的是如何去解讀,以及形成交易策略,我的經驗是,敢買跟敢拉是不同的兩件事,籌碼分析只能找到前者,但真正能讓我們跟著共襄盛舉而賺到錢的,是後者,今天,我們一起來探討這兩者之間的關係。

籌碼派把股票投資說的很簡單,找到那些特定券商一直在買的股票,跟著買,然後就會賺到錢。

人生如果這麼美好就好了!

真實的情況是,不管是公司派,主力,大戶,法人,甚至隔日沖大戶,在知道大家都在盯著券商分公司進出表之後,善良一點的多開幾個點,讓你摸不著頭緒,惡劣一點的,還會故意在要出貨時在特定券商呈現大買超來騙你,所以我雖然會留意一下籌碼,但我覺得籌碼只是各種工具中的一項,它像微物跡證,把不同的跡證合在一起看,可以判別案情的走向,但籌碼絕對不是DNA, 驗一下就知道人是誰殺的。

在運用籌碼分析時,我思考的路徑圖如下:

籌碼決策圖這樣的交易決策過程,分成兩個部份

1.透過主力及法人買超的天數及金額來研判籌碼是否正被收集。

2.透過以下幾項指標來研判收集籌碼者接下來會不會又敢買又敢拉。

主要的研判指標有四個

a.法人及主力買超佔成交量比例

b.外盤成交是否比較多

c.是否勇於追價

基於上述的思考,我訂出的選股條件如下:

1.五天有四天買超 or 三天有兩天買超

2.每天買超都超過3百張

3.法人+主力買進的張數超過成交量三成

4.外盤成交比內盤多

5.近一日收盤價與最高價差距不大

我試著根據這些條件寫了一個選股腳本如下:

value1=GetField("法人買賣超張數");
value2=GetField("主力買賣超張數");
value3=value1+value2;
value4=GetField("內外盤比","D");//外盤量/內盤量*100
condition1=false;
condition2=false;
condition3=false;

if countif(value3>300,5)>=4 or countif(value3>300,3)>=2
then condition1=true; 


if value3>volume*0.3
and value4>50
then condition2=true;

if high<=close*1.02
then condition3=true;

if condition1 and condition2 and condition3
then ret=1;

這個腳本只是個樣本,各位可以再去設定不同的過濾條件,找到那些敢買又敢拉的股票,例如在選股條件上再設定股本的上限,或是把買超張數改成買超金額超過一定上限。但基本精神就是別只看買超的張數及天期,也看其他如外盤成交比例,K線上影線等其他指標,因為不會是主力買超就是好股票。

尋找那些開盤迄今外盤量的比重很高的股票

外盤成交量佔總成交量的比重,是個值得參考的指標,我們發現,那些常天收長紅的股票,外盤成交量佔總成交量的比重,動輒超過六成。

以下圖中的智原為例030401

 

我們會發現,每次外盤佔比超過六成時,當天K棒往往收長紅,如果沒有收長紅,往往也預告後市有高點可期。

這個指標的腳本我附在下方

value1=GetField("外盤量");
if volume<>0
then value2=value1/volume*100
else
value2=50;
plot1(value2,"外盤佔比%");

 

基於這樣的觀察,我們可以寫出一個腳本,在盤中找出累積到特定時間時,外盤量佔比超過一定比例的股票。

input:timeline(100000,"截止時間HHmmss"); 
input:ratio(50,"外盤量佔總成交量比重%");
value1=q_OutSize;//當日外盤量

if volume<>0
then begin
if currenttime>=timeline and value1/volume*100>ratio and volume>500
then ret=1;
end;

 

上面這個腳本,我把計算的截止時間跟外盤量佔比的下限都設成參數,因此,透過這個腳本,可以找開盤前五分鐘外盤佔比超過八成的,也可以找到九點十五時,佔七成五的, 也可以找到十點佔九成的,時間跟成數都可以自行調整,調整的視窗如下:

030402

外盤量佔比的確是一個挑到好股票的好方法,特別是那些很久沒有動的中小型股,如果大盤不是太強,而個股的外盤佔比回到六成以上,往往是風雲再起的一個指標。