2015年1月1日 星期四

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

EasyTrader ArtNo 232
未平倉籌碼分析是判斷期貨多空方向的一種方式,其中最常聽到的是由期交所每日公布法人期貨未平倉資料,用來判斷法人的方向,每日期貨商的分析報告和分析師幾乎都會引用這項資料,也有許多程式交易相關文章、或是學校金融相關科系的一些學生論文都在研究法人未平倉部位和台指走勢的相關性。基本論點在於1.法人持倉成本可以做為支撐或是壓力的判斷。2.不論結算日是想拉高或是壓低結算,在那附近幾天的變動總是較為劇烈的。
除了平常大家所耳熟能詳的期交所三大法人未平倉 OI之外,在一般券商股票免費的XQ股票看盤軟體,在選擇商品是期貨時也有未平倉這個指標資料可顯示,如下圖
很特別的是黃色框框內的未平倉量變化,接近結算日附近波動開始增加,且在結算日的次日都會出現一根大量的紅柱,這是否暗示一些訊息呢? 從圖表上,我先假設當根紅柱出現的三日內的最高價與最低價分別是壓力與支撐,只要高點被突破或低點被跌破就可以進場

首先,利用看盤軟體將所需資料輸出到 Excel ,並轉換成 MC 可接受匯入的文字檔格式 ,然後在TS或MC建立成新商品的資料,接著就依據上述想法建立價格通道如下圖
系統參數與變數
input:ExitType(1) ;
input:NBarL(5),NBarS(5),TradeProfit(0.04),TradeStopLoss(0.04),ATRs_L(3),ATRs_S(3);
vars: IsBalanceDay(False),MP(0),PF(0),PL(0); input:LongLen(3),ShortLen(3),PriceTrigL(10000),Factor(1.1);
Vars:BuyPrice(0),SellPrice(0),OIGap(0),YUOI(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 ;

{讀取 台指未平倉 OI資料 }
YUOI = Close of data3 ;
{計算今日與昨日差異量}
OIGap = YUOI - YUOI[1] ;

{如果差異量超過某數值建立3日內高低點通道 }
if OIGap > PriceTrigL then Begin
BuyPrice = Highest(High,LongLen)[1] ;
SellPrice = Lowest(Low,ShortLen)[1] ;
end;

{ 上通道價格突破作多 }
if MP <> 1 then Buy next bar at BuyPrice stop ;
{ 下通道價格跌破作空 }
if MP <> -1 then Sell next bar at SellPrice stop ;

{設停損保護}
SetStopLoss(PL * BigPointValue) ;

if IsBalanceDay then setExitonClose ;
台指期 日K 留倉 交易週期 2004/11/1~ 2014/10/31 交易成本 1200
初步簡單的測試看起來是可以考慮作進一步的調整讀者可以利用一些指標來判斷走勢方向我是使用 近期ATR變化與 K棒收紅或收黑來作區分

{作多進場邏輯
A -  3日真實區間波動均值 大於 6日波動均值 
B -  K棒收紅
C - 突破上通道進場 }
if MP <> 1 and AvgTrueRange(3) > AvgTrueRange(6)*Factor and Close > Open
then Buy next bar at BuyPrice stop ;
{作空進場邏輯
A -  3日真實區間波動均值 大於 6日波動均值 
B -  K棒收黑
C - 突破下通道進場 }
if MP <> -1 and AvgTrueRange(3) > AvgTrueRange(6)*Factor and Close < Open 
then Sell next bar at SellPrice stop ;

{搭配的出場方式}
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 IsBalanceDay then setExitonClose ;
台指期 60 分K 留倉 交易週期 2004/11/1~ 2014/10/31 交易成本 1200

台指期 30 分K 留倉 交易週期 2004/11/1~ 2014/10/31 交易成本 1200
是不是有很大的改善呢? 績效增長約 2倍,勝率也提高 籌碼的力量還是存在一定的影響
結論:在K線圖表與指標之間的觀察時,對於一些特別的變化作進一步的分析總是能找到可以獲利的蛛絲馬跡而籌碼的變化常具備更佳的影響力。
MagicQS143

沒有留言:

張貼留言