2014年11月21日 星期五

選舉前一週與選擇權操作

 

下週就是選舉前一週了,之前有參加過分享會的朋友,如果有印象的話,可以參考事件前的選擇權操作法。

 

重點是選前一週long Vol,直到選前一天收盤前再short Vol,可以利用月選和週選價差來作這兩件事,策略的來龍去脈和操作細節在這邊就不多說了,這樣的操作法勝算頗高且風險有限,機會不多,這週好好計劃選擇權的策略吧~

 

若讀友有興趣想深入瞭解的,可以mail來詢問,不過為了分享會朋友的權益,套一句好話來說,知識是有價值的。 

 

MultiCharts APP 下單訊息通知

 

用APP接收委託和成交回報,對於時常在外的交易人來說,這個功能蠻不錯的,有空可以試看看。

 

連結設定的網址如下

 

http://www.multicharts.com.tw/dis/dis_Content.aspx?rd=1&D_ID=1&SN=29753

 

 

2014年11月11日 星期二

持續的學習

 

期貨交易筆記開站以來已經紀錄分享了百篇文章,對讀友應該有一些益處。近期事務繁多,文章產出明顯減少,但還是希望能慢慢增加內容。

 

而下一個100篇,除了原本主題的延伸之外,內容也越來越進階了,這也是紀錄這個網站的動力,強迫自己持續學習,學習,在這市場上保持競爭力。

 

另外,也請讀友保持討論及提供有興趣的主題,共同學習吧。

 

2014年10月16日 星期四

選擇權賣方最佳結算價

 

這篇要紀錄選擇權賣方最佳結算價的小工具設計,這個價格的意義是在參考整個選擇權市場上未平倉合約對於最可能結算位置的預測,簡單的說,就是結在哪裡會賺最多。

 

以L自己的習慣來說,參考最大未平倉合約的位置及最佳結算價位置是每日必看的一項指標,有參考性,但同時也要提醒,期交所資料都是收盤後才公布,當日有大行情變化時是跟不上的,另外,這也僅僅是從選擇權市場來看。所以,心態上將它當作較長期的變化,這樣的角度或許比較適當。

 

稍微介紹後就來實作吧,寫EXCEL VBA,期交所每日公布選擇權每日交易行情查詢,由Excel匯入外部資料的連結是http://www.taifex.com.tw/chinese/3/3_2_tbl.asp

 

然後我們需要的資料有合約別、履約價、買賣權、結算價、未平倉合約量,將這些貼到sheet2再來算,前置作業是把周和近遠月的合約分開,這點也順帶提醒,由不同月份合約的最佳結算價可以看出市場對於近遠月指數的預期,這點也蠻值得參考的。

 

主要公式就是模擬各結算價下,現在未平倉合約的總損益如何,所以各個履約價都算一次完後加總起來,計算原則很簡單,

  1. 若是call & 模擬結算價<履約價,獲利為市價*未平倉口數
  2. 若是call & 模擬結算價>履約價,損益為( (模擬結算價-履約價)+市價)*未平倉口數
  3. 若是put & 模擬結算價>履約價,獲利為市價*未平倉口數
  4. 若是put & 模擬結算價<履約價,損益為( (履約價-模擬結算價)+市價)*未平倉口數

 

最後把各履約價的損益加總起來計在模擬價旁邊,看在哪個模擬價位是獲利最大就得到了。這個東西也能再進階去探索,就是把未平倉的GREEKS全算出來,搭配期貨去看,那有機會再寫。

 

其他的部份都是處理資料和迴圈而已,有需要參考的讀友可以看看下面程式碼區,如果想進一步瞭解的話,或許也可以再詳細作一篇紀錄。

當然有錯的話,L不負責任,有心得或指教的話,歡迎留言討論。

 

Sub cal()

Sheet2.Range("A2:Z700").Clear

i = 6

While Sheet1.Cells(i, 1) <> ""

If Sheet2.Cells(2, 2) = "" Then
Sheet2.Cells(2, 2) = Sheet1.Cells(i, 2)
ElseIf Sheet2.Cells(3, 2) = "" And Sheet1.Cells(i, 2) <> Sheet2.Cells(2, 2) Then
Sheet2.Cells(3, 2) = Sheet1.Cells(i, 2)
ElseIf Sheet2.Cells(4, 2) = "" And Sheet2.Cells(3, 2) <> "" And Sheet1.Cells(i, 2) <> Sheet2.Cells(3, 2) Then
Sheet2.Cells(4, 2) = Sheet1.Cells(i, 2)
ElseIf Sheet2.Cells(5, 2) = "" And Sheet2.Cells(4, 2) <> "" And Sheet2.Cells(3, 2) <> "" And Sheet1.Cells(i, 2) <> Sheet2.Cells(4, 2) Then
Sheet2.Cells(5, 2) = Sheet1.Cells(i, 2)
End If

Sheet2.Cells(i + 2, 2) = Sheet1.Cells(i, 2)
Sheet2.Cells(i + 2, 3) = Sheet1.Cells(i, 3)
Sheet2.Cells(i + 2, 4) = Sheet1.Cells(i, 4)
Sheet2.Cells(i + 2, 5) = Sheet1.Cells(i, 13)
Sheet2.Cells(i + 2, 6) = Sheet1.Cells(i, 9)

i = i + 1
Wend



i = 8

While Sheet2.Cells(i, 2) <> ""

If Sheet2.Cells(i, 2) = Sheet2.Cells(2, 2) Then
If Sheet2.Cells(i, 4) = "Call" And Sheet2.Cells(i, 5) > Sheet2.Cells(2, 4) Then
Sheet2.Cells(2, 4) = Sheet2.Cells(i, 5)
Sheet2.Cells(2, 3) = Sheet2.Cells(i, 3)
End If
If Sheet2.Cells(i, 4) = "Put" And Sheet2.Cells(i, 5) > Sheet2.Cells(2, 6) Then
Sheet2.Cells(2, 6) = Sheet2.Cells(i, 5)
Sheet2.Cells(2, 5) = Sheet2.Cells(i, 3)
End If
End If

If Sheet2.Cells(i, 2) = Sheet2.Cells(3, 2) Then
If Sheet2.Cells(i, 4) = "Call" And Sheet2.Cells(i, 5) > Sheet2.Cells(3, 4) Then
Sheet2.Cells(3, 4) = Sheet2.Cells(i, 5)
Sheet2.Cells(3, 3) = Sheet2.Cells(i, 3)
End If
If Sheet2.Cells(i, 4) = "Put" And Sheet2.Cells(i, 5) > Sheet2.Cells(3, 6) Then
Sheet2.Cells(3, 6) = Sheet2.Cells(i, 5)
Sheet2.Cells(3, 5) = Sheet2.Cells(i, 3)
End If
End If

If Sheet2.Cells(i, 2) = Sheet2.Cells(4, 2) Then
If Sheet2.Cells(i, 4) = "Call" And Sheet2.Cells(i, 5) > Sheet2.Cells(4, 4) Then
Sheet2.Cells(4, 4) = Sheet2.Cells(i, 5)
Sheet2.Cells(4, 3) = Sheet2.Cells(i, 3)
End If
If Sheet2.Cells(i, 4) = "Put" And Sheet2.Cells(i, 5) > Sheet2.Cells(4, 6) Then
Sheet2.Cells(4, 6) = Sheet2.Cells(i, 5)
Sheet2.Cells(4, 5) = Sheet2.Cells(i, 3)
End If
End If

If Sheet2.Cells(i, 2) = Sheet2.Cells(5, 2) Then
If Sheet2.Cells(i, 4) = "Call" And Sheet2.Cells(i, 5) > Sheet2.Cells(5, 4) Then
Sheet2.Cells(5, 4) = Sheet2.Cells(i, 5)
Sheet2.Cells(5, 3) = Sheet2.Cells(i, 3)
End If
If Sheet2.Cells(i, 4) = "Put" And Sheet2.Cells(i, 5) > Sheet2.Cells(5, 6) Then
Sheet2.Cells(5, 6) = Sheet2.Cells(i, 5)
Sheet2.Cells(5, 5) = Sheet2.Cells(i, 3)
End If
End If


i = i + 1
Wend


Sheet2.Cells(7, 9) = Sheet2.Cells(2, 2)
Sheet2.Cells(7, 10) = Sheet2.Cells(3, 2)
Sheet2.Cells(7, 11) = Sheet2.Cells(4, 2)
Sheet2.Cells(7, 12) = Sheet2.Cells(5, 2)

i = Sheet2.Cells(1, 10)
j = 8

While i < Sheet2.Cells(1, 11)

Sheet2.Cells(j, 8) = i


j = j + 1
i = i + 5
Wend








j = 8

While Sheet2.Cells(j, 8) <> ""

settle = Sheet2.Cells(j, 8)


i = 8

While Sheet2.Cells(i, 2) <> ""

If Sheet2.Cells(i, 4) = "Call" And Sheet2.Cells(i, 6) <> "-" Then
If settle > Sheet2.Cells(i, 3) Then Sheet2.Cells(i, 7) = (Sheet2.Cells(i, 6) - (settle - Sheet2.Cells(i, 3))) * Sheet2.Cells(i, 5)
If settle <= Sheet2.Cells(i, 3) Then Sheet2.Cells(i, 7) = Sheet2.Cells(i, 6) * Sheet2.Cells(i, 5)
End If

If Sheet2.Cells(i, 4) = "Put" And Sheet2.Cells(i, 6) <> "-" Then
If settle >= Sheet2.Cells(i, 3) Then Sheet2.Cells(i, 7) = Sheet2.Cells(i, 6) * Sheet2.Cells(i, 5)
If settle < Sheet2.Cells(i, 3) Then Sheet2.Cells(i, 7) = (Sheet2.Cells(i, 6) - (Sheet2.Cells(i, 3) - settle)) * Sheet2.Cells(i, 5)
End If

If Sheet2.Cells(i, 2) = Sheet2.Cells(7, 9) Then
Sheet2.Cells(j, 9) = Sheet2.Cells(j, 9) + Sheet2.Cells(i, 7)
ElseIf Sheet2.Cells(i, 2) = Sheet2.Cells(7, 10) Then
Sheet2.Cells(j, 10) = Sheet2.Cells(j, 10) + Sheet2.Cells(i, 7)
ElseIf Sheet2.Cells(i, 2) = Sheet2.Cells(7, 11) Then
Sheet2.Cells(j, 11) = Sheet2.Cells(j, 11) + Sheet2.Cells(i, 7)
ElseIf Sheet2.Cells(i, 2) = Sheet2.Cells(7, 12) Then
Sheet2.Cells(j, 12) = Sheet2.Cells(j, 12) + Sheet2.Cells(i, 7)
End If

i = i + 1
Wend

j = j + 1
Wend


Sheet2.Cells(6, 9) = Application.WorksheetFunction.Max(Sheet2.Range("I8:I360"))
Sheet2.Cells(6, 10) = Application.WorksheetFunction.Max(Sheet2.Range("J8:J360"))
Sheet2.Cells(6, 11) = Application.WorksheetFunction.Max(Sheet2.Range("K8:K360"))
Sheet2.Cells(6, 12) = Application.WorksheetFunction.Max(Sheet2.Range("L8:L360"))




i = 8

While Sheet2.Cells(i, 8) <> ""

If Sheet2.Cells(i, 9) = Sheet2.Cells(6, 9) Then Sheet2.Cells(2, 7) = Sheet2.Cells(i, 8)
If Sheet2.Cells(i, 10) = Sheet2.Cells(6, 10) Then Sheet2.Cells(3, 7) = Sheet2.Cells(i, 8)
If Sheet2.Cells(i, 11) = Sheet2.Cells(6, 11) Then Sheet2.Cells(4, 7) = Sheet2.Cells(i, 8)
If Sheet2.Cells(i, 12) = Sheet2.Cells(6, 12) Then Sheet2.Cells(5, 7) = Sheet2.Cells(i, 8)

i = i + 1
Wend



i = 1
While Sheet3.Cells(i, 1) <> ""

i = i + 1
Wend

Sheet3.Cells(i, 1) = Sheet1.Cells(2, 1)
Sheet3.Cells(i, 3) = Sheet2.Cells(2, 7)



End Sub

 

 

2014年9月26日 星期五

Flash Boys 快閃大對決

 

Flash Boys

 

這本書之前就已經聽過它的大名,是亞馬遜的暢銷書,現在有中譯本讀起來就輕鬆多了。

 

很有趣,值得看,內容講述美國高頻交易的運作,券商和交易所之間的關係,雖然和台灣制度完全不同,對於作台股交易是沒有什麼作用,但那些速度的競爭與原由看了真是讓人長見識。

 

轉貼一下書籍介紹及博客來網頁, Flash Boys 快閃大對決

 




 

美國有多少個股票交易所? 你很可能以為,只有兩家:紐約證交所、那斯達克。錯! 從二○○八年以來,這兩大交易所的壟斷早已被打破。今天,美國股市共有……13個公開交易所! 其中大多數未經台灣媒體報導,因此你聽也沒聽過,例如:BATS、Direct Edge等,很陌生吧?

 

不僅如此。這些「公開」交易所之外,幾乎每家大券商都有屬於自己的「私人」交易平台,俗稱「暗池」(dark pool)。而光是暗池,就有四十個以上。

 

這本書,就揭發了發生在證券交易所、暗池裡,一個媒體從未發現、但任何投資者聽來都匪夷所思的真實故事: 原來,報紙上的美股行情,都不是真的! 原來,紐約證交所的主機不在紐約,而是在一個鳥不拉屎的小鎮上,為什麼? 原來,有一群神秘玩家,暗中操控著全球最大股市,影響著包括台灣在內的全球市場!

 

然後,有一群年輕人---在金融圈打滾的科技人---終於發現了這個秘密,並且決定與這群神秘玩家宣戰! 就像電影「瞞天過海」,他們一個一個離開自己的工作,組成一個新團隊──Michael Lewis 稱他們為「快閃小子」(Flash Boys)。這本書講的,就是快閃小子與神祕玩家們,所展開這場精采大對決……

 

誰買走了你的股票?相信我,你一定不知道! ~Michael Lewis

 

 

2014年9月14日 星期日

程式交易與選擇權避險

 

大部份的程式交易都是趨勢型,有波段行情發生時能夠大賺,但是區間震盪的行情則會不斷的虧損,而在虧損時期要怎麼應對是這篇的主題。

 

遇到虧損時最容易想東想西,而最不該作的事最常去作,就是自己動手去調程式部位,這通常都沒什麼好結果,作程式的人,要謹記在心,程式部位是神聖不可侵犯的,有什麼問題,盤後再修改測試,別在盤中手癢。

 

而這個修改測試要怎麼作,是否必要改,就要好好想了,因為虧損是正常的,當虧損是在預期的範圍內,那不該改,若很想改,或許該改的是自己的心態,是不是不夠瞭解程式和它的表現狀況。

 

確定改要怎麼作,我們希望可以在震盪時降低虧損,首先是很常參考的逆勢單策略,把逆勢單加入投資組合裡,佔有小部份的比例,目標是讓整體組合在區間震盪時少輸一點,當然在大賺時應該也會少贏一點點,達到較平穩的目的。

 

但是逆勢單要寫的好並不簡單,光是要在長期的回測能夠獲利就是一個挑戰,於是標準不能看太高,別賠就好,只要不賺不賠,就能夠對整體策略組合有幫助,能夠降低drawdown。

 

而效果比逆勢單好的是利用選擇權避險,一個區間,假設就陣子的9200~9600,不停洗刷時,趨勢單虧損哭哭,逆勢單也不一定能獲利,但是選擇權有策略可以降低損失。當然選擇權也不是簡單的東西,而且回測也不容易,L想要紀錄的是實際應用的一些想法。

 

前提是很重要的,程式單為主,選擇權避險為輔。

目標是很重要的,程式單輸錢時,選擇權加進去可以少輸一點,反之,程式單贏錢時,選擇權會小賠或沒賺賠。

 

如此強調的原因是,選擇權本身就有很多策略,但把它當作獲利主軸和當作避險角色時,兩者想法是不同的概念。在這邊,需要專注在我們的前提和目標。

 

以下,都是針對台指市場的交易為例。首先,要確認時機,要利用選擇權避險的時機是特定的還是長駐的? 沒有標準方案,視程式交易特性,如果是有長波段單,或許長駐搭配會適合,若大部份是短單或經常無單,或許特定時間或極短期較好。

 

再來就看選擇權避險方式,就以這段期間9200~9600上下洗刷的區間為例,假如程式單是在9300點跌破時翻空的情況下,避險方式主要有下面幾種,我們就來看看如何搭配以及優缺點。

 

  1. Buy call

  2. Sell put

  3. Buy call + Buy put

  4. Sell call + Sell put


 

第一種,Buy call 可以擋住急拉時的風險,但是經常會歸零,如果是手動作避險的人,好處是不用去理它,不需要擔心太多,因為風險可以完全鎖住。要不要再作成多頭價差,上面再sell call? L是覺得有點多餘,因為我們目標是避險,上面再多作一個就沒辦法完全鎖住。強調again,經常歸零,買便宜的效果差,買貴的又很花成本,這是另一個要深入的主題。

 

第二種,Sell put可以增加收入,持有空單再去sell put就是等於sell call,只是履約價較低的sell call,我們程式單原本最大的利基就是能大賺一波,行情走越久我們就抱越久賺越多,但是加了sell put之後,作對的時候會少賺很多,作錯的時候也只是增加一點收入。

 

為什麼說是一點呢? 因為一般情況下,如果行情馬上反轉,空單被軋,以9300空單被軋到9400或9500時幾乎就停損翻多了,那這個sell put在翻多時也要出場了,這樣避險能賺多少? 當然,這勝率是高的,只是賺賠比需要多加考慮,也要思考自己的程式單是否適合,以單純sell方來說,L的經驗是拿到”加碼”的應用比較好一點。就是空單時想加碼,就同時作sell call,這是另一個要深入的主題,(這句好像重覆再用,為以後鋪梗)。

 

以上兩種是單腳,與程式單配合,如果程式單反轉時,這個選擇權部位也需要反轉,後兩種則不一定,而且很有趣。

 

第三第四種,雙buy和雙sell,先想想本質的差異,delta我們確定是要偏正的(初始時),因為是要拿來作期貨空單的避險,而雙buy是long gamma付theta,雙sell 是short gamma 收theta,也就是說,我們需要先確定想要和時間或趨勢作朋友?想不出來的話,不如反著想,不想要和時間或趨勢的哪個作敵人?

 

當你很害怕程式單被跳來跳去的行情巴的亂七八糟,早上急拉衝高讓空單停損翻多,午盤又下跌又翻空,抱著空單收盤後又看到美股一直漲,覺得明天起床又要面對虧損,這樣的情況下,你害怕的是波動劇烈,肯定作雙buy是好選擇,但不是雙buy了就沒事不管它,可以不管,但要想想,如果9300的期貨空單,搭配我們依區間9200~9600的想法,去buy 9600 call及buy 9200 put,後續要怎麼進出,需要考量一點,你認為9200或9600會不會破?

 

如果會,就不要管它,但是如果沒破,洗來洗去又回到9300,那完全沒避到險還多輸雙buy權利金,怎麼辦? 如果覺得不會破,但是洗刷又很劇烈,雙buy無誤,但是要管要調,當行情從9300漲到9400時,因為雙buy是long gamma,所以delta會從假設中立到偏多,這樣我們就再把它中立,就是空期貨。空了之後,行情真的又洗回9300,delta又會偏空,那再中立,就是買期貨,以此要訣反之亦然,洗的越快越嚴重,賺的越多,重點是,真的破了9600或9200,也不會輸。

 

另一方面,假如行情就是不太動,好長一段時間都是在9200~9600了,程式單賺不到錢,偶爾輸輸,也不是很痛,或許就適合與時間當朋友,雙sell收theta。這在台股是特別有利,因為我們的官股行庫都是排球隊的,指數跳上去就往下殺球,指數掉下去就撲去救球,區間操作超級明顯,而且作的還真厲害。我們若作雙sell時,官股行庫是很強的隊友,就假設sell 9200 put 和sell 9600 call,或者是從最大未平倉的合約來選履約價也好,如果這個區間一直沒走出去,這個雙sell就能帶來一些獲利。

 

以上四種選擇權避險方式只是大致介紹,實際上行情的路徑、波動程度、時間的拿捏、履約價選擇,都是重要因素,這些是另外好幾個要深入的主題。

 

2014年9月4日 星期四

20140903市場動態觀察

 

做了這麼久的台指,越覺得選擇權賣方是很重要的策略,如果交易的主力是在台指上,想要穩定的獲利是很需要賣方策略搭配的,看看我們的走勢吧。

 

tai

 

同期間,看看dax的走勢,低點從8900反彈到9600,而前一波是從萬點下去的,這作波段期貨利潤風險都高。

 

dax

相比之下,台指的波動真是小多了,另外值得再提的是,我們的官股行庫,老是逢高就賣,逢低就買,這種區間操作還真厲害,作的都蠻準的。

 

官股

圖片引用自群益期貨研究部。

 

既然我們台股是這樣的屬性,作賣方策略就有利些,也值得再深入研究策略。

 

L目前正在研讀高頻交易,一邊寫程式,網站久久才更新一次,有心得再繼續分享囉,若讀友有什麼想法或有興趣的主題,歡迎留言討論。

 

2014年8月22日 星期五

時代交易團隊誠徵 培訓全職操盤手

 

各位關注我們網站的朋友好久不見,我是 J,這半年因為轉換工作到一個新的團隊,所以忙於學習與組織,而沒再繼續分享新文章,先跟大家說聲抱歉。

 

        今天我要分享的不是交易想法,而是一個讓交易者更成長的培訓機會,我所在的時代交易團隊將開始公開招募有志成為全職操盤手的期權交易者,以下我將轉貼我們團隊負責人翁峻傑先生給大家的公開招募資訊,相信有了各位熱愛交易的朋友加入,能讓我們成為最具競爭力的交易團隊,一起分享市場的獲利果實。

 


 

        各位熱愛交易的朋友你們好,我是時代交易團隊的負責人翁峻傑,首先自我介紹一下,十幾年來在期貨與選擇權的交易上我一直都是贏家,而我認為其中的關鍵是穩定的個性,以及能否跟上市場與主力操作的變化。

 

        第一次在比賽中嶄露頭角是在2005年,我以「期子王」的名稱參加年代電視臺的「期權盟主爭霸賽」,在三個月的比賽中獲得1次單月冠軍,整個爭霸賽季軍。同年寶來曼氏期貨舉辦了「天下第一期權王」,是個為期九個月的比賽,得到年度總冠軍。最後在2006年受邀擔任寶來曼氏期貨的巡迴講師,巡迴結束後為了專注於自己的交易,即不再參加任何活動或接受對外訪問,全心投入各市場交易。

 

        其後我在自家的交易室中,早上同時操作日經期貨、台指期貨與選擇權、恒生期貨,下午則是作摩根電子盤、歐洲以及美盤期貨,儘管同時操作多種商品,獲利仍能大幅成長且持續。整天交易雖然忙碌,不過我仍樂此不疲,因為交易一直是我最大的興趣。

 

        十幾年下來累積了不少財富,但當交易的人生到了另一個階段,我所追求的不再只是交易中獲利,而是更能平衡的顧及周遭的人事物,因此在去年年底,有了薪傳的念頭,想要培養新人,並以團隊互相成長分享的角度經營,到了今年開始有了成果,促使我想要培育更多優秀的操盤手。

 

        目前我們團隊以主觀交易為主線,由我本人負責培訓,經過一年的調整,最近團隊也開始加入了作程式交易的操盤手。在交易商品方面,近期看到國內期貨商越來越積極於海外期貨市場的推廣,讓我們有了更多方便的交易機會與商品選擇,因此即便以台指、個股期、選擇權為主外,也將因應各操盤手的個性與特質,從事海外期貨的交易。

 

        在網路上我相信有許多對期貨交易相當積極的朋友,若您渴望成為全職期貨操盤手,歡迎大家將自己的自我介紹或履歷寄至下面信箱,我們將私下各別通知面談與否,相信如果有積極的心,您也能夠在峻傑的交易經驗分享與培訓中得到大幅成長,成為我們交易團隊的操盤手。

 

相關報導與文章

http://www.pmf.com.tw/winnerclub/intro1.htm

 

來信信箱:

gtime88899@gmail.com

 

重要注意事項:

  1. 培訓對象:一直持續在交易期貨,並對其有強烈積極的熱愛(需大學畢業,有工作經驗者佳)。
  2. 培訓費用:一顆積極與誠摯的心(無價)。
  3. 全職操手報酬:市場會給你應得的報酬。

 

2014年8月7日 星期四

台指觀察20140806

 

台指

台指跌破季線的長黑K是程式交易的福音,一根就足夠填滿七月中以後盤整洗刷的損失,還有多賺。程式單這部份毫無疑問的持續偏空,但是主觀看法的選擇權策略部份就需要多考慮了。

 

美股VIX

 

先前觀察有提到兩個重點,現在再來檢視一下,第一,美股的VIX上升至約17%,S&P一樣是跌破季線的位置,這是偏空的因素。第二,大額交易人的選擇權部位,這仍然不像是看大跌的佈局,如下圖。

 

OP

 

紅色圈圈的BC+SP仍然大大於綠色圈圈的BP+SC,這個指標已經非常久都是偏多顯示了,尤其是SP部份的口數一直都很大,儘管昨日大跌破季線,仍然沒有改變這個比例。

 

以這項十大選擇權的佈局來看,比較合理的推測是下檔很有撐,要再看到連續大跌的機會很小,但是另一方面,要大漲也很困難,或許以目前八月合約最大未平倉的履約價(8900P & 9400/9600C)來作賣方是合適的選擇。如此一來,若是就此反彈,可以多少降低一點程式空單被軋軋的損失,而若是直接殺到8900,那程式單就賺翻了,不過還是要特別注意這賣方的比例須多多斟酌,程式單才是主角。

 

以上觀察,不負責任,適用期間僅一天,因為每天都在變。

最近事務不少,偶爾還是要PO個文,不然讀友都離棄了。

 

2014年7月18日 星期五

指數分配與選擇權價差策略

 

W

延續幣圖誌上,牧大的分享 期貨報酬率 v.s. 對數常態分配? (R實務篇) 此篇,

我們瞭解市場漲跌的分配是尖頭肥尾的,白話文也就是沒啥漲跌的日子非常多,很大漲跌的日子也比想像多。

 

而依據這樣的特性,在選擇權市場的交易上,我們很自然的想到,雙SELL價平的選擇權賺取低波動的日子,再雙BUY兩倍價外兩檔或再遠的履約價來賺取大波動的日子,這樣組合的價差交易實質是買方部位,風險有限,獲利無限,而且收的權利金還會比買方花費的權利金多。

 

損益如上圖顯示,沒啥波動的中間區域是獲利的,向兩邊越遠的獲利也越大,會虧損的區域僅在兩邊小漲小跌的部份,很符合前篇市場漲跌的分配的觀察結果,所以若拿來操作,應該是很好的策略………吧?

 

這樣的策略能不能獲利?  L認為”應該不會”。

 

說”應該”的原因是沒有去完整回測過,若要作回測,方式是模擬每日收盤前,將前日部位平倉,然後價平CALL和PUT各賣出一口,價外二或三檔的CALL和PUT各買進兩口,這個履約價的選擇差別就像上圖一樣會是不同的”W”,日復一日這樣測試得結果。

 

可想而知這樣作的交易費用是很高的,每日一單位的操作就要新倉賣兩口買四口,平倉買兩口賣四口,或許,以週的頻率來作一次會好很多,而且週的指數報酬率分配,”應該”也類似日的分配一樣是尖頭肥尾。以下我們先排除掉交易成本的影響,單看這個策略是否有獲利能力。

 

說”不會”的原因是選擇權市場本來就是這樣的分配,我們從買賣兩方獨立出來看,作買方的人買兩邊價外的CALL或PUT,權利金的價格低,若有大行情的出現會獲利數倍的可能,就像前篇20倍速的選擇權提到的一樣。而不論是主動投機或作避險,對買方來說,價外的履約價遠比價內的履約價更有需求,很自然的,越多人想買,這些價外的選擇權就會被買起來變貴比價平價內的貴,要注意的是,這些價外的選擇權價格是低的,但是比較貴

 

另一邊,作賣方策略會怎麼選擇履約價? 這因素很多,如果我們先簡化要以時間價值最大的因素作為第一考量,那價平的時間價值是最多的,價內外兩三檔的時間價值就有點少,再更價內外三四檔以上的履約價已經沒什麼時間價值,賣深價內外的只能收一點點權利金,所以從時間價值這個因素來看,價平的履約價是最適合賣方的,也因此,越多人想賣,這個價平履約價的權利金就會被越賣越便宜,要注意的是,價平選擇權價格是比價外高的,但是比較便宜

 

以上所說的貴和便宜,其實就是隱含波動率的差別,只是L想用白話一點的方式來紀錄這些差別,簡單的說,價平履約價的隱含波動率會比較低(便宜),越往價外履約價的隱含波動率會比較高(貴),如果把所有履約價的隱含波動率排列,就是波動率微笑曲線了,如下圖。

 

SMILE

 

波動率微笑曲線有一些應用,例如右方越高,可能表示市場越貪婪,左方越高,可能表示市場越恐懼,又或者微笑並不是很好看,部份平部份斜,關於波動率微笑曲線GOOGLE一下可以查到很多資料,上一段以買賣方角度來解釋波動率微笑的成因只是其中一種說法,還有一些解釋可以再找資料研讀,這邊先回到開始的問題,那價差策略到底可不可行。

 

由前面的說明可以瞭解,這個策略是去賣比較便宜的價平選擇權,然後又去買比較貴的價外選擇權,市場上本來就是這樣的傾向了,所有選擇權市價都是當下的均衡點,當我們這個策略作進去市場後,能夠獲利只有兩種可能,第一,未來的波動比現況波動的預期更低,也就是尖頭更尖,我們策略的賣方可以獲利。第二,未來的波動比現況波動的預期更大,也就是肥尾更肥,那我們策略的買方可以獲利。

 

那所以到底能不能獲利? 不一定,除非我們能預期以上兩種可能會出現再作吧,如果像傻瓜投資法一樣一直作下去,L會預期這長期的表現是沒賺沒賠,但會一直付出交易費用,是不是如此,或許哪天心血來潮再作測試了。

 

FXB

《本文與 Bituzi 同步刊登》

 

2014年7月11日 星期五

學習交易選擇權

think

選擇權市場是個很吸引人的地方,每個人多少都會聽過一些大賺的故事,也相信著獲利的時刻終會降臨到自己身上,於是一直努力著,在這個市場裡,似乎永遠都有機會和方法獲利,而且有許多獲利方法是股票或期貨的交易者無法觸及的。

 

但是,贏家不多,能夠持續穩定獲利的交易者真的不多,L有幸認識幾位選擇權交易的高手,時常交換想法,其中有一些觀念可以和讀友分享,關於學習交易選擇權。

 

記得選擇權是怎麼開始接觸的嗎? 大部份人第一印象可能是來自教科書、可能是書名很厲害的交易書籍、可能是某篇贏家的採訪文章、或是某網站的選擇權操盤分享,不論是哪一種,我們得到的關於選擇權交易知識,都只是一個片段,所以為了要加強能力,認真的交易者會開始收集各種片段,慢慢的拼湊,這有哪些片段呢? 由淺至深舉例如下

 

選擇權基礎部份

  1. 瞭解商品規格、交易制度及交易費用

  2. 理論價格評價,Black–Scholes option pricing model

  3. 選擇權風險評估 (Delta、Gamma、Vega、Theta、Rho)

  4. 價格波動率,(歷史波動率、隱含波動率)


 

價差交易部份

  1. 垂直價差、比例價差

  2. 跨式、勒式部位

  3. 蝴蝶價差、禿鷹價差

  4. 時間價差,近遠月

  5. 與期貨組合部位


 

套利及避險部份

  1. 合成部位

  2. 套利原理及機會分析

  3. 轉換與反轉換

  4. 保護性的call和put

  5. 市場間的價差交易


 

策略設計與測試部份

  1. 台指選測試

  2. 長短期選擇權策略

  3. 選擇權應用期貨訊號

  4. 歷史買方賣方勝率與盈虧比紀錄

  5. 選擇權在期貨投資組合中的應用

  6. 選擇權市場籌碼分析


 

操作系統部份

  1. 風險評價程式實作

  2. 下單系統實作


 

以上,有點像是目錄,每一個主題都是需要花費許多時間和精神去研究的,前面基礎的部份找找書籍或網站資料都可取得,而進階一點的部份可能要自己整理研究或找論文來參考看看。而學習以上的東西之後,大概就能對選擇權運用有所瞭解,只是事情沒那麼簡單,甚至可以說那些都是基本功而已,無法掌握策略獲利,這情況就像是價差交易搞的再懂再熟,不知道什麼時候該用該出也是枉然。

 

所以準確地說,以上所提到的內容都只是技術性的知識。它們都很重要,熟悉各項策略及特性可以讓我們有更多機會在市場生存與發展,但是真正能夠操作選擇權獲利的主因是對市場的觀察力及思考力。困難的是,書本沒教,也不太有人會專門說這些,最主要的學習來源可能就是交易經驗。

 

說觀察力及思考力有點抽象,這指的是對市場的觀察及對後勢的思考並配置部位。我們知道現在選擇權市場價格是非常有效率的,若有一丁點的套利機會是馬上被法人啃掉,一般投資人不容易參與這塊,但是在法人積極造市下的好處是讓流動性高,可以輕鬆計算目前的波動率水準,方便觀察。而觀察,就是以方向、波動和時間三個角度去觀察市場,思考,則是建立在現有的觀察上,預期未來對方向、波動和時間三個角度的看法。有了對後勢的看法,再來運用前述某項策略來進行交易。

 

能思考對未來價位的方向、波動率的方向或是時間的掌握嗎?

 

舉例來說,選舉,是一個可預期的事件,是有機會對指數造成重大影響的事件,人人都知道波動率應該會上升,而有思考力的交易者會提前就佈局作多波動率,例如作跨式買方,但他也研判選舉一結束後波動率會立刻下降,所以在跨式買方已經獲利的選前最後一個交易的最後一小時,他又進場作遠月的跨式賣方,(補充說明選擇權遠月合約的VEGA比近月大),而且他作了選後的價格預期,在大漲、大跌、小漲、小跌中將最不可能的小跌作了額外賣方布置,其餘加作買方,然後選後開盤時再次進場作空波動率。這是真實的故事,結果行情發展確實照這樣的劇本走,這樣的思考和判斷能力當然讓他比一般人更有競爭力。

 

除了事件之外,平時也有一些因素可以觀察並思考方向和波動率的走向,在這邊可能不行再說更多了,總之,保持思考方向、波動和時間三個角度去觀察市場,預期在現有水準下是否會上升或下降,進場後部位的各種情境分析,及在各種情境的對應處理,以上,是學習交易選擇權的小建議。

 

 

FXB

《本文與 Bituzi 同步刊登》

 

 

 

2014年7月4日 星期五

20倍速的週選擇權

 

週選擇權翻20倍

 

近期台指盤勢的波動有些放大,前次結算和這幾日的強漲行情都可以看到有選擇權在一兩個交易日中就可以翻了幾十倍,如同上圖,5點的CALL在兩個交易日翻成100點。

 

不過,看的到要怎麼吃的到呢? 本篇要紀錄的是週選擇權的一些特性和應用,還有策略執行的心得。

 

先專注在”倍數”這個特性上來思考,如果我們想要賺很多倍,那第一條件是成本點數要很小,才有機會到一兩百點時能賺幾十倍,第二條件是要對標的很敏感,才有機會在盤勢對邊時快速的增值。會符合這兩個條件的商品就是快到期的選擇權,因為存續期間短,時間價值剩不多,偏價外的履約價成本小,同時有很高的敏感度,行情發生時能快速變成價內等同期貨。

 

所以我們針對週選擇權的GREEKS來觀察並應用,要怎麼掌握價格變化需要理解THETA和GAMMA,這兩個因素就是前述兩個條件的觀察點。在快要到期時,選擇權的THETA和GAMMA都是大的,(THETA大表示時間價值掉的快,而不是時間價值本身的點數大)這兩個GREEKS是反向的,之前已有紀錄過選擇權入市先決定要站哪一邊,與時間同邊還是要與趨勢同邊,這篇先跳過這部份,我們著重買方倍數的策略,也就是付一點權利金,付一點THETA,來買一個噴出,來買一個正GAMMA。

 

既然會有這麼高的賺賠比,當然勝率也是非常低的,勝率低的原因是要很準,方向要對、時間要快、幅度要夠,缺一不可

 

方向錯就不用說了,而且錯的離譜也是好事,因為也只會損失一點點。時間要快就是要拿捏的夠準,也必須要知道如果多久時間沒發動時會損失的THETA值,當然若有心理準備全賠的話就不用算那麼細了。幅度要夠,因為買一點點的權利金肯定是價外一兩檔之外的履約價,如果衝不到那麼遠,權利金一樣是雙手奉上。

 

接著是考慮操作的計劃,買進5點的選擇權,衝到100點的過程,你抱的住嗎? 大多數人都是會出場停利的,鮮少有人能夠抱的住一大波,當然不是說抱牢牢一定好,要談出場方式需要回頭想想這個策略評估。原本,估計是賺10倍以上,勝率不到1成,但若會先出場停利,表示勝率會提高,也許兩三成,但同時賺賠比也只剩下三四倍,哪種好? 可能要從凱利公式來檢視這兩種出場策略的數值再來判斷,前提是,操作是有紀律的。

 

而實際上操作的經驗,L是有小小建議,如果買進真的噴出,不要出場,要抱到底!!! 就當作忘了這個部位,會結算多少就是多少。原因是大部份情況,出場又會想買回,但會買不回來,同時進進出出又造成額外費用,也沒那麼準也可以短線都作對(真那麼準不如作短線就好了),反而賺的不如緊抱的多。

 

近期盤勢波動放大,從買方角度來想,我們追求便宜的選擇權能倍數獲利,但賣方當然也不是傻瓜,這種狀況多了,很自然的VOL也會增加,波動率增加後的選擇權就沒那麼便宜了。

 

 

FXB

《本文與 Bituzi 同步刊登》

 

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月13日 星期五

無人知是荔枝來

 

荔枝
一騎紅塵妃子笑,無人知是荔枝來

差官快馬加鞭趕到長安,大家都以為是有重要的軍情機密,而楊貴妃卻笑了,她知道其它人不知道的事,這是荔枝來了。

 

荔枝在六七月份是盛產期,圓潤多汁,味香甘甜,初夏品嚐一下荔枝也是一種小確幸,感覺真是好。不過在期貨交易筆記裡要紀錄的是交易,在這段期間裡,市場有一天會送荔枝,知道的人會笑,其它人不知道發生什麼事。

 

日期是六月最後一個交易日,台股在近三年的這個日子表現都很好。還記得2013年6月28日發生了什麼事嗎? 尾盤急拉了近百點,事後的解讀大都指向這是作帳行情,確實是很有可能,不論基金、自營、公司派等等,六月底就要作一次績效結算上半年的損益,能漂亮點當然是更好,所以尾盤一口氣就大家一起拱上去。

 

L不是經理人,也沒想要談股票,我們的目標是指數,在這樣的一個日子會有這樣的現象,當然我們也要特別注意,過去已有發生過,今年還是可能會再發生。不過知道了作帳行情要怎麼利用,就是各自發揮了,或許作短線股票、或許作期貨極短當沖之類的。

 

這不是一個交易方法,頂多算是市場的觀察,如果讀友有所準備,而當天也出現這樣的盤勢,那就好好把握機會,吃一下荔枝吧。

 

 

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年5月4日 星期日

20140524程式交易同好交流

 

期貨交易筆記開站一年了,近期事務很多,利用一點一點的空閒時間來作紀錄,所以文章產生的速度很慢。

 

以一年的時間來看,作這個網站還是蠻好的,有把一些想法紀錄下來,也有達到對自我要求,持續交易與研究熱情的目的,而且最近才發現,這個小小網站是有讀者默默關心及共同學習的,最近也會有一次交流的機會。

 

接受交易同好的邀約,請 L 作個 talk,不過說開課實在是不敢當,內容就是期權交易策略的分享,除了整理比過往文章更核心的內容,還有尚未分享的策略介紹及結合實務的交易經驗,希望不會讓這群交易同好的夥伴失望。

 

這次交流的主題定位在期權策略的設計邏輯和評估,目標是分享不同邏輯的策略設計,以便架構出較平衡的投資組合。內容不說明MC或TS的操作或語法,所以希望參與者需要有程式交易編寫以及實際交易的經驗,另外對於選擇權的基本風險參數也要有些瞭解。

 

內容大綱如下

 

交易策略評估 

順勢策略設計

  • 波段單類型 - 非多即空與特定波段

  • 趨勢追隨類型 - 均線策略、突破策略

  • Momentum 市場動能

  • 以選擇權賣方替代

  • 交易心理準備(連續虧損次數)與交易計劃的建立


逆勢策略思考

  • Counter-Trend Strategy

  • HighShort & LowBuy

  • Bollinger Band

  • 著重獲利風險比及Kelly formula

  • 賣方特性


策略組合避險與選擇權應用

  • 分散邏輯、分散商品、分散市場,降低MDD,折減比

  • 程式訊號以選擇權操作


選擇權策略

  • 台指選擇權結算買賣方損益

  • 除了方向,時間與波動(THETA & GAMMA)

  • 近遠月策略(THETA+ & VEGA+)

  • 價格波動率與買賣方策略

  • 週選擇權賣方策略


選擇權下單建置介紹

  • 建立文字檔下單機 (with C#)

  • BS_Model (with Excel )

  • 選擇權GREEKS實作(C#)


 

參與交流的朋友,除了主辦者他們的社團會員之外,也有開放幾個名額報名,時間地點及報名方式可以到 理財廣場 參考。

 

 

 

2014年5月1日 星期四

狙擊手操作法

 

4/25星期五是一根好久不見,令人興奮的長黑K,程式單表現也蠻不錯的,相信作程式的朋友也都等很久了,這種機會是要好好把握住的,而且也有些策略就是為了這種時刻而存在。

 

看著一黑吃N紅的長K線,想起了一本書推薦一下,狙擊手操作法

這本書已經有點老了,裡面的交易方法和指標算是比較單純,不見得適用我們的市場和策略應用,不過裡面提到一些操作觀念倒是對L有些影響。如同書名,要作好當沖或短線的操作,要像狙擊手一樣,等待時機,等到有足夠的把握時再出手,目標就是一擊斃殺

 

剛開始作交易的朋友,經常是亂槍打鳥,經常以為碰到難得一遇的機會,L自己也經歷過如此階段,心態上很積極求勝,但是這樣的結果並不如預期,而且還花費許多費用,倒是業務員開心了。

 

既然作的不如預期,又看到可怕的交易費用,當然要思考怎麼調整,最重要的就是培養自己的耐性,並把這種心態寫進程式策略裡面。

 

就像是上週五長黑K當天,好幾支沉寂已久的策略出現訊號了,看到他們就像看到老朋友一樣,這幾支策略在今年真是沒幾次表現的機會,不過在行情出現時,他們一個個的出現,同時也表示提醒了自己,

 

K線突破了N倍的ATR !”,

市價已經跌破了N均線 !”,

ADX已經超越了N門檻 !

 

這些策略交易次數蠻低的,從開發回測時就已經能看出這個特性,也有和朋友聊過,記得有個朋友的疑問,”這一年交易才10次,作這個是要賺什麼?”。其實,會賺的,一兩次就夠了,不用常出手,但一出手就有機會撈一把,平時放在那邊又沒差,而且也少了很多被巴的次數。當然我不是把這種策略當作主要策略,但是它這種特性很好,勝率高,drawdown低,真的多多益善阿。

 

回到狙擊手操作法這本書,記得裡面是蠻多垃圾文,但也有一些觀念可以參考,有的東西看到了,認同了,就能對交易有些不同想法,有改善可能,所以推薦給朋友看看囉。

 

(話說,這幾天 vix 上升,如果較大的波動會伴隨來較大的波動,也許就會常常見到這些朋友,日子會越來越有趣了)

 

2014年4月18日 星期五

台指2014年4月份結算

 

台指行情本月結仍是多方優勢,最後半小時的拉盤是一個送分題,市場作結算價很明顯,有跟上還是能賺到一點。實際上看每周的結算價,已經連續十周上漲了,只是這速度非常的慢,慢到考驗每個人的耐心。結算價如下圖。

 

周結算

 

除了三月底四月初的多方行情外,每週都是以三十點左右的漲勢龜速前進,這之後也不曉得維持多久,也就繼續等待了,L自己看主要的兩個觀察重點,一是台指VIX,二是大額交易人的選擇權多方部位。

 

沒看到變化之前,還是保守操作了。

 

 

 

 

 

2014年4月9日 星期三

趨勢追隨策略類型3-均線策略

 

續前篇 Trend Following 趨勢追隨策略類型 以及 趨勢追隨策略類型2-突破 。

 

最基礎的均線趨勢追隨是每個人都會測試的,差異只在根據每人經驗找出合適的長度及調整,而這個合適的標準主要是以獲利風險比作為判斷

 

大致上,越長期的均線可以獲取越大的波段,不容易被掃蕩,但是Drawdown也較大,而且Drawdown時間長。反之,中短期的均線搭配過濾邏輯和停損停利,比較容易可以設計出Drawdown較小的策略,但獲利也就被限制了許多。

 

此篇紀錄一個長期的均線追隨策略。先作個前提,在設計時要特別注意自己可以忍受的Drawdown,瞭解損益期間的分布,而不是單看測試的勝率和最大獲利數字,甚至可以說,這兩項是相對不重要的,因為長線策略要作的長,就要受的了Drawdown,如果風險大小和期間長短是讓你沒辦法承受,那再漂亮的策略也是無用。另外這類型的策略的勝率偏低,目標是大波段獲利,要求高的盈虧比,遇到振盪期被洗刷,也有人是很快就受不了的,所以測試數據中的連續虧損次數也要注意。

 

這篇用的跟隨均線的判斷很簡單,均線之上保持多單,之下保持空單,因為一條線容易來回洗刷,所以稍微作個緩衝的通道,以High、Low取平均就有兩條線。問題只在於均線長度如何決定,L自己有個偏好的方式是取短中長三個長度再平均,另外也利用短期的趨勢再作微調。

 

基本上是一個非多即空的策略,跟到底,但是偶有乖離非常大時可以執行停利,這個非常大,是定義在均線上下10%,夠大了吧,其實遇到的次數很少,所以這個策略在場內的時間比例非常高。

 

以下是策略的程式碼供參考。

 

code

 

運用在台指期的5分K,這策略使用到的均線參數多了點,不過這是依各人偏好所設計。

 

實際進出圖形如下。

 

StrategyPic

 

很明顯的,該被刷就被刷,該吃到就吃到,調整到圖形的進出和心裡所想的接近時,就能夠接受它了。

 

這個搭配行情看進出是很重要也很花時間的,在最佳化的過程中可以找出很多均線的參數,L看過許多測試數據,會說明多少K線使用多少均線是最好的選擇,那種文章參考參考就好了,沒有那種最佳參數,只有找到適合自己的參數才是最重要的

 

過去績效(05~14)如圖。

 

perfor

 

Drawdown 322000,對這樣的長期策略來說很平常,甚至到40萬也不奇怪。

 

perTrade

 

勝率34.55%,配合盈虧比3.05,也是典型長期策略的數據。

 

perYear

 

損益期間來看,近年表現都比較差,但我們可以解讀是行情走勢的原因,這兩年有什麼大波段呢?

 

以一個策略原型來說,這樣的績效是蠻不錯的,若是能夠認同這樣的獲利風險,這其實就是一個可以運用的長線策略,但若覺得風險無法承受,那可以試試什麼情況不須在場內,也就是加上過濾邏輯和停損停利,把Drawdown降低。不過獲利也將會被限制,各自取捨吧。

 

 

2014年3月14日 星期五

價格波動率與買賣方策略

 

先前紀錄了幾篇關於波動率及買賣方策略的文章,以及波動率在程式交易上的應用例子。如以下

歷史波動率隱含波動率 (with EXCEL VBA、C#)歷史波動率策略設計台指選擇權結算買賣方損益,不過還並未紀錄操作實務上的重點,這篇再繼續作延伸。

 

選擇作買方或賣方有很多考慮因素,波動率是其中很重要的因素之一,如果對未來預期波動程度會變大,則作買方有利,如果預期波動程度變小,則作賣方有利。這樣的解釋其實並不夠清楚,而且是有前提的,在持倉的所有期間

 

舉個例子說,吳波判斷未來台指期價格波動會加大,決定進行買方策略,假設價平的履約價是8000,則同時買進8000的CALL及8000的PUT,經過一個月漲漲跌跌,最後又回到8000結算,但是吳波最後卻還是獲利,這只有一種可能,在這個月的期間內價格波動確實超過當初他買進時的水準,而且吳波有進行動態調整。

 

這個動態調整是這樣的,在8000點進場後,市場波動確實加大,很快下跌到7900點時,這比吳波認為的波動來的快,而現在總部位DELTA變成 -1,吳波就買進一口期貨,使總部位DELTA變成0,然後,又下跌到7800,總部位(含加進的一口期貨)又變成 -1,這時吳波又買進一口期貨,然後市場回到7900,總部位DELTA變成 1,這時又賣出一口,之後市場又回到8000,總部位DELTA又變成 1,這時又賣出一口。雖然指數又回到8000,但是期貨買進7900及7800,賣出7900及8000,這個調整的部份就獲利不少。

 

而後指數往上了,到8200時賣出期貨以平衡DELTA,越往上越賣,往回跌就買回來,所以吳波是被動式買低賣高,總結下來調整的期貨獲利比買方部位的虧損要多

 

反過來說,賣出兩邊選擇權在8000,就算最後結算正好在8000點,也不見得會獲利,因為期間內可能漲到8300、8500,可能跌到7800、7700之類的,只要超過預期的波動(也可以說是賣方所能容忍的價位程度),那這個賣方投資人必須在8300買進期貨,在7700賣出期貨,為了保護(避險)被迫買高賣低,最後這個避險的成本超過了選擇權賣方的獲利。

 

以上數據僅作舉例,若熟悉選擇權跨式部位的損益及GREEKS變動可以很輕易瞭解要說明的內容。另外,避險在例子中是用期貨執行,實際上的選項很多,例如部位平倉、用不同的履約價、搭配不同的買賣方,那就是要繼續看各種價差交易了

 

其中更大的學問是如何決定調整的時機,如果在建立前就有預期的波動水準,當到達時很自然就要進行調整,或者是以總部位的DELTA來進行調整,和前面所述的例子一樣,另外一種方式則是依照時間來作DELTA中立,例如每天、每週之類的,時間到就調整一次。

 

回到開頭所先講的結論,如果對未來預期波動程度會變大,這個未來預期是最重點考量,若要以價格波動程度作為選擇買賣方策略最重要的因素,要小心目前現狀波動率給人先入為主的觀念,因為市場上的價格已經作了反應,例如我們知道現在日經波動程度很大,常常一天2%、3%在跑,那麼作買方再來調整會很好作,這就錯了,那要作買方的權利金是很貴的,除非波動再放大、更大,才能夠獲利。

 

此文緣由朋友問到外資部位總是買方一大堆,這種盤整區間行情不是賠死了嗎? L只能回說不一定,要看調整的好不好,不是只由買賣方就可判斷損益的。以上,供有同樣疑問的朋友參考囉。

 

 

 

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年2月6日 星期四

網站介紹_波動率指數

 

紀錄兩個常用的網址查詢波動率指數

http://stockcharts.com/h-sc/ui?s=vix

這是S&P500的VIX指數

 

SP500vix

這個StocksCharts.com網站蠻好用的,有空可以玩玩。

 

 

http://info512.taifex.com.tw/Future/VIXQuote_Norl.aspx

這是台灣期交所的波動率指數,盤中每15秒有更新。

 

TaiVix

 

 

2014年1月30日 星期四

使用Renko圖形交易所面臨的問題

 

在交易的圖表設定中,讀者會發現K棒不一定是要畫成蠟燭圖,也可以選擇一些不同邏輯去定義出不同的線圖,例如本篇的RENKO就是一個利用價格去畫的例子,讓我們可以很直觀的觀察價格單純的走勢,減少價格在盤整時的雜訊,然而本篇並不主要介紹RENKO的好處,而是去了解對於使用程式交易的我們,會有甚麼樣的問題,首先透過下圖設定的欄位來了解其原理。

 

圖片 1

 

一開始要設定一個單位大小,在目前國內最新的8.5版中另外有提供依照%來設定單位大小的選項,但其道理都是在設定每一根棒子要多長,表示當價格滿足設定的一單位大小,這根棒子就算收盤,開始畫下一根,另外也要同時配合週期的設定,來決定顯示的時間,設定成最小1TICK,就是每個TICK出現若滿足一單位點數的條件,就算完成並且顯示一根棒子,因此如果設定成1分鐘,就需要等待一分鐘過完,滿足多少個單位才一次顯示出來。

 

最後下面就是一些顯示的設定,一般為了避免隔日跳空的計算錯誤,通常會勾選收盤時中斷,就不會跑出明明是跳空,卻顯示成全部連續棒子的狀況,另外其他則只是用來控制顯示的方式,並不影響計算。

 

然而以上的邏輯其實對要使用RENKO進行程式交易的我們是有很大的困擾與問題,為了呈現問題的所在,J先寫了一個很簡單的測試程式,程式碼如下。

 

圖片 31

 

 

這個當沖策略設定當棒子收紅,就於下一根開盤做多,如果連兩紅,就下一根多單出場,同時設定SET指令中的STOP,空單則相反,不設定手續費,跑的圖就是最上面那張圖的設定,每四點畫一根棒子,週期使用1TICK,進行盤中即時收報價進出場測試。

 

圖片 2

 

從本張交易截圖可以看出,黃線是換日線,左邊是回測與昨天狀況,每一個進場點都在棒子的起畫點,除了SETSTOPLOSS的出場外,都在棒子的收盤(棒子的上下緣)。然而右側的實際上線狀況,一開始的多單進場就沒有落在棒子邊緣,而是在空中或是像第三筆一般在棒子中間,同時第三筆出場也在空中而不在邊緣。

 

再來看看下2圖的比較,首先第一張是即時上線狀況,第二張則是關掉MC開的狀況(形同回測狀況)。

 

圖片 6

 

 

圖片 16

 

讀者可以很明顯看出來,同一個棒子的狀況,在上線時(上圖)與回測時(下圖)比起來,差異非常大,主要的原因是每根棒子的開盤價位置被修改了,而SETSTOP指令仍有作用,只是因為進場點改變而導致出場點當然也就有所不同

 

再來J同一天也同時測試了如果週期改變為10分鐘,單位大小為3點,盤中即時圖形如下。

 

圖片 21

 

讀者可以仔細看J標記的部分是第一根9點15的棒子,然而下方座標軸卻顯示了好多個09:15,而每一個進場也都很漂亮的在每根棒子的邊緣,這原因是實際上這些09:15的進場與出場都是在09:15時間一走完時,瞬間跳出來的多次進場與出場,若使用下單機丟單,則是一筆單都不會有,或是進一單在最低點!

 

最後透過本次實驗,我們得到幾個RENKO使用上的問題,第一是在回測狀態,開盤價的定義是受到收盤價的確立(滿足一單位大小的點數)而得到回測時每根棒子的開盤價。第二是周期的設定會影響棒子多久才瞬間跳出來一次。第三就是目前RENKO是有保留完成那根棒子時的高低點,因此SET指令有效。

 

綜合以上三點可以了解到,目前RENKO的運算邏輯下,回測與真實落差太大,無法使用RENKO當作DATA1進行交易,但若使用其為DATA2當作指標來使用卻是種可行的作法,因為當成指標時可只採用其確立的CLOSE值運算以上提供想使用RENKO的讀者一些實驗心得。

 

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

 

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