2017年3月12日 星期日

開發商品的交易系統 - 進階篇 [6]

EasyTrader ArtNo 292
在不確定的波動市場中,交易員總是在尋找能夠保護他們的利潤,同時儘量減少損失和風險的交易策略。價差交易是讓我們的交易能夠避險的其中一個選擇。但是,商品期貨的價差交易交易不是一件容易的事 !常聽說期貨是一種"零和"遊戲。實務上它是一個負合的遊戲,因為它包括經紀及其他費用。若是我們不想成為"零"!就必須多花一些時間在交易上面。努力奮鬥和嚴守紀律對做好交易是必須的,對於期貨經紀人從來沒有告訴過你,或許也不知道的事情要多學習

價差交易是指買進一種商品期貨的同時,賣出另外一種商品期貨,利用兩者之間價差的擴大或縮小來獲取利潤。價差交易不需要預測市場的方向,只需要去關注兩個商品之間價格的相對關係,也就是價差擴大或縮小。

本篇利用均線與標準差作為開發價差交易策略的核心邏輯,應用的商品為澳幣vs加幣
商品期貨價差交易的特色

1、 風險低,報酬高:同時買進及賣出具有相關性的商品,所冒的風險在於兩者之間的價差,因此風險比較低。由於價差交易的風險低,因此交易所對價差交易收取非常低的保證金,因此能夠產生比較高的報酬率。

2、 交易機會多:一般常交易的期貨商品約有數十個左右,包括指數期貨、穀物、能源、貴重金屬、債券、外幣等,但是價差交易可能產生的組合超過200組,包括:
  • Intramarket Spreads:商品相同,到期月份不同的價差交易。 
  • Intermarket Spreads:商品不同的價差交易:如黃金及白銀。 
  • Inter Exchange Spreads :交易所不同,商品相同的價差交易。 
在維基百科上關於加拿大的介紹
加拿大是在已開發國家中極少數的能源出口國之一。在大西洋省份的離岸區域儲藏著豐富的天然氣資源,而在亞伯達省也儲藏著大量石油及天然氣資源,當地的阿荷屬沙巴斯卡油田的巨大儲量,使加拿大擁有著全球約13%的石油儲備,成為世界上第三大的石油儲備國,僅次於委內瑞拉以及沙烏地阿拉伯。加拿大是世界上其中一個最大的農產品出口國及礦產資源大國,它的大草原是世界上最重要的小麥,油菜以及其他穀物的產地之一,而除了是鋅和鈾的主要出產國之外,它還大量出口金、鎳、鋁、鋼材、鐵礦石、焦炭及鉛等礦產

維基百科上關於澳洲 的介紹
澳洲為貿易強國,是世界十大農產品出口國和六大礦產資源出口國之一。小麥出口量高居在於世界第二位。主要出口商品有煤、黃金、鐵礦石、原油、天然氣、鋁礬土、牛肉、羊毛、小麥、糖、飲料等。
作為第三產業的重要組成部分,旅遊業在澳洲得到長足而迅速的發展。因為有著優美的自然風光和珍稀動植物資源,加之發達的經濟,澳洲成為讓人流連忘返的旅遊聖地。主要旅遊景點有雪梨歌劇院、雪梨海港大橋、雪梨塔(南半球第二高建築)、黃金海岸、大堡礁、北艾爾湖、墨爾本藝術館、原住民發祥地卡卡杜國家公園及原住民文化區威蘭吉湖區等。

加澳兩國都是擁有豐富天然資源的出口大國。原物料的出口額皆在兩國的GDP內佔有相當大的比重,所以原物料的行情和加澳兩國的經濟表現有高度的相關性,兩國貨幣的走勢也有一定的相關性

本篇要介紹的是澳幣與加幣的價差交易(Intermarket Spreads)

首先我們可以透過圖表來觀察澳幣與加幣彼此間的強弱走勢圖與相關性的趨勢




圖表由 STOCK-AI 網站輸出

接下來是價差商品建立,也就是將兩個商品歷史一分K的資料相減做成新的商品,然後用此新商品來做策略開發,最後將產生的交易訊號分別對澳幣與加幣做多空一買一賣的交易

策略的核心邏輯為
1 新商品 = 澳幣*3 - 加幣*4 +3
2.當新商品價格波動大於均線 +M標準差且均線上揚時,買進加幣、賣出澳幣
3.當新商品價格波動小於均線 -N標準差且均線下降時,買進澳幣、賣出加幣


以下的程式碼是以新商品的K線做為策略的基礎
input:Len1(50),Dev1(2),Len2(50),Dev2(2),BarL1(1.5),BarL2(1.5),NBarL(100),NBarS(100),HighBar(100),LowBar(100),S3(90),S4(90),Ps(0.5),Pz(0.5);
vars:IsBalanceDay(False),MP(0);
vars:PriceGapA(0),StrengthA(0),Avg(0),Std(0),CoR(0),Ex_L(0),Ex_S(0) ;

MP = MarketPosition ;

PriceGapA = Close ;
Avg = Average(PriceGapA,Len1) ;
Std = StdDev(PriceGapA,Len1) ;
if Std <> 0 then StrengthA = (PriceGapA-Avg)/Std ;

CoR = _MagicCorrel((Close of Data2 * 3),(Close of Data3 * 4),Len1) ;

{賣出澳幣、買進加幣}
if CoR > PS and MP <> -1 and PriceGapA > Average(PriceGapA,NBarS) and Average(PriceGapA,NBarS) > Average(PriceGapA,NBarS)[1]
and StrengthA cross over Dev1 then Sell next bar at Market ;

{買進澳幣、賣出加幣}
if CoR < PZ and MP <> 1 and PriceGapA < Average(PriceGapA,NBarL) and Average(PriceGapA,NBarL) < Average(PriceGapA,NBarL)[1]
and StrengthA cross under -Dev2 then Buy next bar at Market ;

if BarsSinceEntry = 0 then Begin
   EX_L = Lowest(PriceGapA,3)*(1-S3/10000) ;
   EX_S = Highest(PriceGapA,3)*(1+S4/10000) ;
end else Begin
{均線上下固定比例出場}
   if MP > 0 and PriceGapA > Average(PriceGapA,HighBar)*(1+BarL1/100) then
      ExitLong ("AL2") next bar at Market ;
   if MP < 0 and PriceGapA < Average(PriceGapA,LowBar)*(1-BarL2/100) then
      ExitShort ("AS2") next bar at Market ;
{停損}
   if MP > 0 and BarsSinceEntry > 1 and PriceGapA < EX_L[1] then
      ExitLong ("FL2") next bar at Market ;
   if MP < 0 and BarsSinceEntry > 1 and PriceGapA > EX_S[1] then
      ExitShort("FS2") next bar at Market ;
end ;

價差商品 34 min K 多空留倉 交易週期 2010/1/3~ 2017/1/31 交易成本 USD 420





透過程式交易我們可以改善過去一般價差操作上的困擾:諸如
  1. 人工操作,難以掌控即時行情與並行多重部位之期貨合約
  2. 價差無法精確掌控,難以掌控進、出場時點,獲利機率低
  3. 無法精確掌握兩市場進場時之部位分配

沒有留言:

張貼留言