2014年7月22日 星期二

外期 - 能源商品 - 熱燃油 [當沖與波段策略 ]

EasyTrader ArtNo 183
商品特性:
1978年熱燃油期貨合約推出為能源期貨市場開啟另一道里程碑。在石油分餾過程中,分餾油大約是在350~800度華氏蒸餾形成,為中間的提煉產品。分餾油可分為兩種:一號與二號油,一號油包括煤油和航空燃油,主要由石油的裂化殘渣油和直餾殘渣油製成的,其特點是粘度大,含非烴化合物、膠質、瀝青質多,通常用於爐具或燈具的燃料,而航空用油的沸點與一號油相近,一號油佔分餾油總量的15%左右,其餘為二號油,二號油又稱熱燃油,在歐洲地區則稱為製氣油(Gas Oil) ,柴油與熱燃油的性質相近,柴油可作為熱燃油使用,但熱燃油則不能作為柴油使用。二號油通常用於高緯度國家中的家庭或小型商業公司加熱取暖之用。
在期貨契約規格方面,合約規格為42000加侖的二號燃油,每一最小跳動指數為0.01美分/加侖,價值為4.2美元。主要交易月份為連續18個月。交易時間分為台灣時間10:05 PM至次日2:30 AM為人工交易;週一~週五台灣時間的6:00 AM至次日5:15 PM為電子交易,上述交易時間為夏令時間,冬令時間延後一個小時。原始保證金目前為6,750美元,維持保證金則是5,000美元。 (註:合約規格隨行情變化而調整,以該交易所公佈為準)。

價格變動因素:

(一)原油價格走勢
燃料油是原油的下游產品,原油價格的走勢是影響燃料油供需狀況的一個重要因素,因此燃料油的價格走勢與原油之間存在著很強的相關性。西德州及布蘭特原油的價格趨勢是判斷燃料油價格走勢的二個重要依據。

(二)匯率影響
國際上燃料油的交易一般以美元為基準,當美元貶值時意味其進口成本較低,將刺激燃油的需求,反之美元升值,燃油價格相對偏高,打壓市場需求。

(三)利率的影響
利率是政府調控經濟的一個重要手段,根據利率的變化,可瞭解政府的經濟政策,從而預測經濟發展情況的演變,以及其對原油和燃料油的需求影響。

(四) 經濟發展
燃料油是各國經濟發展中的重要能源,特別是在電力行業、石化行業、交通運輸行業、建材和輕工行業使用範圍越來越廣泛,燃料油的需求與經濟發展密切相關。在經濟增長時,燃料油的需求也會增長,從而帶動燃料油價格的上升,在經濟滑坡時,燃料油需求的萎縮會促使價格的下跌。因此,要把握和預測好燃料油價格的未來走勢,追蹤總體經濟的變化是相當重要的。

(五)石油輸出國家組織(OPEC)生產動向
自80年代以來,非OPEC國家石油產量約占世界石油產量的三分之二,最近幾年有所下降,並且各國的生產政策也不統一,因此其對原油價格的影響無法與OPEC組織相提並論。OPEC組織國家控制著世界上絕大部分石油資源,掌控了共同的利益,各成員國之間達到的關於產量和油價的協定,因而得到多數國家的支持,其生產政策對原油價格具有重大的影響力。

(六)地緣政治影響
由於全球主要油田大多集中在沙烏地阿拉伯及中東國家,但些地方常爆發衝突,使得油價建立在脆弱供給上,一旦該區發生戰亂無疑衝擊這脆弱供給,造成油價異常波動的危機。回顧近三十多年來的油價走勢不難發現,世界主要產油國或中東地區地緣政治發生的重大變化,都會反映在油價的走勢中。

(七)美國石油供需資料,特別是每週二美國石油協會(API)及周三美國能源部(EIA)公佈的每週能源供需狀況變動表。

(八)季節性因素
每年從10月到閣年4月間有走高趨勢天候狀況,特別是每年美國冬季時東部氣溫的高低,對其價格影響很大。

(九)庫存量高低
庫存量會在每年的十月到十一月間達到高點,需求減緩價格漲幅將受壓,然後於隔年的二月到三月間降到最低點,再帶動價格上漲,然之後即將進入美國夏季,該期間需求亦最低,漲勢很快宣快結束。

(十)煉解價差交易
煉解價差交易屬於原料—產品價差交易之一,即買入(或賣出)原油期貨契約同時賣出(或買入)無鉛汽油與熱燃油期貨契約,一般而言有兩種比率,一是3:2:1,一是5:3:2。

(十一)替代品因素
替代品因素在熱燃油中最為明顯,如電力與天然氣,有時煤或液化石油氣也會有影響。

(十二)市場參與者行為預測,如各國基金,油品公司,航空公司及一般投機客等。由於他們對基本面的理解更?深刻並具有"先知先覺"效果,其中基金更是造成近年油價大幅波動原因之一,因此瞭解基金的動向也是把握行情的關鍵。

資料來源 - 元大寶來期貨資訊網


熱燃油期貨 30 分K 留倉 交易週期 2010/01/01 ~ 2013/12/31 交易成本 美金 24 元


熱燃油期貨 60 分K 留倉 交易週期 2010/01/01 ~ 2013/12/31 交易成本 美金 24 元


以下為人工智慧策略產生器輸出的 30分K 測試程式碼

{ ***** System Code Start here *****}
{ Public inputs }
Inputs:LuckyNet(0),IntraDay(2), TradeStopLoss(0.044),TradeProfit(0.02) ;
Inputs:TradeInday(1),Time1SW(1),Time1B(1100),Time1E(1400) ;
Inputs:Time2SW(0),Time2B(900),Time2E(1300),Time3SW(0) ;
Inputs:Time3B(900),Time3E(1300),PositionSW(0) ;
inputs:Frac_LMM(3.86),NBar_LM(16),Frac_SMM(1.06),NBar_SM(10) ;

{ Public Variables }
Vars:Cond_LE(false),Cond_SE(false),CondNet_L(false),CondNet_S(false),
UBuy(0),USell(0),BuyStop(0),SellStop(0),BuyStopA(0),SellStopA(0),
NewBuyStopA(0),NewSellStopA(0),PL(0),PS(0),LastTradeDay(false) ;
Vars:TimeOK1(true),TimeOK2(true),TimeOK3(true),PosSW(true) ;

{ BuyMode Setup }
{ SellMode Setup }
inputs:Bar_S1(34) ;

{ Exit Long Position Setup }
{ Exit Short Position Setup }
{ BuyMode Variable Setup }
{ SellMode Variable Setup }

{ Exit Long Position Variable Setup }
Vars:TL_ATR(0),Trigger_TLA(false) ;
Vars:LMM_ATR(0) ;

{ Exit Short Position Variable Setup }
Vars:TS_ATR(0),Trigger_TSA(false) ;
Vars:SMM_ATR(0) ;

{ ***** LastTradeDay ***** }
{LastTradeDay = _MagicQS268_LTD ;}

{ initial profit and loss }
if MarketPosition = 0 then begin
PL = AvgPrice*TradeProfit ;
PS = AvgPrice*TradeStopLoss ;
end ;

{ ATR calculate for code }
LMM_ATR = AvgTrueRange(NBar_LM);
SMM_ATR = AvgTrueRange(NBar_SM);

{ Entry and Exit prices }
UBuy = Low ;
USell = Lowest(Open,Bar_S1) ;

{ Long and Short Entry Condition Setup }
Cond_LE = MOD(DayofMonth(Date),5) <> 1 ;
Cond_SE = (MOD(DayofMonth(Date),7) <> 1 or DayofMonth(Date) = 21) ;

{ Combine Trade Number in day }
Cond_LE = Cond_LE and EntriesToday(date) <= TradeInDay ;
Cond_SE = Cond_SE and EntriesToday(date) <= TradeInDay ;

{ Combine Trade time zone in day }
if Time1SW = 0 then TimeOK1 = true else TimeOK1 = (time >= Time1B and time <= Time1E) ;
if Time2SW = 0 then TimeOK2 = true else TimeOK2 = (time >= Time2B and time <= Time2E) ;
if Time3SW = 0 then TimeOK3 = true else TimeOK3 = (time >= Time3B and time <= Time3E) ;

Cond_LE = Cond_LE and TimeOK1 ;
Cond_SE = Cond_SE and TimeOK1 ;

{ Check Position status for entry}
if PositionSW = 0 then PosSW = true else PosSW = (MarketPosition = 0) ;
Cond_LE = Cond_LE and PosSW ;
Cond_SE = Cond_SE and PosSW ;

{ Entry Long orders }
if Cond_LE then Buy next bar at UBuy Stop ;

{ Entry Short orders }
if Cond_SE then SellShort next bar at USell Stop ;

{ Exit orders, long trades }
If MarketPosition > 0 then begin
PL = EntryPrice(0)* TradeProfit;
PS = EntryPrice(0)* TradeStopLoss ;
If BarsSinceEntry = 0 then begin
BuyStop = EntryPrice - Frac_LMM * LMM_ATR;
end;
Sell next bar at BuyStop stop;
end;

{ Exit orders, short trades }
If MarketPosition < 0 then begin
PL = EntryPrice(0)* TradeProfit;
PS = EntryPrice(0)* TradeStopLoss ;
If BarsSinceEntry = 0 then begin
SellStop = EntryPrice + Frac_SMM * SMM_ATR;
end;
BuytoCover next bar at SellStop stop;
end;

if IntraDay = 0 then SetExitonClose
else if IntraDay = 1 and LastTradeDay then SetExitonClose ;

{***************** End of Strategy ************}

歷史資料來源 : 追日全球歷史數據下載

熱燃油期貨 5 分K 當沖 交易週期 2008/04/16 ~ 2014/5/30 交易成本 美金 24 元


 
歷史資料來源 : 追日全球歷史數據下載

沒有留言:

張貼留言