2015年5月28日 星期四

開發商品的交易系統 - 基礎篇 [41]

EasyTrader AtrNo 266
VIX指數是芝加哥期權交易所市場波動率指數的交易代碼,常見於衡量標準普爾500指數期權的隱含波動性。通常被稱為「恐慌指數」或「恐慌指標」,它是了解市場對未來30天市場波動性預期的一種衡量方法。

波動性指數的概念,以及基於此種指數的金融工具最早是由梅納赫姆·布倫納教授和丹·蓋萊教授於1986年提出的。布倫納教授和蓋萊教授寫道:「我們的波動性指數——西格瑪指數,將會時常更新並且會被用作期貨和期權的標的資產…波動性指數所扮演的角色與市場指數對期貨和期權所扮演的角色相同。」
VIX指數用年化百分比表示,並且大致反映出標準普爾500指數在未來30天的期望走向。例如,假設VIX指數為15,表示未來30天預期的年化波動率為15%,因此可以推斷指數期權市場預期未來30天標準普爾500指數向上或向下波動15%/√12 = 4.33% 。也就是,指數期權的定價假設是:標準普爾500指數未來30天的波動率在正負4.33%以內的幾率為68%。

只是 VIX指數是以標準普爾500指數為計算基準,對於其他商品並不適用, Larry Williams 針對於此重新設計了一個類似的指標 Williams VIX Fix (WVF)

WVF = (Highest(Close,22)- Low)/Highest(Close,22) *100 ;

從指標圖來看相似度有 75%以上,所以一起來看看作為策略元素的績效如何 ~

參考資料 MBA 智庫
Larry Williams 網站 http://www.ireallytrade.com/newsletters/VIXFix.pdf 
{系統參數與變數}
input:EntryType(4),ExitType(2);
inputs:NBarL(5),NBarS(5),TradeProfit(0.02),TradeStopLoss(0.02),ATRs_L(12.7),ATRs_S(6.4);
vars: IsBalanceDay(False),MP(0),PF(0),PL(0);

inputs:BarLen(22),AvgLen(5),HighBar(12),LowBar(15);
Vars:WVF(0),AvgWVF(0);

MP = MarketPosition ;

if DAYofMonth(Date) > 14 and DAYofMonth(Date) < 22 and DAYofWeek(Date)= 3 then isBalanceDay = True else isBalanceDay =False ;

PF = AvgPrice*TradeProfit ;
PL = AvgPrice*TradeStopLoss ;

{計算 WVF }
if Highest(Close,BarLen) <> 0 then
WVF = (Highest(Close,BarLen)- Low)/Highest(Close,BarLen) *100 ;

AvgWVF = XAverage(WVF,AvgLen) ;

{ 我使用 WVF 與均線交叉的想法 }
if EntryType = 3 then Begin
if MP <> 1 and WVF Cross over AvgWVF then buy next bar at Highest(High,NBarS) stop ;
if MP <> -1 and WVF Cross under AvgWVF then sell next bar at Lowest(Low,NBarL) stop;
end;

if EntryType = 4 then Begin
if MP <> 1 and WVF Cross under AvgWVF then buy next bar at Highest(High,NBarS) stop ;
if MP <> -1 and WVF Cross over AvgWVF then sell next bar at Lowest(Low,NBarL) stop;
end;

{ 出場規則 }
if ExitType = 1 then SetStopLoss(PL * BigPointValue) ;

if ExitType = 2 then Begin
SetStopLoss(PL * BigPointValue) ;
setProfitTarget(PF * BigPointValue) ;
end;

if ExitType = 3 then Begin
if MP > 0 and BarsSinceEntry = NBarL then ExitLong next bar at Market ;
if MP < 0 and BarsSinceEntry = NBarS then ExitShort next bar at Market ;
end;

if ExitType = 4 then Begin
SetStopLoss(PL * BigPointValue) ;
setProfitTarget(PF * BigPointValue) ;
if MP > 0 and BarsSinceEntry = NBarL then {Sell } ExitLong next bar at Market ;
if MP < 0 and BarsSinceEntry = NBarS then {Buy} ExitShort next bar at Market ;
end;

if ExitType = 6 then SetStopLoss(PF * BigPointValue) ;

if IsBalanceDay or date = 1150224 then setExitonClose ;
台指期 30 min K 多空留倉 交易週期 2005/2/1~ 2015/1/31 交易成本 1200
結論:測試出來的績效也不錯! 從Larry wiliiams 的 WVF 文章來看 ,利用 WVF 讀值作為KD指標或是作為布林通道的計算基礎也是另一種可行的方法
MagicQS175

沒有留言:

張貼留言