2013年5月16日

你有考量到換倉差異嗎?


按讚加入程式交易─散戶交易的王道
每每到了結算的日子,總是會有些想或已經在做程式交易的朋友感到困惑,因為每個合約換月的時候,難免都會存在著期貨連續圖因為接續不同月份合約而存在假性跳空的衍生問題,今天不談因為價格序列切換而造成的每個人所使用的指標所受的影響。但問,每個月結算時,你的回測報告的明細與實際成交之間有多少擬真度?

如果你採用結算日到了,把策略訊號跨月轉倉的方式,可知道這樣實際上的執行跟用來評估策略的風險報酬等等相關數據會有多少差異?

雖然我個人採用的是結算日當天讓策略部位參與結算的方式,讓回測報表跟我的實際交易可以幾乎吻合,但不是每個人也都該這樣做,這只是一種選擇。不過,如果你採用結算日讓策略部位轉倉的方式,是不是應該要把這個實際存在交易執行面與回測報告間的落差做一點了解呢?而這會需要近、遠月兩種資料來協助了,手動去每個月比對做計算。雖然也不是非常多筆,大不了也就一百多次而已。

現在有個軟體叫『策略經理人』的,可以幫你把你的策略做換倉處理後的回測報告,這能讓我們看到更接近真實的數據評估。它可以讓你指定在什麼時候做換倉動作,也許你就能評估看看,長時間下來選在哪個時間去做換倉對你最有利,結算日當天?前一天?1點15分?1點23分?或是1點29分?當然,這會是有一點參數最佳化風險的 XD


你也能利用這個功能,也讓自己的策略做成兩種版本,一個是結算日當天參與結算,一個保持傳統的方式─當做沒有結算這回事。然後兩相比較,看看哪一種可能會是較佳的選擇。我把我自己的策略組合做了一下比較。




2013年5月14日

從陌生消費看Yahoo購物


按讚加入程式交易─散戶交易的王道
我是個在網路上購物頻率非常高的人,已經快要到了快遞一周到我家探訪兩三次以上了。而佔據我的網路荷包以 PChome 佔了主要比例,今天的購物過程剛好跑到 Yahoo 去體驗了一番,過程實在讓我感到氣餒,實際上這次採購我就從本來決定向 Yahoo 這邊,後來轉到了別處去了。

找一個鍋子,幾乎我都是先從 PChome 找起,看著看著,出現了我要的東西:


以前我很可能就是直接按下購物車準備結帳了,後來有了一些幫忙比價的小程式幫忙...

畢竟沒有人願意知道同一商品有更低價的地方,還硬要往高價的店去買吧,一點都沒有阻礙,我點向了 Yahoo 超級商城去。就在我按下該商品的方入購物車這動作時,開始了我的氣餒旅程。

一開始我是用 Google 帳戶登入的,也就是說 Yahoo 認得我是誰,不管真假,結果他沒有給我進入購物車,直接打我槍,用以下的方式... 因為有價差,我忍一下。按照他的步驟來,很不幸的,經過兩次登出 / 登入後~放棄。改走別的方法。

也許是 Google 帳戶的問題吧,改用 Facebook 試試看。又是這樣...

以上兩種登入方式,我在 Chrome 與 IE9 都試了,一樣的反應。

因為 Yahoo 的 mail 功能很差(應該不需要我舉證吧,其實都是 Gmail 的錯),我早就很難記住我的 Yahoo 帳號了,於是我勉強著把 Yahoo 帳號 / 密碼找到填進去,終於進去了!


從以上的過程,站在一個如果本來不是 Yahoo 會員的消費者角度看,我真的會覺得你們這家公司是怎樣?如果不加入你們的會員就不能買東西嗎?如果 Yahoo 堅持一定要會員才能買的話,是否根本不該出現其他的登入方式選擇(Google、Facebook)。

在網路購物逐漸發達的現在,比價也是彈指之間,如果好不容易有生意上門了,還讓消費者得歷經艱辛才能跟你們成交。想一想吧!



2013年5月10日

指數創高,你的股票呢?


按讚加入程式交易─散戶交易的王道
這一波指數漲了約六百點,操作股票的朋友有相對應的獲利嗎?

有點不算短的時間了,看看騰落線就可以明顯看出,即使台股指數有在往上突破,但多數散戶手上的股票恐怕是 2266 的。

以前我認為在台灣交易股票要獲利的難度比操作指數更加困難,現在...我還是這麼認為。


如果,這一波您手上的股票沒有帶來相對指數的漲幅獲利,甚至可能是過去台股波段上漲的經驗中,常常是如此的話,真的要好好考慮,是否是制度本身上,指數的交易本來就比股票交易更公平了。


假日到了,想一想吧。




2013年5月7日

在圖表上顯示策略名稱部位方向與成本


按讚加入程式交易─散戶交易的王道
這篇用的是函數的方式,建好了函數,也不需要下參數,以後任何訊號要使用這個功能,只要在策略訊號程式碼內加上這一小句,在任何圖表上當你使用了該策略訊號,就會在圖表上顯示該策略的名稱、多空單、初始成本價了。

這個函數做出來的效果如下圖:

函數名稱: _ShowStrategy
函數程式碼:
{Show StrategyName on Chart...start}
  text_delete(value1);  
  value1=TEXT_New(D, T, H,"");
  if marketposition>0 then TEXT_SetString(value1, getstrategyname + "=Strong_" + NumToStr(entryprice,0)); 
  if marketposition<0 then TEXT_SetString(value1, getstrategyname + "=Weak_" + NumToStr(entryprice,0)); 
  if marketposition=0 then TEXT_SetString(value1, getstrategyname + "=even"); 
  TEXT_SetStyle(value1, 1, 1);
  TEXT_SetColor(value1, Red);
  TEXT_SetBGcolor(value1, White);
  TEXT_Setattribute(value1,1,true);
  TEXT_SetSize(value1,11);
  TEXT_Setlocation(value1,D,T,GetAppInfo(aiHighestDispValue));
{Show StrategyName on Chart...end}


函數建立好之後,如何放在你的策略訊號程式碼內呢?

例如:

if Average( C, 5 ) > Average( C,10 ) then
  buy next bar market;

if Average( C, 5 ) < Average( C,10 ) then
  sellshort next bar market;

//以上是你原本的策略程式碼,下方加上這一句就行了。
_ShowStrategy;


Now,try it !



2013年5月3日

程式交易─進階班


按讚加入程式交易─散戶交易的王道
本班源自,中階班與高階班的合併。裁去兩堂課中為了彼此接續而有重複的部份。做這樣的安排是因為過去參加的學員中甚少是單獨參加中階班或是高階班的,重複內容反而浪費同學的時間與往返交通成本,所以把這兩堂課合併起來,一天的上下午一次學起來。

上午課程內容:
  • 實戰角度看回測數據
  • 實例示範策略研發流程
  • 策略最佳化的未來模擬
  • 推進測試的效用與意義


下午課程內容:
  • 策略上線前的風險評估與資金準備
  • 策略回春術:動態設定部位大小

詳細介紹可參考過去 中階班高階班 的課程介紹內容。

本課程雖採用我個人使用或開發的策略作為教材範例,也會提供課中所用到的功能的程式碼,但不會對課程碼的構成多做詳細介紹,參加本班的同學如沒有上初階班的話,最好已經是有自己編寫 PowerLanguage 程式碼的經驗。

課程學費 15,000 元。報名請先繳交三千元報名費以保留席次,確定上課日期的前兩週會通知繳交學費尾款。請在匯款後來信(右邊點擊)告知三項訊息:姓名、聯絡電話、匯出帳號的末五碼。未竟詳盡訊息請來信詢問。

報名費與學費的匯款帳戶資料: 
國泰世華銀行(013)帳號: 049580065049 戶名:曾永政。




2013年4月20日

TSMC:我是冤枉的,我沒有帶賽大盤!


按讚加入程式交易─散戶交易的王道
這個週五,台股加權指數大漲近 140 點,而台積電...漲停,真是大象也會跳舞。光是台積電一家公司的大漲就貢獻了今天加權指數快一半的漲點。過去印象中,似乎台積電這個台股市場裡的超級大象如果會跳舞的時候,往往也就接近台股的轉折點。今天,抓了 2001 年到目前的加權指數 與 台積電的股價來做統計:TSMC 的漲跌停是否對台股的行情是否會是一盞"冥"燈?

測試的方法為,當台積電收盤價相對昨天收盤價超過 6.5 %以上就當做這天漲跌停,如果漲幅超過 6.5% 就放空當天的加權指數、跌幅超過 6.5% 就買進加權指數,忽略交易成本,以當日收盤價計算。累計這樣做的績效來看看,當 TSMC 漲跌停發生時,反向去操作加權指數是否有利可圖當做 TSMC 可能會是台股加權指數的冥燈。為了有個波段的定義,所以設定進場後的第20天一律出場。因此,在這個測試中有兩個參數:台積電的漲跌幅度 與 進場後第幾天出場。
input:wave(0.065),
      holdDays(20);

var:TSMC(1),
    redLight(false),
    greenLight(false);


TSMC= C of data2;

redLight= (TSMC-TSMC[1])/TSMC[1] >= wave;
greenLight= (TSMC-TSMC[1])/TSMC[1] <= -1*wave;


if redLight then
  sellshort this bar close;
  
if greenLight then
  buy this bar close;
  

if barssinceentry(0)= holdDays then begin
  sell this bar close;
  buytocover this bar close;
end;


讓我們來看看這樣做到底有沒有搞頭?竟然...會賠錢!而且是做空/作多都會賠,這表示當台積電漲停那天的收盤去空加權指數,  20 天後出場;台積電跌停那天去買加權指數,20天後出場,都會賠錢!也就是以 20 天的時間當做波段來說,其實追著台積電的大漲大跌去做不算太差。


但是,這個所謂的 20 天,會不會是"巧合"?這時候我們拿最佳化來做一下測試,從 10天、15天、20天到...250天後出場都試試看。結果,在這樣的 49個日期出場,竟然只有 8個能產生獲利,這表示多數的"波段"天數認定,跟著台積電的大漲大跌去對幹是不明智的耶 =_=


那麼,順著毛摸,台積電漲停我也去追、台積電跌停去空呢?
input:wave(0.065),
      holdDays(20);

var:TSMC(1),
    redLight(false),
    greenLight(false);


TSMC= C of data2;

redLight= (TSMC-TSMC[1])/TSMC[1] >= wave;
greenLight= (TSMC-TSMC[1])/TSMC[1] <= -1*wave;


if redLight then
  buy this bar close;
  
if greenLight then
  sellshort this bar close;
  

if barssinceentry(0)= holdDays then begin
  sell this bar close;
  buytocover this bar close;
end;


嘿,還有搞頭呢。


一樣,跑一下參數的最佳化看看是否其實不管抱個幾天,都是能獲利而不是僅僅選個 20天剛好能獲利的巧合。測試後的圖表顯示,進場後幾天出場,絕大多數的選擇都可以帶來獲利,甚至,抱的越久還賺得越多。


從這樣簡單的統計測試就可以看出,過去我印象中的經驗,真的是冤枉了台積電。甚至,也許我們還可以把台積電的漲跌停當成做一個波段指向的不錯指標咧。台積電的亮燈,不是冥燈,還可能是盞明燈呢!


But,如果你想說既然台積電的漲跌停可以作為波段的指向,而乾脆就追台積電本身的漲跌停的話,我勸你最好別這麼做。因為,當我把交易對象從加權指數換成台積電本尊的時候... 看來,進場後 80天內出場的,通通是賠錢的,時間拉長了也不見得討得到便宜,這表示台積電的漲跌停對他自己的股價來說,也算得上是波段的高低點了。





2013年4月16日

再破前低證空頭,莫讓溫水煮青蛙


按讚加入程式交易─散戶交易的王道
04/10,大盤收在 7752 那天:『大盤破線已走空,近日反彈別疑惑』判斷了兩日內反彈到缺口附近要落跑。今天大盤一開盤就開在前波低點以下,讓波型繼續走著下降波。

空頭走勢沒有別的,不過就是低點一波一波往下破,麻煩的是多數人在急跌重挫發生的時候才會有感覺,慢性緩跌往往不知不覺。

這一波往上走了約四個月的上漲波,根本沒有爆大量的出貨反轉型態。因此,我認為現在進行式的往下波動也不會有"激情",也就是說出現急跌重挫的可能性滿低的。沒有大量就沒有激昂的情緒,不管是滿懷期望或是草木皆兵。


今天目前看來成交量並不算大,明天台指結算,大盤形成量縮紅K的可能性不小。量縮小紅K出現的話,今天往下的跳空缺口應該會很快就看到回補。我想往後在往下走的過程可能都會是這樣,莫名其妙的往下跳一下,然後就停住,又很快的回補缺口,不知不覺慢慢的往下跌。至於什麼時候止跌打底?大家都想要預測(逆勢)...

現在,我認為突破缺口那天的更大成交量出現會是必要條件。

補充一下,多看看自己手上的持股,而別只是看指數沒有大跌 500、1000 就 so far so good。





熱門文章