創富坊
利用ASI選股及即市交易期指
假期有學員問及ASI這個指標,其實過去在不同的場合也有介紹過,ASI這指標由J. Welles Wilder所創,看到這個名字,大家自然會想起由他研創的RSI、ATR等指標,事實上他在1978年撰寫的《New Concepts in Technical Trading Systems》所介紹的技術指標,至今都已十分流行。而ASI卻是較少人採用的,根據J. Welles Wilder所指,他希望「創造」一個價格,比真實價格更具代表性及預測性的,這才是他心目中「真實」的價格,更重要的是這個價格能讓使用者去更有效地判斷價格突破壓力或跌穿支持的真偽。
ASI的用法在網上大家應可找到很多很多,公式也不難找到,而這個指標在Amibroker中也是內置的,故不難應用。常見的用法是利用ASI來選股,找出ASI由負數轉為正數的股票,若大家運用這個簡單的方法每天在「港股通」中的300多隻股票中挑選股票,應發現有一定的效用。當中以港交所(0388)在2014年11月及2015年4月的例子是十分明顯的,又或其他的股票如騰訊(0700)也是如此。
但請看看銀娛(0027),去年ASI由負數轉為正數時,卻是股價見頂回落的時間。不同的股票會有不同的特性,一直認為不可能同一種分析方法應用在市場上不同的股票之上,究竟那些股票適合用那些工具去分析,利用程式其實可以在很短的時間便能找到答案。
至於該學員問及如何利用Amibroker編寫ASI由負數轉為正數的選股策略,答案如下:
function SwingIndex( Limit )
{
Hy = Ref( H, -1 );
Cy = Ref( C, -1 );
Ly = Ref( L, -1 );
Oy = Ref( O, -1 );
r1 = abs( H – Cy );
r2 = abs( L – Cy );
r3 = abs( H – L );
r4 = abs( Cy – Oy );
k = Max( r1, r2 );
r = IIf( r1 >= Max( r2, r3 ), r1 – r2/2 + r4/4,
IIf( r2 >= Max( r1, r3 ), r2 – r1/2 + r4/4,
r3 + r4/4 ) );
return IIf( r == 0, 0, 50 * ( ( C – Cy + 0.5 * ( C – O ) + 0.25 * ( Cy – Oy ) ) / r ) * k/Limit );
}
function AccumulationSwingIndex( Limit )
{
return Cum( SwingIndex( Limit ) );
}
Filter = AccumulationSwingIndex( Param(“Limit", 100, 1, 1000 )) > 0 AND Ref(AccumulationSwingIndex( Param(“Limit", 100, 1, 1000 )), -1) <= 0;
當然除了ASI這個指標外,大家可自行加上其他的選股準則來配合一併分析,若然懂得利用Amibroker,這類簡單的策略應不難做測試,大約十多分鐘應已能完成。
至於應用在期指的即市交易又如何?單單運用ASI由負數轉為正數這種方法即市交易期指,若只炒開市「第一轉」的話,其實有一定參考價值?
分析的準則分為四類:
開市後ASI由負數轉為正數 – 向好
開市後整個上午市況中,ASI皆為正數 – 向好
開市後ASI由正數轉為負數 – 向淡
開市後整個上午市況中,ASI皆為負數 – 向淡
若加上其他分析工具如成交量等又是否更有參考價值? 過去若沒有程式,要測試這類簡單的策略其實真的需要很長時間,但若懂得應用,以下的方法其實不難測試,而且更可加上自己的經驗,比如當日是裂口高開還是裂口低開? 高開/低開的幅度有多大? 開市首分鐘上升/下跌的幅度有多大? 隔晚美股的走勢如何? 內地股市開市首分鐘的走勢如何? 等等等,利用程式把不同的準則加進策略中,熟習程式運用的學員們應不會覺得太困難,而且從中大家應會發現更多更有效的交易策略!