在網上看到一個2001年就出現的策略,是利用VIX index 來交易OEX(S&P100指數),應該是一個以日為單位的交易策略。讓我先稍微描述一下他的做法,最後在寫下我的看法。
● 策略細節:
進場條件很簡單,是利用VIX的21日收盤價布林通道(兩個標準差)為主要條件。
▼濾網:收盤在10MA之上做多,收盤在10MA之下做空。▼多單訊號:6日前的VIX大於BB上限且5日前的VIX小於BB上限,在當根K收盤的時候買進。
▼空單訊號:10前的VIX大於BB下限且11日前的VIX大於BB上限,在當根K收盤的時候賣出。
▼出場訊號:進場後超過5根K後,如果收盤價來看還沒有獲利,就出場
請注意,多空單進場的條件並不是對稱的,這部分應該是因為特殊的經驗或市場慣性而調整而成。
● 看法:
原則上,VIX是沒有方向性的,因為它基本上只是變異量的開根號。換句話說,(維基百科的例子)如果VIX=15,只是代表未來30天以內,SP500指數有68%的機會是以價位為中心的-4.33% ~ +4.33%之間。所以VIX越大,只是代表波動區間越大而已。
那為什麼VIX也被稱為恐慌指標?可能有兩個原因:
1. 跟計算VIX的方式有關:
要計算VIX,跟幾個變數有關:到期時間、無風險利率、forward price (接近價平價格)、Call/Put的價格、Call/Put 的履約價格。這裡面最重要的是forward price和Call/Put 的履約價。
計算VIX的公式來看,除了每檔Call/Put 履約價格差之外,還需要除以履約價格的平方。也就是說,如果目前價平在9000,那麼計算VIX所需的表格資訊長這樣:
8700
|
Put 價格
|
8800
|
Put 價格
|
8900
|
Put 價格
|
9000(價平)
|
Call+Put 平均價格
|
9100
|
Call 價格
|
9200
|
Call 價格
|
而VIX平方正比於 相近兩檔履約價格的差額和履約價格平方的比值。也就是說,在簡單的假設遠價外的Call和Put 的波動幅度會差不多時,履約價格越小的檔次(價外的Put)對於VIX的計算影響的越大。也就是說,當市場上在搶買Put的時候,比市場上搶買Call的時候,VIX增加的速度要快一些。
換句話說,雖然VIX在設計上是「沒有方向性的」(變異量的開根號),但是因為設計上的特性,造成當指數向下的時候,增加率先天上會比指數向上的時候增加要稍大。
2. 跟市場特性有關(猜測):
一般來說,市場可能傾向緩漲急跌,而且股票市場本質上是籌資市場,也就是以多方為主,所以一般做多的時候可能傾向以股票甚至是期貨為主,但做空或是有危險的時候,反而以空期貨和買Put 避險較有利。也因為這樣,指數緩漲的時候,Call的波動反而不會太過於劇烈,但指數有危險甚至已經向下噴的時候,搶買Put的力量會讓VIX暴增。實務上,根據CBOE的研究,過去幾年VIX和SP500的關聯性的確在-0.75~-0.85之間。
但是必須強調的是:相關性不等於因果關係。負相關性高,有可能是因為市場預期下跌,所以讓VIX先飆高,隨後市場再下跌;也有可能是市場先下跌後,大家再搶買Put 造成VIX飆高,雖然最後得到的相關性結果或許會很相近,但因果關係卻是完全不同的。
● 結論:
所以原作者的做法,(以做多為例)基本上是想在趨勢確定的時候(價格在10MA之上),等待短線上急速拉回之後回穩的時候進場(VIX先飆高越過BB上限再掉回區間中)。可能是可以改良發展的方向。
TS code:
TradeStation (EasyLanguage) for "Trading the VIX" by Price Headley, starting on p. 52:
Data1 is the OEX (S&P 100) and Data2 is the VIX index.
{Code by Price Headley, BigTrends.com}
If Close of Data1 > Average(Close of Data1, 10) and Close of Data2[5] < BollingerBand(Close of Data2, 21, 2)[5] and Close of Data2[6] > BollingerBand(Close of Data2, 21, 2)[6] Then
Buy on Close of Data1;
If BarsSinceEntry = 5 and Close of Data1 < Close of Data1[5] Then
ExitLong on Close of Data1;
If Close of Data1 < Average(Close of Data1, 10) and Close of Data2[10] > BollingerBand(Close of Data2, 21, -2)[10] and Close of Data2[11] < BollingerBand(Close of Data2, 21, -2)[11] Then
Sell on Close of Data1;
If BarsSinceEntry = 5 and Close of Data1 > Close of Data1[5] Then
ExitShort on Close of Data1;
0 留言:
張貼留言
如果有私人問題想請教,請透過網站右方『與站長聯絡』之表單,謝謝!