顯示具有 技術分析 標籤的文章。 顯示所有文章
顯示具有 技術分析 標籤的文章。 顯示所有文章

2014年1月21日 星期二

趨勢追隨策略類型2-突破

 

續前篇 Trend Following 趨勢追隨策略類型 。設計趨勢追隨的程式交易策略,首先就是要判斷趨勢,一般常見方法有兩種,第一是均線策略,跟著市價與均線的位置或均線的斜率來判斷趨勢方向,第二就是突破,由基準點開始看盤勢漲跌了多少作為突破,再持續同一方向的趨勢

 

這個基準點的設定可能是特定價位或某特定時段所依據,例如特定價位設定上個月結算價,或心裡認為特別重要的價位。特定時段可能設定每日開盤的價格或每週、每月甚至每年開盤價格都可以運用。

 

而漲跌多少算是突破可以追價? 這就是看前面所設定的週期,越長期的週期應當配合越大的突破價差,例如每季開始的市價設定為基準點,漲跌5%作為突破,在未翻回反方向突破前持續持有直到每季結束,這樣也是個可以測試的策略,可能都比一些奇奇怪怪的指標還會獲利了。

 

另外一個考慮漲跌價差的設定是波動率,例如最近一段時間波動大,那這個漲跌價差就應該同步放大,真的夠大才去追突破,免得盤整常常洗刷,反之,波動小時,漲跌價差也應該同步縮小,跟著市場作小波段。

 

這樣跟著波動率所設定漲跌價差,可以利用的方式很多,例如取日的 ATR、利用BBand、或 歷史波動率 等等,此篇就來紀錄應用歷史波動率來設計突破策略。

 

要考慮的參數有

  1. 取多少期間的歷史波動率,計算出對應點數

  2. 由目前市價要漲跌多少比例的對應點數算是突破


 

程式範例如下:

 

HVpCode

 

基準點BP設定為目前市價,計算出對應的波動點數HVp,例如HVp為100點,把它當作目前可能波動的範圍上下區間是100點,而基準點在中心點,那當市價突破基準點加減50點時,就視為是一個趨勢開始,建立方向部位並將新的基準點設為目前市價,以此再續看下一個突破點

 

策略表現及指標如圖:

 

HVpPic

 

這樣的策略可以有以下績效(10minK,2005~2013)

 

HVpPer

 

HVpTradePer

 

以一個策略原型來說,這樣的績效是蠻不錯的,問題在於drawdown如何縮小。另外注意這是非多即空的策略,進一步也可以試試什麼情況不須在場內,例如波動非常小時,可能不要有單,或許可以降低些drawdown。也可能是相反的,波動很大時先退出,因為可能大幅drawdown都是在此期間產生。

 

突破策略百百種,開頭提到的以年月日作基準點的策略也可以慢慢紀錄,另外均線策略也是非常多樣化的,持續調整囉。

 

 

2014年1月8日 星期三

Aroon Indicator 阿隆指標

 

Aroon Indicator 阿隆指標,以距離創新高低後的期間來判斷強弱勢,說明和範例可以看兩個資料連結:

 

Aroon Indicator

Finding The Trend With Aroon

 

指標為計算兩數值Aroon多方及Aroon空方,定義是

AroonU : [(期間數) - (創新高後的期間數)] / (期間數)] x 100

AroonD : [(期間數) - (創新低後的期間數)] / (期間數)] x 100

 

未看圖之前可以想像,最近有創新高,AroonU值就高,有創新低,AroonD的值就高。另外一個可以參考的指標是AroonU – AroonD,有創新高又很久沒創新低,這個值就會高

 

以Multicharts來實作這個指標的語法如下

 

idAroon

 

idAroon2

 

套用台指期行情來看看有沒什麼特殊性可以利用

 

Aroon

 

是不是有什麼線索可尋?

有看出來了嗎?

 

 

 

 

 

 

若有看出來的朋友麻煩分享一下,L對它沒什麼感覺,不曉得怎麼利用,(逃~)。

 

小指標介紹,目前約略測試所設計的策略績效都不怎樣,其實也蠻正常的,要找些其它指標和Aroon搭配使用才可能有像樣點的結果,有心得再紀錄下去了。

 

 

2013年12月6日 星期五

波段突破策略(with ATR)

 

紀錄一個常用也好用的邏輯,突破策略。區間突破最常使用在當沖程式裡,不過波段的程式使用起來也不差,基本邏輯就是由開盤向上漲多少要突破作多,向下跌多少要突破做空,很單純,最主要的因素只有這個突破的臨界點是如何決定?

 

先前曾經紀錄過簡單當沖突破的測試 - 當沖逆勢單進場。其中提到開盤點為準,漲50點作多,跌50點作空,如果沒翻就擺到收盤,這樣的邏輯在近年是無法獲利的。但是波段程式就不一樣了,能獲利。只是突破的區間要思考,不是單純點數或比例就能適用的。

 

這時 Average True Range(ATR) 平均真實範圍 就是個好用的指標,當行情波動大時,這個區間確認也應該放大,波動小時,則區間也小,因此加上波動性的指標有用處,ATR比其它波動性指標直接方便的是它本身就是價格的表示,而不是比例或無法對應的數字。例如ATR 100點,就是近期日高低點數平均在100點,而開盤後往上50點或往下50點的區間內都很正常,而我們設定的突破邏輯就是市價漲超過50點作多,跌超過50點作空。

 

搭配觀察指標和策略訊號的程式碼範例如下。

 

id

 

bkatr

 

在策略設計的部份只有一個參數,是要決定ATR用多少期間,其中變數TRX是每日的TR值,ATR用來紀錄…ATR,TR的陣列和其中註記//replace AverageArray的部份是因為Multicharts內建的AverageArray用起來不對勁,就自己再寫進策略裡,內容就是把TRX一個個放進TR陣列裡,放到最後一個時順便算一下裡面那些TR的平均值紀錄到ATR。

 

再詳細一點的紀錄程式,因為ATR在這個例子中使用的是日線層級,但實際運用的K線可能是10min、5min、8min之類的,會要再搭配其它的指標,所以才使用這種Array的方式將TR記錄下來,在新的一天開始時計算一次( date <> date[1] ),然後看是要多少個TR的平均,一個一個放進去,另外特別注意Array第一個位置是0起始,所以for迴圈裡目標值減一,這樣個數才對。

 

這個Array+For迴圈的方法在使用不同k線層級的指標時蠻好用的,可以多加利用,如果是常coding的朋友可能會覺得一個地方怪怪的,平常都是for i=0 to X,這邊因為i是 Multicharts 的關鍵字所以不能用,常常都要再改成 j….,是特別的習慣。

 

回到突破邏輯,以ATR所計算的近日高低作為區間,它近期的進出及績效(2005~2013,10min)如下。

 

chart

 

performance

 

trade

 

以一個不加濾網、不加出場邏輯、未設停損停利的邏輯來說,這樣的績效是蠻不錯的,值得繼續研究開發。

 

延伸一點的說,區間可以使用其它的波動性指標來調整、或直接用N日高低區間、或布林通道的區間、或參考CDP之類的,都可嘗試看看。這樣的突破邏輯應該是每個人都會測試過的基本款,不過應用時如何決定區間指標和如何搭配濾網就是深入的工夫了。

 

 

2013年12月3日 星期二

Average True Range(ATR) 平均真實範圍

 

之前紀錄過觀察行情波動的技術指標,有 歷史波動率 及 動能指標-ADX與Momentum ,此外常見的另一個指標是Average True Range(ATR) 平均真實範圍。目的都是由波動程度來輔助策略,應用在合適的盤勢及避開不合適的盤勢。而不同的計算方法則是各有其依據,每個人能領略並應用的程度也不同,但多認識一下總是好的。

 

定義的連結如 Average True Range - ATR,先計算其中的TR,取以下三者的最大值

  1. 今高-今低

  2. (今高-昨收)的絕對值

  3. (今低-昨收)的絕對值


然後再計算N個TR的簡易平均值

 

ATR定義

 

在說明中有簡單提到,高的行情波動會有高的ATR值,低的行情波動會有低的ATR值。

 

ATR值的計算很簡單,在MULTICHARTS裡也有內建了這個函數可以直接使用,例如下圖,使用AvgTrueRange,一個參數是要多少期間的平均數。

 

mc_atr

 

直接套用指標觀察圖形

 

mc_atr_pic

 

ATR如同其他波動性指標,在很多方面都可以應用,例如

 

  1. 單一指標的高低比較,由設定的門檻判斷波動的高低值。

  2. 長短期的ATR互相比較,判斷近期相對的波動率程度走向。

  3. 將ATR應用在帶狀指標的範圍決定上。

  4. 應用在出場的條件,例如遇上K棒遠大於ATR的區間時,是否適合停損停利。

  5. 也可以應用在停損的設定上,ATR小讓停損小,ATR大讓停損大。

  6. 某些基於K棒強弱度的策略邏輯可以應用ATR過濾不具代表性的K棒。


 

以上提到的各項都各自有測試應用的價值,L自己也有應用到的部份,不過以目前的應用程度來說,還不及ADX的順手,在有不同想法時仍會想到測試使用看看,或許有更多的好用之處,就請朋友們動手使用看看囉~

 

 

2013年9月24日 星期二

停損點轉向指標-SAR

 

SAR停損點轉向指標,或稱為拋物線型指標,是 Technical 技術分析  中很常見的一個指標,常用在設定停損點。在 investopedia 的介紹 中如下圖

 

SAR定義


 

它是移動式的跟隨著行情,當反向穿越時就是進/出場點,計算的公式如

 

SARt = SARt-1 + AF * ( EP - SARt-1)

 

其中AF為加速因子(acceleration factor),EP為極值(extreme price)

反轉條件:SARt與當天價格發生交會,即下跌波段時SARt < Hight,上漲波段時SARt > Lowt,即為反轉訊號。此時,SAR0= EP。

 

網路上有篇文章對於SAR指標有蠻詳細的說明,想進一步瞭解SAR可以點進

SAR指標介紹 - 部落格 - 財經知識庫 - MoneyDJ理財網

 

而我們在應用上,也不需要自己重新編寫指標的原始碼,SAR指標在 Multicharts 有內建函數 ParabolicSAR,訊號有 ParabolicSAR LE及 ParabolicSAR SE,兩者都可以直接看原始碼參考或修改。SAR指標可以用在進場或出場訊號,不過單單僅用在進場訊號時表現並不好,原因和一般趨勢型策略相同,在震盪區間時進出次數太多,另外SAR若套用在短時間的K線上也有同樣的問題,太容易翻單了。

 

而讓單一指標發揮效用的最簡易方法就是交配,把不同屬性的指標拿來結合使用,因此我們除了用較長的K線之外,還要增加些過濾的邏輯,建議是能表示趨勢的指標,例如ADX(可參考  動能指標-ADX與Momentum  此篇)。

 

以下提供一個SAR及ADX結合應用的程式範例,主要邏輯是當ADX小於門檻值時,就照著SAR的方向作部位,另外再加上停損停利的設定。另外,這次同樣沒直接顯示參數的數值,請有興趣的朋友自己測試。

 

ADXSAR_noin


 

加上ADX的判斷後可以有效避免區間震盪時的洗刷,在有趨勢時(ADX大於門檻)的波段,不讓訊號翻轉。例如以下的圖示,若無ADX的過濾,那麼高檔的震盪會多了許多無謂的反轉。但反過來說,也就沒翻的那麼快,或許等到ADX轉弱已經回吐獲利一大段,這些就是邏輯設計的取捨了。

 

高檔避免震盪進出


 

這樣的邏輯有以下績效。L所使用的是台指期30分K線,測試時間為2005~2013,費用雙邊設定共800。

 

策略績效


 

獲利風險比 : Profit / Drawdown 值為13.63

 

總交易分析


 

Kelly 值 : 13.3

 

年週期


 

月週期


 

在 損益期間的評估 上,年週期表現穩定,近兩年波動較小,獲利也較小了。而月週期看來是有不短的時間要忍受,整體看來還是正常。

 

損益曲線


 

損益曲線是挺漂亮的。以上是SAR指標的介紹及結合ADX應用,請有興趣的讀者一起動手測看看吧~

 

 

 

2013年7月26日 星期五

Technical 技術分析

 

期權交易分類 這篇文章裡,技術分析是非常大的一塊重點,每個市場上的投資人都會聽過各式各樣的技術指標,聽分析師講的頭頭是道。或許有的指標可以得心應手,但也常碰到失靈的時候,技術指標有的聽起來很奇怪,但是也沒辦法否定它的存在。總是會有人宣稱他的指標如何戰勝市場,吸引一波波投資人相繼跟隨研究。

 

這些事情不是L可以講的清楚的,全世界最頂尖的交易員和學者早就爭論許久,技術分析,到底有沒有用?

 

如果沒用,為什麼那麼多人在用?是不是我不會用?

如果有用,要怎麼用?用什麼?什麼時候用?

 

建議可以先參考WIKI對技術分析的解釋,中英文兩篇,內容有些不同。

 

WIKI-Technical analysis

WIKI-技術分析

 

和其他交易方法一樣,能夠瞭解它才可能用的久、用的順。很多人第一步就踏錯了,看到琳瑯滿目的技術分析書籍就急著拿來當武器上戰場,聽到分析師或朋友信心十足的技術分析就跟隨使用,這都不是長久之計,是碰運氣。其實在尋找和嘗試各種指標之前,先想想它為什麼會有用?是否適合自己用?絕不輕信其它人或老師片面之詞,也絕不盲目跟隨,我們要作的是先驗證,再學習使用,然後再實際應用。

 

所以我們才要看這些資料,首先,技術分析依據下面三個基本原則:

  1. 價格反應一切資訊 (Market action discounts everything)

  2. 價格是有趨勢的 (Prices move in trends)

  3. 歷史會重覆它自己 (History repeats itself)


 

你相信這些原則嗎?例如History repeats itself,這是名言,是格言,但不一定總是正確,就算在某些領域和經驗告訴我們是正確的,在投資市場也不一定正確。如果你不相信它,又怎麼能期待以前有用的指標,這次進場也會一樣地有用?反之,如果你相信它,它又表現的不好時,那怎麼調適?

 

很可能你自己也不曉得自己是否相信這些原則,所以我們才要驗證,各種技術指標在各種市場的表現,模擬我們在每次進場該有多少的期待,表現不好的機率有多少?有多不好?最好最壞是如何? 然後我們再去運用它,再繼續深入瞭解調整它。

 

這個它,有可能是以下任一種指標,或是兩種以上指標的交配組合。這像是武林中各門各派的功夫目錄,我們就來開始一個一個調查驗證,用回溯測試的方法,用策略評估的原則,尋找適合自己的降龍十八掌。

 

Concepts





  • Chart pattern – distinctive pattern created by the movement of security prices on a chart

  • Cycles – time targets for potential change in price action (price only moves up, down, or sideways)

  • Dead cat bounce – the phenomenon whereby a spectacular decline in the price of a stock is immediately followed by a moderate and temporary rise before resuming its downward movement

  • Elliott wave principle and the golden ratio to calculate successive price movements and retracements

  • Fibonacci ratios – used as a guide to determine support and resistance

  • Momentum – the rate of price change ( Momentum 市場動能 )

  • Point and figure analysis – A priced-based analytical approach employing numerical filters which may incorporate time references, though ignores time entirely in its construction

  • Resistance – a price level that may prompt a net increase of selling activity

  • Support – a price level that may prompt a net increase of buying activity

  • Trending – the phenomenon by which price movement tends to persist in one direction for an extended period of time