顯示具有 期貨交易 標籤的文章。 顯示所有文章
顯示具有 期貨交易 標籤的文章。 顯示所有文章

2014年6月27日 星期五

多策略組合的執行

 

多策略組合的執行

 

續前篇 多策略組合的觀察 紀錄到多個不同的策略運用可以有效降低 drawdown,同時加總各策略的獲利。

 

投資標的並不僅限期權,操作股票、債券、外匯或基金等等,都是可以搭配組合的交易,各領域也同樣可以各自分散邏輯策略,只是這邊紀錄以期權為主題商品,我們設計了順勢、逆勢、長短線、再加上選擇權策略所建立成的期權組合。

 

但是,既然有這樣的優勢,為何操作期權還是困難重重?

 

這篇要紀錄的是多策略組合的執行,實際交易上碰到的困難。這有點類似健身運動,一樣的知易行難。我們可以輕易的找到許多資料,瞭解期權多策略的設計,瞭解身體各肌群的訓練,也有很多人分享策略組合的規劃,健身減重的計劃,看起來都非常可行。交易系統不夠好、交易成本比人高,也還是有適合的策略,沒人說一定要去健身房,在家作伏地挺身、深蹲,一樣有效果。

 

只是,常常受不了作重量訓練很累,忍受drawdown很痛苦,然後就開始有了許多理由,原本的規劃開始變來變去,當然最終都是沒什麼成果的。

 

問題是在於對計劃的瞭解,以及本身的意志力和耐心(耐力),制定計劃時就必須瞭解自己能夠承受的風險,一個投資組合假設預估的年獲利200萬、年風險100萬,但一執行下去可能虧損30萬就開始懷疑策略、虧損50萬開始更動策略、然後…,當然也伴隨許多理由,總之,能有耐心在這個光世代花上一兩季的時間觀察組合表現且能貫徹執行的人真的不多,人人都只想在最短時間內,最好只花幾天,就變成肌肉健美男。

 

再想想多策略組合的特性,我們希望drawdown降低而分散邏輯,有些盤勢某些策略很擅長,相對某些策略會很難熬,如果策略夠多,那麼每天有些策略賺有些策略賠是很正常的情況,可是我們往往太聰明,希望每個策略都賺,所以又動手調整了,這個希望,正是違背了策略組合設計的初衷,是個不合理的希望,如果你真的知道什麼時候該用那支策略,那還需要作多策略嗎?

 

另外一個問題是,我們找尋的資料、參考的策略、聽到的方法…全都是教人怎麼贏,一定贏,但是很少有人會講要怎麼輸、怎麼面對輸,總會有一段時間碰到把把都是爛牌的時候,那要怎麼面對? 第一個應該從心態調整。

 

這是個重要的心態,有些贏有些輸,該贏的要贏,該輸的要輸,我們要求風險的降低,同時也放棄了許多超大獲利的時間,是值得的,因為會平均分配在其它時間的,如果組合作的好的話,口味可能像是白開水,雖然平淡,不過很健康。

 

題外話,也有人是真的討厭白開水,認為玩大的、殺來殺去才是交易,那其實對他們來說,交易本身就是一個能帶來效用的行為,就是不作就不舒服,輸輸贏贏沒關係,會覺得很有樂趣。不過,對一般人來說,交易要作的長久,還是多喝白開水吧。

 

 

 

FXB

《本文與 Bituzi 同步刊登》

 

 

 

多策略組合的觀察2

 

以前篇 多策略組合的觀察 回應讀友們的思考,或許是前篇例子說明不夠清楚,這篇就再延伸紀錄了。

 

要回應的重點整理

1. 組合的整體績效及風險

2. 資金運用效率

3. 同時運作四種不同邏輯的情形

4. 策略的刪減

5. 遇上系統性風險

 

同一個範例,策略A、B、C、D四支,及ABCD的組合,假設是一年的表現如圖。

 

策略組合

 

關於組合的整體績效,為什麼是加總不是平均,換個角度想,A、B、C、D是我們屬下的四個交易員,我們就當作管理者的角色,A交易員這年賺了300、B交易員賺了120…等等,很優秀的,四個交易員都是賺的,這個TEAM一年下來賺的,就是四個人加總起來的,800。

 

以A自己的角度來看,他的drawdown 30,表示這一年裡,績效從高點回落最多的幅度是30元,同理,B是15元,等等。不過從管理者的角度看,他們四個交易員每天有賺有賠,常常互相抵消一部份虧損,所以整個TEAM的drawdown變成只有40,而不是他們四個人加起來的90

 

如此,對TEAM來說的獲利風險比,是800 / 40 = 20倍,比起他們每人個別的比率都還好。

 

關於資金運用效率,可以有許多種資金管理方法,在例子中有drawdown資料,所以就假設是以drawdown 的倍數來控管資金使用,再假設這個倍數是3倍,A交易員drawdown 30,那需要準備本金 90來交易,交易的結果是獲利300元。而以TEAM來說,需要準備本金 120元,交易的結果是獲利800元,以這樣的例子來說,300/90 比 800/120,那當然是後者資金有效率了

 

關於同時運作四種不同邏輯的情形,讀友經驗是可能會混亂,可能會互相衝突。但是,我們要的就是衝突,如果四個策略常常同向,才該注意,這樣就會失去風險分散的效果。而實際運作上,比四種還多上太多了,夠分散的邏輯策略十個、幾十個都常常運用。

 

關於策略的刪減,以ABCD四個交易員的表現來說,A和C表現較好,那是否選擇AC兩個就好了? 這有兩個問題,第一,現實交易上,我們無法事先得知A和C表現是比B及D好,換句話說,我們若事先就知道誰什麼時間表現最好,那段時間不就梭哈押他就行了嗎? 那就不需要多策略了,當然是作不到。第二,如果A+C表現如預期的比B+D好,還是不能表示AC會比ABCD好,因為多個策略帶來的drawdown分散效果不同,例如AC的drawdown可能也是40,那AC和ABCD的P/D是480/40 & 800/40,當然還是ABCD好。這個部份,要延伸的主題是怎麼選擇各策略以及相關性的測試,下篇再紀錄了。

 

關於遇上系統性風險,讀友經驗可能會全賠,這當然可能,也就是我們要瞭解drawdown的目的,但一個好的分散組合,或許一兩天偶爾會全賠,但拉長時間看應該是有的賺有的賠,而更長的時間看應該是都要賺,才是正常有效的分散,所以我們才研究那麼多種策略來搭配。

 

以上,請讀友想法繼續交流討論囉。

 

 

2014年6月20日 星期五

多策略組合的觀察

多策略組合標圖

 

由前篇 避免過度最佳化 提到了單一程式策略儘量專注著目標,不需要把多種盤勢邏輯統統放在一支改成大雜燴,那很容易走進最佳化的陷阱,而此篇要紀錄的是各程式所合成的策略組合觀察。

 

一般說來,走到衡量整體組合的程式交易者已經作了非常多的事情了,經過策略邏輯的設計、實戰、修改,瞭解自己偏好的交易型態,瞭解自己能夠接受的風險程度,才有辦法一支一支的打造出合適的策略,再將各支策略組合觀察整體績效,觀察的第一重點就是利潤風險比。

 

以下圖為例,有四支交易策略A、B、C、D,及其個別的獲利風險

 

策略組合

 

而這四支策略組合在一起時的獲利是各別策略獲利的加總,但Drawdown則是大為降低,組合的獲利風險比為800/40=20倍,比起原先各別策略的P/D都要高的多,這是我們要的東西,原先一支策略A估計的獲利300就要準備承擔30的風險,現在組合有800的獲利卻僅要估計40的風險

 

在這個例子中,要特別衡量是組合後的Drawdown 40,與原先個別策略的Drawdown加總 90 (30+15+20+25),所計算的比例 40 / 90 = 44.4%。這個比例的意義是組合的效果,各策略因為彼此不同的損益期間表現,所以在每段時間都有互相抵補的效果

 

當然也要各策略屬性不同、目標不同才會有效,不然每支策略賺的時候一起賺、賠的時候一起賠,那放在一起也沒什麼效果,這種情況的比例算出來會是高的,可能70%、80%以上。

 

調整組合的目標就是希望能夠再降低這個比例,希望能夠到40%、30%或更低,所以在打好基礎,有了一個基本組合後,開始慢慢調整整體組合,這時可能會發現某支不太會獲利的策略加進組合反而是蠻有效的,甚至沒什麼賺賠的策略放進組合,雖然總獲利沒增加,但是Drawdown降低了,那也是一個進步

 

而且加一支普通的策略所花費的工夫,比精雕細琢一支複雜策略來的輕鬆多了。由組合的角度看,或許普通策略更值得,各位讀友可以多加思考這樣的方法,同時再次避免了單一策略的過度最佳化

 

另外有一點可以多注意的是,若要增加部位時,同一策略的加碼往往不如再加進新的策略,當然,新策略並不是那麼好生,所以對於學習新邏輯、測試新想法,都是無法停止、要持續下去的。

 

 

 

附記1: 單一策略的評估主要有介紹三項方法,各自重要,而組合評估也同樣適用,此篇僅著重獲利風險比,而另兩種方法仍值得觀察參考。

 

附記2: 此篇紀錄策略組合的評估方法及好處,工具利用可以是MultiCharts的Portfolio backtester或EXCEL自行計算(由每日的測試損益推算),這部份下篇再紀錄了。

 

 

 

FXB

《本文與 Bituzi 同步刊登》

 

 

2014年6月7日 星期六

避免過度最佳化

 

help

 

程式交易策略的設計有個大難題,不論是新手或老手都會一直感到困擾的問題是: 我的程式是否過度最佳化了?

 

以我們現在開發程式交易策略的方式,是將歷史資料作為數據,套用各種不同的邏輯來測試,希望能找到一種通則可以適用在對未來的預測。這樣的方式是利用歸納法找出通則,而通則是表示有一定的機率,也可以當作是我們回測的勝率。

 

但若將前述各種不同的邏輯條件增加的越來越多,就會越來越像是對數據作細節的描述,可以得到很漂亮的測試,但對未來的預測能力必然不如對過去的好,這很像是考試前把所有的考古題答案背下來,而不是真的瞭解怎麼解答,那當考試時題目稍有改變就不會寫了。

 

有指標就一定有參數,有參數就一定要作選擇,選擇參數的個數及個別的範圍。還有更大的考量是,要怎麼判斷是否也用了太多指標以致於最佳化了? 或許它真的就是這麼準,也沒什麼不可能。

 

那怎麼辦?

目前並沒有主動正向的建議或準則說明該使用多少參數或指標個數,只有被動的再去測試,常用的方法是forward backtesting,就是把數據切兩部份,一部份測試合適參數,另一部份作為未知數據來測試結果。假設同一組參數在這兩部份的運作情形差異不大,那很可能表示這組參數是夠穩健的,若在兩部份的差異很大,那好險有先作測試…

 

這邊說的差異大不大要如何判斷? 可以利用之前談過的交易策略評估,參考連結

交易策略評估-Kelly formula

交易策略評估-獲利風險比

交易策略評估-損益期間

(交流會的朋友知道怎麼從測試報表中,較快速的選擇合適參數了)。

 

 

以上,是針對單一策略作forward backtesting來判斷是否過度最佳化,但作了也評估過了,能表示未來績效會和測試時一樣好嗎? 當然,還是不一定的,唯一可以確定的是對這支策略的信心和瞭解更加提昇了,這也是很重要的。

 

除了forward backtesting之外,避免過度最佳化是從策略組合的角度來設計,簡單的說,就是讓各策略專注。專注在目標上,目標是長波段10%行情、中波段3%行情、當沖策略、極短線策略、震盪盤策略或是針對只作多空單方向的特殊策略等等。

 

在設計這些策略時,單一的目標要夠明確,例如想設計一個大行情必吃的策略,那小行情就不予理會,或許能作到避開損失就夠好了,千萬不要想連震盪小行情也吃的到,因為這樣很可能又會陷入多重邏輯的陷阱

 

以交流會談到的故事來說,動物界舉辦了鐵人三項比賽,項目是飛行、短跑和游泳,老鷹在飛行項目得了第一名,但是短跑和游泳都不行,獵豹在短跑得了第一名,但是另兩項不行,海豚則是游泳第一名,但另外兩項也不行。最後這項比賽的冠軍是一隻鴨子,三項都會一點,雖然都不怎樣。

 

這故事和程式交易策略有什麼關係? 假如我們希望設計一個任何狀況都適用的策略,什麼行情大小都要吃到,那麼就可能會設計出一個什麼都吃不好的鴨子,而好的作法應該是建立一個團隊,由老鷹、獵豹和海豚組合的超級戰隊。

 

這和避免過度最佳化又有什麼關係? 當我們專注在特定目標設計策略可以有較簡化的邏輯,同時在組合時又可以有效的截長補短,這個有不有效,主要是指降低整體drawdown,也就是看老鷹、獵豹和海豚彼此合不合,這個戰隊能否發揮綜合效果,這部份下篇再紀錄了。

 

 

 

2014年5月30日 星期五

期權價格關係 put-call parity 2

 

續前篇 期權套利 & put-call parity 介紹了選擇權與期貨價格的關係,這篇再繼續紀錄深入一點的觀察。

 

因為選擇權與期貨的價格有互相轉換的關係,所以彼此影響是很緊密的,在現在市場非常有效率的情況下,我們可以單從選擇權的報價來瞭解目前市況,而且若是要對選擇權策略作研究和交易,必須要對這些特性掌握到非常熟悉。

 

以下紀錄由下圖價格來作範例

 

選擇權報價

 

從選擇權看期貨價格


 

看價平履約價9100的CALL和PUT,成交價是89及57,如果心算很好的話,不用看期貨報價也知道現在的價格約在9132,算法就是以PutCall Parity來算,9100+89-57。

 

再來分別看委買賣的價格,

若要合成一個買進期貨,就是buy call + sell put,買90點的call + 賣57點的put,會組成9133的期貨多單(9100+90-57)。

若要合成一個賣出期貨,就是 sell call + buy put,賣89點的call + 買58點的put,會組成9131的期貨空單(9100+89-58)。

 

因為市場很有效率,所以報價會是 合成買進期貨 (9133) > 期貨市價 (9132) > 合成賣出期貨 (9131) ,不然就會有套利空間。

 

從期貨看選擇權價格


 

期貨在9132的位置,

9100的CALL是價內,時間價值是89-32=57點,

9100的PUT是價外,時間價值就是成交價57點,

時間價值由到期時間及波動率這兩個因素影響,也是作選擇權策略很重要的觀察價格,同個履約價的CALL和PUT所計算的時間價值是一樣的,所以波動率也是一樣的,如果不一樣時,也就是有套利空間。

 

這個特性也有可以利用的地方,在計算較價內的CALL和PUT時,因為沒有成交量,或是買賣價差掛很遠,又想要知道隱含波動率時,就可以利用另一邊來替代,例如8600的CALL很久沒成交,買賣價掛很遠,要去算它理論價時,就直接拿8600的PUT的隱含波動率來算,因為8600的PUT是價外PUT又有成交量很容易算。

 

選擇權與期貨的轉換


也是由PutCall Parity來反推,由上面合成期貨的例子再延伸,可以知道期貨、CALL和PUT三個,知道兩個就可以推出另一個,所以有以下共六種的轉換。

(F=期貨,B=買,S=賣)

 

BF = BC + SP

SF = SC + BP

BC = BP + BF

SC = SP + SF

BP = BC + SF

SP = SC + BF

再多補充紀錄,現在選擇權造市非常緊密,所以市場才能有這樣好的流動性,關於造市的機制和辦法可以到期交所網站瞭解,位置是交易制度的連結內如圖。

 

交易制度

 

多瞭解一些關於市場造市制度及交易者也是蠻好的,其中造市辦法會規定造市者當月回應報價請求之報價比率、有效報價累計時間及造市量,達成目標時可以減免其當月應繳之交易經手費、結算服務費,讓造市者成本更降低。

 

以上所紀錄到的這些價格和關係若一直看、經常看,就會感受到整體期貨和選擇權價格的連動,也可以對時間價值和波動率有直覺的反應,這對選擇權操作會有更深入的理解。

 

 

 

2014年5月10日 星期六

波段策略應用個股期貨

 

台指期近年來波動小,作期貨單找方向實在是沒什麼便宜可佔,所以除了台指之外,要平衡整體損益的方法就是找其它商品,作選擇權找時間和波動的利潤、作國外期貨,那是一個更大的世界。

 

其實國內還有選擇,就是個股期貨。以最大成交量的幾檔,日成交量也有一千口以上,而且這些也都是高價且波動大的標的。目前來說,宏達電、可成、TPK、聯發科,都是優先考慮的標的。

 

相對台指期來說,這些股票的波動率實在是非常大,因此趨勢單就更有交易機會了。L 使用 歷史波動率策略設計 此篇所介紹的類似策略,屬於中長線的波段。針對以上四檔個股期貨作測試,時間取不長,從2013/7開始,進出的狀況如下圖。

 

個股期

 

測試出來的績效是很不錯的,整體組合的績效如下。

 

個股期2

 

多空獲利平均,可成、聯發科、宏達電多單獲利,TPK空單獲利。將近一年的時間獲利約85萬,而drawdown 約17萬,這個獲利風險比將近五倍,相當高,當然也是因為這幾支個股都非常有趨勢。

 

現在是事後來看這四支個股在過去一年的趨勢單獲利很好,並不能以此預期未來獲利狀況,再進一步的研究可能要把現貨資料拿來測試,至少五年十年的,若績效也穩定的話,那對策略的信心就高多了

 

不過若是程式單以長線趨勢為主的話,押台指期不如押這幾檔個股有機會,有興趣的朋友也多測試看看囉。

 

 

 

2014年3月5日 星期三

台指近期日內區間

 

台指期現在的波動已經小的很久了,去年作了一個類似的紀錄,週選擇權與2013波動變化,其中是比較過去及近期的每日振幅,這一篇再來紀錄日內的振幅比較。

 

台指交易時間08:45~13:45,共有300分鐘,如果用每100分鐘來觀察,一個交易日有三個期間,直覺就可想到第一區一定是振幅最大、量最多,那實際上的數據呢,確實如此,而且相當顯著。

 

以下這個表格的內容是近期的數值

First表示第一個期間,08:45~10:25

Secodn表示第二個期間,10:25~12:05

Third表示第三個期間,12:05~13:45

前三欄的數值是高低區間,也就是高點減低點的振幅

後三欄是近五交易日的平均值用以觀察

 

近三年振幅數值比較

 

 

這個數據看起來比感覺中的還令人驚訝,第二期間在最近常常只有十幾點、二十幾點的波動,第三期間也是如此,延伸的說,在一整天中只有第一期間的波動比較大,如果當沖程式在這段期間作了錯誤部位,那在第二第三期間可以說很難賺的回來。

 

下圖是近三年三段期間平均振幅的比較,明顯的藍線是第一期間振幅較大,第二三期間則差不多都小。

 

近三年振幅比較

 

由成交量來觀察如下圖

 

近半年量比較

 

與前列數據一致,明顯的藍線是第一期間成交量較大,第二三期間則差不多都小。

 

看到這裡則可作個思考,我們知道現在台指期波動小,而且在10:25之後的波動更小,那這個觀察可以作什麼呢?

 

可能可以再調整當沖程式吧,或是調整賣方策略。

 

沒什麼波動的盤勢,還是多看點書,多研究國外期貨吧。

 

 

 

2014年2月21日 星期五

台指2014年2月份結算

 

又到合約結算完的時間了,過年期間雖有行情,但單對台股來說是只有封關和開盤的急跌行情,之後又馬上反轉回近月開倉價位的8500,長期波段的策略依然是沒有表現空間,中短期的策略若有停利或對反轉敏感則是比較有機會獲利。

 

從 VIX 來看也是一個反轉,

VIX

 

選擇權的結算策略 本月買方曾經在開工日大賺,而在結算則是損失不少。

 

OP

 

另外注意到十大交易人的選擇權部位,即使是在台指跌到8300時和至今,多方部位(BuyCall+SellPut)都一直比空方部位(BuyPut+SellCall)要多的多,L有紀錄過 籌碼分析-法人期貨未平倉 這篇提到參考法人期貨的注意點,不過對於十大交易人選擇權部位的看法稍有不同。在如此多空部位的揭示下,L目前覺得接下來還是要繼續等待行情,適度增加賣方策略的部位,這個盤勢還沒黏完。

 

OPOI

 

 

 

 

 

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都是在此期間產生。

 

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

 

 

2013年12月20日 星期五

台指2013年12月份結算

 

台指2013年12月份結算,來檢視一下行情走勢和對應的策略表現。

 

12

 

 

開倉的價格約在8100,也是這個月的低檔了,盤勢一直延續著從十月初以來的區間震盪,直到12月開始後是一連串的區間洗刷,開高走低、開低走高及上下影線,本月程式單非常難熬,如果操作部位僅使用台指期貨的話,這個月幾乎就是慘。

 

另外一提,18號結算壓低後碰到12/19這天的跳空,是可以預防的,如同之前 美元與FOMC會議 文章中所紀錄的原則,在會議公布的日子少作多看或是利用這個特性來設計策略。實際上18號的波動率提升不少,在19號開盤後又降低回去,就是一個常見的狀況。

 

選擇權策略中有紀錄的一種,台指選擇權結算買賣方損益 在8100履約價作的跨式買方部位,成本230點,結算238點,表現普通。2014年1月的合約波動率依然很低,照策略走持續作買方。

 

op

 

這一個沒行情又小區間震盪的月份肯定難熬,這也是磨練交易心理的時候。策略虧損是一定會發生的,如果讀者和L一樣在這個月操作不順的話也別緊張,只要虧損是在容忍的正常範圍內,控制好資金的比例,穩定好自己的心態,然後就加緊檢視和設計不同策略和不同商品吧

 

以策略來說,再設計的策略特性要不很長,要不很短,長的長到這種一兩百點的區間震盪刷不出來,短的就研究極短線和TICK Trade,將策略的特性區分開來。另一方面就是選擇權策略的研究,難以預期如此小的波動率會再持續多久,可以想想投資組合加上賣方策略是否合適,也可以嘗試從現有程式訊號轉成賣方部位來測試。此外就是測試不同的商品,開發國外期貨的策略。趁著這個月虧損,加倍研究的動力吧。

 

 

2013年11月21日 星期四

台指2013年11月份結算

 

台指2013年11月份結算,來檢視一下行情走勢和對應的策略表現。

 

201311月走勢1

 

開倉的價格約在8350,一直延續著從十月初以來的上下一百點區間震盪,直到11/6、11/7測試區間底部後跌破開始空方盤勢,但僅跌四個交易日到8100後,隨著國際股市皆創新高的情況下立即反彈,又回到8250的價位,但這次反彈不過8250,後續盤勢偏空看待。(2013/11/21發文時已經長黑盤後)。

 

201311月走勢表

 

從策略的角度來看這個月的盤勢,留倉單狀況偏向空單獲利又回吐,其中較短的已經被刷出場了,較長的仍然是空單續抱。而當沖單的狀況則是稍微好一點,雖然當日盤勢僅有三日能較有獲利(如上表淡紫標記),但大部份的日子波動小也沒進場機會,所以還是有一點獲利。另外也是因為波動率很低,最近當沖單的訊號並不多。

 

20131120結算價

 

台指選擇權結算買賣方損益 這個策略來看,買方242點的成本,最後收在147點,有95點的虧損,期間只有在價格跌到8100那兩日呈現獲利,其餘日子都是虧損的,正常來說採用這樣策略的投資朋友,是考驗著對策略的熟悉和信任。總之這個月仍然是波動很小的月份,繼續撐吧。而12月份合約的新倉價平合計仍然只有約220點,照策略走仍是作買方。

 

從較長期的角度看,這個月過的還算平穩舒服,新合約的開始,要有大獲利的最可能情況是空方波段+波動率上升,反彈若站上8250則保守看待先觀望,而8250以下是抱緊空單的時機,以上不負責任分析。

 

 

2013年10月23日 星期三

歷史波動率

 

接續前篇 選擇權評價-BS MODEL (with Excel) ,波動率主要有歷史波動率和隱含波動率兩種,此篇要先要紀錄的是歷史波動率。以 L 自己的交易心得來比喻波動率的話,瞭解波動率之前,看期權交易是方向和時間這二維的平面,瞭解波動率之後,看市場和策略像是立體的三維,方向、時間和波動。

 

在使用上,這個值不只對選擇權交易很重要,波動率本身就是選擇權評價重要的一個因素,不瞭解它的話,幾乎可以說別玩了。對於期貨交易也非常有參考價值,在期貨程式交易方面,也可以是不錯的濾網,甚至作為主要邏輯也可以。

 

歷史波動率的計算方法是: 一段期間內的收盤價計算的年化報酬率標準差,這句話不像中文,但其實不會很複雜,拿EXCEL作簡單的五日波動率範例,如下圖。

 

hv_EXCEL

 

步驟是

  1. 列出日期和收盤價

  2. 把收盤價取Log,紀錄在C欄,例如C7的公式是=LN(B7)

  3. 計算報酬率,就是Log相減,例如D7的公式是=C7-C6

  4. 計算五日標準差,例如E7的公式是=STDEV(D3:D7)

  5. 將標準差年化,例如F7的公式是=E7*SQRT(252)


 

這樣就計算好了,剛好可以看到這五日台指的歷史波動率算出來只有5.09%,真是低的可怕。

 

再來補充在Multicharts把歷史波動率寫成指標的語法,如下圖。

 

hv_id

 

計算就和上列的步驟一樣,這個指標可以算兩個期間的歷史波動率,參數是20和60,畫出來的圖如下。

 

hv

 

有了圖就可以觀察行情和波動率的走勢,一般來說,多頭時波動率低,空頭時波動率高。或是換個角度說,波動率高行情大,波動低行情小。以這樣的特性來說,就可以作為濾網和交易邏輯了。

 

深入一點的再紀錄,以上兩個範例計算最近的台指,五日是5.09%,二十日11.97%,表示台指波動是壓縮中(而且壓的很小),那這個波動率的數值意義是什麼?

 

以波動率10%來舉例,這是年化的(計算中有乘一個根號252),假設台指現在8400點,10%是840點,表示一年之後台指在7560~9240點(8400加減840點)的機率大約是68%,這個時間和空間可能比較沒概念。來算一個月的試試,10%是年化的,月的就再除根號12,等於2.89%,等於8400*2.89%=242點,表示一個月之後的台指在8158~8642點的機率是68%。那麼,假設你覺得台指的波動應該會大於這個幅度時,就應該作多波動率。

 

以上所述,要再嚴謹一點的說,68%就是正負一個標準差的常態分配下的機率,實際上指數分配並不是常態分配,這是另一個要深入的主題。要簡單明瞭的說,波動率越大就是波動大,比較會有行情,K線也可能比較大根,這樣就好了。

 

最後再整理一下,之後要繼續紀錄的是波動率在下列幾項的應用

  1. 作為程式的濾網

  2. 作為主要交易邏輯的測試 ( 歷史波動率策略設計 )

  3. 選擇權與隱含波動率  (隱含波動率 (with EXCEL VBA、C#) )


 

 

 

2013年10月9日 星期三

尾盤出場策略1-建立日期表

 

J注意到一般朋友進行策略撰寫的時候,可能較容易頭重腳輕,即非常努力思考進場邏輯的創意,卻容易遺忘尾盤出場的創意其實也影響甚大,因此本篇將介紹一個最基本的尾盤出場的方法作為系列的第一篇。

 

此方法基本上說穿了很簡單,就是當沖不要都只在1330前出場,也許常常會圖個方便而沒有使用這樣的做法,又或是使用當沖保證金的人受限於規定都必須於30分前平倉出場,然而J之後會簡單證明市場是殘酷的,越有錢的人或法人可能因為不會用到如此滿的保證金,策略也相對多元,因此多承擔幾分鐘的風險,確實也有其報酬可拿,以下將示範先從建立結算日期表作為FUNCTION,再於訊號中使用。

 

首先,先選擇新增功能函數的頁面。

 

尾盤出場策略1

 

再鍵入名稱,本例以END OF MONTH縮寫取名,讀者可自行依喜好設定,其他項目可不用調整。

 

尾盤出場策略2

 

將結算日期KEY入如下圖所示,每年做一次,但讀者千萬記得若碰到颱風休假調整日期,須要更改之前所預KEY的日期,才不會發生錯誤。

 

尾盤出場策略3

 

最後加上如下的判斷式,讓本FUNCTION可以在結算當天為1,非結算日為0。

(註: L補充,表列的方法是較完整的方式,另外結算日的判斷也可以寫函數,邏輯是(星期三) && (15號~21號) ,但延後結算日可能需要再稍微修改 )

 

尾盤出場策略4

 

J將先前撰寫的 通道突破原型進場策略 拿來作為測試的基準,首先使用固定時間於1325後出場的方式,程式碼如下。

 

尾盤出場策略5

 

績效如下圖,來回手續費共設定為800,自2005年回測至今,獲利55萬回檔約28萬,每筆交易平均賺319元。

 

尾盤出場策略6

 

尾盤出場策略7

 

現在我們將尾盤出場時間修改如下,在非結算日晚點出場,結算當天維持一樣25分出場。

 

尾盤出場策略8

 

其他參數與回測時間皆不變,績效如下圖所示。

 

尾盤出場策略9

 

尾盤出場策略10

 

可以發現獲利明顯增加35萬,MDD幾乎不太影響,平均每筆獲利增加了約200元,效果相當顯著。

 

這樣簡單的測試期望能提醒讀者,不要認為尾盤的出場幾分鐘沒甚麼差別,也許市場規則確實影響了交易的結果,不要怕麻煩,多花一點時間建立一個結算日期表,也許可以幫助大家多獲得一些報酬,然而本篇的測試相當的基本,實際上EOM還有許多用途,日後J將繼續介紹,讀者也可先行思考。

 

另外此種建立日期表的方式,也可用在交易海外事件上,透過J之前分享的 經濟數據 一文中,讀者可先尋找對市場有較大影響的事件公布日期,建立於FUNCTION中,即可回測,也許當日行情確實比其他日子更值得交易。

 

2013年6月27日 星期四

動能指標-ADX與Momentum

 

在 動能策略 中介紹了基本的momentum,這篇再紀錄常用的動能指標DMI及ADX。

 

引用 WIKI的解釋 來看,動向指數(Directional Movement Index,DMI),又稱動向指標、趨向指標,由美國威爾德(Welles Wilder JR.)提出的技術分析方法,「基本原理,是股價在上漲及下跌過程中,藉創新高價或新低價的動能,研判多空買賣力道,藉以尋求多空雙方力道的均衡點,以及股價在多空雙方互動下,波動的趨劫循環過程。」

 

計算的方法和步驟有兩點

一、計算方向指標(Directional Indicator,DI)

二、計算趨向指數(Directional Movement Index,DX)及「平均趨向指數」(Average Directional Movement Index,ADX)

 

以上都是從WIKI節錄下來的,更詳細的公式可以直接到wiki 研究。

 

DMI、ADX與momentum都是公開的公式,在Multicharts也都直接有內建的指標可以使用,只要瞭解這個指標的定義和用途,我們不需要去記錄公式和程式函數怎麼寫,想知道時都可以再查。

 

但怎麼應用到邏輯設計上就很有紀錄的價值了,動能指標是判斷趨勢用的,趨勢明顯時ADX高,沒趨勢時ADX低,那麼我們要在ADX高點追趨勢還是ADX低點佈局下一波趨勢? 這並不是單選,兩者都有理,看你習慣和偏好,以L自己的經驗來說也是兩者都有設計,不過除了ADX之外還可加其它的指標判斷,以這篇紀錄來說,ADX可以搭配momentum。

 

策略的設計紀錄如下。第一個當盤勢震盪已有一段時間,ADX會回落低點,尋找這個低點的門檻,判斷是適合進場的時機,再用momentum判斷方向,當兩者同時成立是進場建立部位。第二個當ADX已經高過門檻值,表示趨勢已發動一段時間,此時以momentum判斷方向,進場追隨趨勢。

 

程式的主體如下圖,

 

AdxMomCode

 

有幾個INPUT參數,意義如下,
adxLen: ADX所取用的長度
momLen: Momentum所取用的長度
aThi: ADX進場門檻(低)
aTho1: ADX進場門檻(高)
aTho2: ADX出場門檻(非常低)
mThh及mThl是用來判斷Momentum方向的門檻

 

部份進出的狀況如下圖,

 

2013年6月11日 星期二

週選擇權與2013波動變化

 

2013年的台股波動明顯縮小,每日的高低點差距相較以往更為壓縮,有一說法是週選擇權上市的影響,而這個影響確實嚴重的改變了當沖單的模式。當然,台股過去不是沒有一直被壓縮的時期,我們也不曉得這個變化會持續多久? 或是成為一個常態,若是一個常態,那我們也必須儘速調整去適應這個模式。

 

每日的高低差是顯示波動程度的一種類型,底下兩張圖整理了台指期及加權指數,在2013年(至6/5)及2012全年的高低差比較。

 

台指期高低差

 

加權指數高低差

 

由圖中可以看出2013年比2012年的每日高低差縮小了許多,而再分為週一至週五各別觀察,高低差下降最多的是週二及週三,尤其是加權指數週三的平均高低差僅剩下53.49點,以到目前的資料來說,週三的週選擇權結算似乎真的是有明顯影響。

 

既然市場有這種改變,我們當然也需要應變,第一是調整當沖邏輯,至少要多增加一種判斷波動的開關,如果波動就是這麼小,那應該別作突破單或增加小作逆勢單的機會。第二是這種變化適合新增什麼策略,週二週三比其它日子的波動更小,是不是代表著週二週三一起加入賣方的行列更適合? 那就是要來測試了。

 

回到前題,我們觀察到現象是波動縮小,這個變化可能是因為週選擇權,當然也可能不是,這需要分開來思考。

 

最近這半年的時間,假設沒有週選擇權這個商品,也可能是呈現波動縮小的現象,而這個現象背後的原因我們還不知道,但可以作的是對突破邏輯作更嚴密的進場設計,使得當沖突破單在這樣的環境下渡過Drawdown期,事實上在開發期間就應該考慮,因為過去十年的測試,總是會有這樣的期間,那當時突破單本來就不好,而我們上線時本來就該要有碰到Drawdown的預期。是的,繞了一圈,L想要特別紀錄的是,這本來就是在設計策略時該預期的,不是碰到時再找理由說邏輯不正確。如果策略運作還未到設定的停止條件,應該讓它繼續執行。我們可以再新增設計適合低波動的策略,而不是輕易就去停止原本的策略。

 

這裡是紀錄一個重要的操作心理,確定好自己的策略,瞭解它會在什麼行情會有什麼表現,在開始執行後,不要隨意去更改,通常去更改都是改到不好的。新增是比較適合的方式,不是直接去改掉主軸,就像是現在波動小適合逆勢、適合賣方,我們受不了突破單而放棄又跟著跳進去作賣方,但誰也說不準,或許下個月、下週、或是明天,波動就跑出來,那反而又受傷了。

 

 

2013年5月16日 星期四

逆勢策略 Counter-Trend Strategy

 

此篇介紹逆勢策略(Counter-Trend Strategy)

 

由investopedia可基本瞭解逆勢策略的定義

 

counterTrend

 

逆勢交易的目標是

  1. 在行情上漲時,在高點賣出。

  2. 在行情下跌時,在低點買進。

  3. 賺取小波動的小獲利。


 

因為市場總是存在小波動,所以逆勢策略有更多的機會交易,而反過來說,交易次數過多也是需注意的缺點,它必須付出更多的交易成本。相對於順勢或趨勢交易,它應有更高的勝率及更嚴謹的停損條件

 

以下紀錄常見的逆勢指標,L可以想到的分為五類

  • 價格指標型

  • 區間、通道、價格帶狀型

  • 技術指標型

  • K棒型態型

  • 長短區間相對價格型