2012年3月4日

如何運用外資留倉淨部位寫入程式交易裡面

從最早期期交所公佈的大額交易人部位到三大法人留倉部位,市場已經關注很久,也正因為太注目了準確度漸不如以往,畢竟這些大咖也不能白白脫光光給人家看,不過遇到大行情,法人大戶的部位確實仍具相當參考價值,本文介紹如何將外資的每日淨留倉部位運用到程式交易中,當作一個濾網來使用。

這邊基本上要運用的一個功能就是TS可以Data2.Data3….的方式讀取外部資料。首先須用EXCEL整理外資留倉資料,請注意作為Data2本身也是視為一個獨立商品(Symbol),所以不能有負值,因此在EXCEL中每一筆資料都先加50000,我們到EasyLanguage中再作處理,另存新檔為CSV檔(存在桌面)結果與格式如下:

在TS中我們畫一張30分台指期K線,執行Inster>Symbol,出現以下對話視窗,在Show選3rd Party Directory,然後在下面找出剛剛存的CSV檔,最後按Plot。

 設定欄位與時間格式: 

設定商品規格,主要是DisplaySession不要設錯:

 在圖上就可以看到外資淨留倉部位(處理過的:+50000),在Format Symbol>Bar Type>Style選項選”Line on Close”,看比較輕楚。

接著我們用一個簡單的通道策略,把這個濾網加進來,語法如下:

=================================
input:len(20),StopL(50),StopP(100),Percent(20),cotbull(10000),cotbear(-10000);
vars:HH(0),LL(0),CC(0),COT(0);

HH=average(high,len);
LL=average(low,len);
CC=(2*Close+High+Low)/4;
COT=close of data2-50000;

condition1=COT  > cotbull;
condition2=COT < cotbear;

if condition1 and cc cross over HH then buy this bar on close;
if condition2 and cc cross below LL then sell this bar on close;

SetStopLoss(StopL*200);
SetPercentTrailing(StopP*200, Percent);

==================================
程式碼COT=close of data2-50000;就是關鍵,也就是把外資淨部位讀進來,然後當做濾網來用,如下:

condition1=COT > cotbull;
condition2=COT < cotbear;

以上就是示範如何用Data2外部資料來寫進程式,如果要做Real Time,就變成每天要維護那個CSV檔,或是直接把外部資料當作一個Symbol,設進GlobalSever亦可。

傳統的程式交易策略不外是利用價或量來寫,坦白講很久前就是瓶頸了,如果可以在價跟量外找新的點子,或許能找到新藍海!