1.滑價的設定是根據每個商品實際交易的經驗而設定的,有些流動性好的商品(如SP500,滑價的平均值可能只有$8左右,而流動性差的商品,如天然氣,可能到$30-40左右。我只是以我個人的經驗,先簡單設定一個tick來當作滑價而已。如果加幣或澳幣的話,也可以設一個tick$10來當作滑價。
但是實務上比較好的作法是,先實際交易策略一陣子,然後記錄滑價,在根據實際滑價的平均值來設定回測時候的滑價社定值,這樣才會比較準確。但是以匯率期貨來說,我一般都是設定一個tick當作滑價。
滑價設定之後,回測報告就會在每次進場&出場都把滑價的成本計算進去,也就是進場滑一個tick,出場也會滑一個tick。一近一出也就會滑兩個tick。

2.應該是 $15/ initial capital來計算會比較好。

3.回測的時候,就算把initial capital都虧完的話,回測也不會把我們趕出去,這樣才能讓我們跑完回測的時候看這個策略的maximum drawdown有多少,所以這是正常的。

best regards,
-------------------------------------------------
藍大您好:
一直以來都是交易台股相關的商品,目前想交易一些海外商品,遇到瓶頸,想請教幾個問題,基於一些我個人的需求所以我沒去TS開戶,而是使用寶來的api自己開發自動下單,那在收即時資料時,是收電子盤將近24小時的資料嗎?第二個問題是,當沖交易時是只有在人工盤交易時段才交易嗎?另外回測歷史資料時也是以人工盤的交易時段做回測嗎?目前有沒有哪些商品的是您比較推薦適合做當沖的呢??從台灣下到美國的話做當沖是否會有滑價過大的問題,還有一堆問題想問不過怕嚇壞了藍大您,下次再來學點東西。                             
Eric

--------------------------------------------------
如果你要收資料的話,建議還是收電子盤24小時的資料,這樣做回測的時候資料才完整。我自己是在TS開戶,所以歷史資料都是直接開TS就會全部回補到最新的資料,我就不需要去管收資料的事情了。

我主要是作波段的策略,只有少數幾個當沖的策略,我目前當沖用的是24小時的時段,沒有只限制在人工盤時間。但是如果你要交易一些人工盤時間之外流動性很差的商品的話(例如熱燃油,天然氣),就建議只能在人工盤時段交易了。不然滑價會嚇死人的。

如果回測的時段應該要跟實際交易的時段一樣,如果只回測人工盤時段的話,實際交易就要只交易人工盤時段。但是如果回測是24小時的話,那麼實際交易就要24小時交易。

如果要當沖的話,可以試試看小nasdaq(擺盪), 原油(順勢), 黃金(順勢)這些商品看看。

我掛單都是先把單子(stop 單或是limit單)掛到美國TS的server去,不是等價位到的時候才從我的PC送單到美國去,所以滑價的問題其實不大。

tks.

--------------------------------------------------
藍色投機客於2010/12/06 09:01回覆
Dears,

1. 一般會先決定自己喜歡用 5K或是日線來交易。先決定了time frame之後才會有皆下來策略參數設定的問題。
2.TS是可以把5K的圖轉成日K圖的功能。這個並不會很困難。 如果你的回測全部都是以日K為基礎的話,那就可以把5K的圖轉成日K圖在來回測。

3.他的Inputs: Length(9) 一般指的應該是9天吧!!?如果我用5分K, 這樣Length(9)不就變成45分鐘的平均了??
A)沒錯。

3.想到一個問題, 就是假如我是使用5分K圖, 如果您的 Length(60)指的是1小時, 那用5分K是否要改為Length(12)?A)不對ㄟ,如果是在60K圖裡面用Length(60)的話,代表是 60跟K線*60分鐘。轉換成5K圖的話,應該要用的參數是 length(720)才對。 tks.

4.如果 Length(60)指的是60天, 那我是否要先將5分K圖改成以日K圖顯示?
A)對,正確。

-------------------------------------------------
藍色投機客於2010/10/11 16:14回覆
你好,

有關於論文大部分都用bootstrapping或monte carlo來做robustness的原因,我個人是認為因為bootstrapping/monte carlo在理論上比較紮實,而且有數學上的依據。而且用bootstrapping/monte carlo的話,論文看起來就會比較炫。比單純的用WFA+簡單的統計方法來的學術化一點。比較容易被期刊接受刊出來,呵呵。我之前看過的一般學術論文,大都只有做到in sample, out of sample就算很不錯了。


您覺得實務上哪一種比較有用呢?
A)但是就我交易的實務觀點來看,WFA才是真正能夠看出一個交易策略好壞的檢驗方法,因為一個策略,如果是經過完美curve fitting的話,那麼回測資料拿去做bootrstrpping/monte carlo也都會很漂亮,因為input的資料都是已經經過美化的資料,所以不管模擬跑幾千次or幾萬次,output的資料也都會是很漂亮的。但是如果採用WFA來檢驗的話,curve fitting的交易策略,通常會在WFA出現很差的績效。所以我認為WFA才是能夠看出一個策略是不是具有robustness的檢驗方法。


我可以三種方法都用來做交易法則的robustness嗎?

A)可以,有一種作法是先把交易策略拿去做WFA,然後再把WFA的out of sample結果拿去做bootstrapping/monte carlo,這樣的檢驗程序就又更嚴謹一些,比單純用in sample的資料去做bootstrapping/monte carlo會來得還要好。這裡有一個webminar,談的就是用WFA,然後拿out of sample的交易,然後再去跑monte carlo。之後再去取95%的信心水準去看獲利平均值,MDD, Return on MDD。作者是麻州大學的數學教授,我覺得他的這個觀念很不錯,可以參考看看。

http://www.traderkingdom.com/automated-systems-archived-webinars/1157-the-truth-about-drawdowns


如果我直接拿最近國外論文上面做過data mining /bootstrapping得出之績效較好的幾十種交易法則,來跑WFA, 會有衝突嗎?
A)我認為是不會有衝突,只是當你把這些經過國外data mining出來可以work的交易策略做過WFA之後,還要經過一些簡單的統計方法來檢驗這樣WFA out of sample的交易是不是具有獲利能力。實務上我知道也是有人這樣做的。

-------------------------------------------------
Dear藍色投機客: 謝謝您在百忙之中願意回覆我,您可否願意另外告知我一些相關費用的問題? 如果開戶後,選擇交易Futures & Futures Options Data 的CBOT,CME,NYMEX,NYBOT, 那我應該繳納的Monthly Data Fee就是61+61+65+61=248,是嗎? http://www.tradestation.com/brokerage/market_data.shtm 那個Data Package #1 是不是只能交易小商品?只有Data Package #2才能交易大商品? 如果我當月不交易,那我就必須被扣100元的平台費,不能事先告知說我這個月不交易,請TS不要計費嗎? 如果都是交易100口(單邊),皆不考慮滑價, 國內總費用:100*單邊6美元(我在國內的費用)=600 國外總費用:100*單邊3美元(以最大來算)+248=548,(出金還必須被銀行扣錢) 如果月成交在100口以內,好像差距也在1500台幣以內,感覺很像不大。

藍色投機客於2010/09/09 15:28回覆
Dears,
如果開戶後,選擇交易Futures & Futures Options Data 的CBOT,CME,NYMEX,NYBOT,那我應該繳納的Monthly Data Fee就是61+61+65+61=248,是
A) 沒錯。

http://www.tradestation.com/brokerage/market_data.shtm 那個Data Package #1 是不是只能交易小商品?只有Data Package #2才能交易大商品?
A)對,data package只能交易 mini 商品。其他的需要data package 2

如果我當月不交易,那我就必須被扣100元的平台費,不能事先告知說我這個月不交易,請TS不要計費嗎?
A) 不行,當月交易不足10筆的話,就會扣$99平台費。 不能事先告知的。

如果都是交易100口(單邊),皆不考慮滑價,國內總費用:100*單邊6美元(我在國內的費用)=600 國外總費用:100*單邊3美元(以最大來算)+248=548,(出金還必須被銀行扣錢)如果月成交在100口以內,好像差距也在1500台幣以內,感覺很像不大。
A) 沒錯,所以交易量不大的話,其實國內的費用不會比較高。

tks.
---------------------------------------------------

請問有關資金管理(Fixed Risk 3% ) 如果我用15萬美元去同時操作5個市場, 那麼當我做資金管理(Fixed Risk 3% ) 的時候 我應該是用 15萬 *3% =4500 去計算每個市場操作多少口數,

還是先把15萬 / 5個市場 = 每個市場可用3萬元,
再把 3萬*3% =900 才去計算每個市場操作多少口數 ?
謝謝

藍色投機客於2010/04/14 11:07回覆
Dears,

應該是15萬*3%=4500去作計算。因為我們要算的是單筆交易佔"整體資金"的風險百分比。tks.

best regards,

----------------------------------------------------
藍大您好:

1. 藍大說過, “交易黃金時操作交易量最大的月份, “那麼是不是每個期貨市場都是操作交易量最大的月份 ?


2. 藍大說過” 我實際操作的經驗,作外匯現貨的交易成本(點差,手續費)會比作匯率期貨來的貴。TS forum裡面的人也是建議操作匯率期貨”

那麼當我做:
日元的backtest 時,是不是用 Symbol: USDJPY, 當真正下單時就用 Symbol eg. JYM10
英磅backtest 時,是不是用 Symbol: GBPUSD, 當真正下單時就用 Symbol eg. BPM10 這樣對嗎 ?

這樣對嗎 ?


藍色投機客於2010/04/07 09:17回覆
Dears,

1.基本上是這樣的,沒錯。因為交易量大代表流動性好,滑價也會少一點。

2.如果要下匯率期貨的話,建議就直接拿匯率期貨的歷史資料來回測。然後也用匯率期貨的資料來下單。不要回測用現貨,下單用期貨。tks.

best regards,


--------------------------------------------------
藍色大您好,謝謝上次您的回答,小弟現在有個TS 8.7問題請教,假如 1.今天我的策略訊號已經出來進空單(還未執行策略), 2.我自己手動下空單成交,3.然後我把策略執行後,4.等到策略訊號產生回補時,結果我的空單並不會自動照策略回補,還要我手動回補,是不是哪個地方需要設定呢?之前8.6,8.5它們都會自動就回補,謝謝賜教

藍色投機客於2010/03/17 13:47回覆
Dears,

理論上這樣的情形應該會自動回補才對,我相信應該是設定的問題,可以把你設定的畫面貼給我看一下嗎?這樣比較好找答案。tks.

best regards,


2010/03/02 01:49:49 lung6116 檢舉

藍色大, 您好! 在您的部落格學到很多程式交易的知識與資源, 非常感謝, 請教您, 在美國投資期貨的收入, 年終申報所得, 稅率預估多少是合適的, 我用Turbo Tax試算, 僅需交大約萬分之六+六, 不知道您實際的經騐如何? 麻煩你, 謝謝! Gary

--------------------------------------------------




Dear藍大, 研究了一陣子ts之後 又有些問題要來煩你了...orz

1, ts該如何換倉交易?手動嗎? 例如: 在ts的換倉日(ex. 黃金是第一通知日)就把我們的策略從@GCZ09[Dec09]取消, 然後換到@GCG10[Feb10]繼續, 是這樣嗎? 或者有更好的作法? 還有 藍大提供的ts rollover資料黃金的V(十月)都是藍色或淺藍色, why?? 大家都不交易十月的黃金期貨合約嗎?? 有@GCQ09[Aug09], 也有@GCZ09[Dec09], 就是沒有@GCV09[Oct09]耶...

2, 因為NYSEL的資料費只要$1, 可是COMEX的資料費要$55...所以如果只做黃金的話當然是NYSEL了orz, 可是紐約黃金(ZG)的資料只有從2004/10開始(且很像只有電子盤),而芝加哥黃金(GC)則從1980之前就有了,就算是intraday也是從2001/05開始即有, 所以我們可以拿GC來模擬, 但是我們實際上交易ZG? 這兩種黃金應該要一樣,因為有人套利 是嗎? 你建議這種拿GC模擬 可是操作ZG的作法嗎? ps.我有拿GC的in sample data去測GC與ZG的out of sample data, 這樣測ZG差GC一點而已 (進出場皆用最簡單的突破系統, data=60k, usd2000停損出場 沒有任何濾網)

3, 不知道是技術太差 還是什麼問題 我用日k作WFA, WFE都很差, 一樣是最簡單的突破系統, 日k的WFE比分k的WFE差超多, 是否是因為美盤都開24hr, 其日k的跳動太大, 導致我們的突破系統反應過慢, 藍大有遇過類似情形嗎? 完全一樣的系統, time frame不同 日->小時, performance就差很多. 另外, 因為GC intraday從2001開始, time frame=60k, 而2001到現在 黃金原則上是走一個持續的漲勢, 沒有盤整也沒有熊市, 如果我們模擬得到2001-2009的back testing及WFA均可得到不錯的結果, 這結果直得我們信任嗎?

4, 假設我們作多與作空都使用突破近場, atr出場, 會有一種狀況, 就是多方的atr還沒出場, 空方的突破就要進場了. 如果要讓多方與空方皆完全遵守突破進場atr出場的話, 應該是 多方突破進場 position=1, 空方進場 position=0, 多方出場position=-1, 這樣ts該怎麼寫...很像無法簡單的判斷? 會寫成多方突破進場 position=1, 空方進場 position=-1...(多方出場的狀況就不管了...), 因為本來簡單的突破進場=LE/SE, atr出場=LX/SX 會變成, 突破進場有LE/SE/LX/SX, atr出場也會變成LX/SX/LE/SE四種可能...另外, 如果我們用這種系統 雖然作多兩個參數(突破進場一個, atr出場一個) 作空兩個參數(同作多), 可是實際上 是四個參數, 再加上停損usd2000元, 就變成五個參數了, 這種系統是否稍嫌過於複雜? (即使看起來很簡單 反正就多空都用突破進場 atr出場), 以及, 我們分開模擬最簡單的突破進場出場系統 假設 我們作多得到的最佳化是5/10, 作空則是得到15/3, 於是我們就拿這四個參數去交易, 這樣會變成一個很簡單的系統 可是參數是4個, overfitting的機會大增 是嗎?

5, 小弟在最近都再作WFA居多, 有做過WFA之後, 果然會令我們對於系統能否使用更具信心, 所以現在小弟使用back test只是在試用策略能不能用而已 如果back test就很爛 那就可以不考慮此系統了, 而之後驗證系統能否獲利 獲利多少 參數調整 都是使用WFA來做所有的模擬. 小弟是有觀察到WFA有某種程度的學習能力 for ex 2001/1-2006/1的參數地形圖 與 2002/1-2007/1的參數地形圖會有地形挪動的狀況(很像板塊在挪動@.@") 所以當然我們也跟著調整我們的參數, 假設我們是希望使用5年vs1年的話 我們可以觀察in-sampe 2001/1-2006/1 與 out of samle 2006/1-2007/1 這兩張地形圖的關連性 如果高原處疊在附近 那我們就可以相信我們五年back test的結果 運用做未知的下一年 可以得到好的獲利, 再對in-sample與out of sample的地形圖作一元線性迴歸 看出相關性有多高(alpha值). 可是問題就來了, 假設我們用10年vs1年, 一次挪動一年, WFA學習能力會不好, 因為dominant在中間9年不變, (ex. 2001-2010 -> 2002-2011, 其中2002-2010這九年是相同的), WFA反應很慢(一次只有10%變動), 可是如果我們使用5年vs1年, 會有20%變動, WFA反應會變快, 可是測試10年 與 測試5年, 10年在統計上比5年更具有意義(交易次數多), 這樣會變成WFA的學習能力 與 WFA in-sample data夠久在統計上的優勢 的一種trade-off? 這方面請問藍大有何看法?

6, 一樣是有關WFA的問題, 假設我們用日K來做WFA, 10年vs0.5年好了, 這個十年的交易次數相信可達到兩三百次之高, 假設我們得到20日突破作多, 50日突破作空, 20/50 這個參數, 可是當我們把這組參數應用在下一年的時候 表現很爛, 可是只交易了兩次, 或者表現超級好, 可是也是只交易了3-5次, 我相信這種<30 甚至 <50次的這種out of sample test, 其實在統計上意義很小, 或許如果我們用10年vs3年, 才可以真正驗證出20/50這組參數好壞, 可是實際交易上我們不可能3年才調整一次參數. 所以就變成, 對於WFA 或者 back-testing而言, 我們做當沖 比 作分K好, 又比作日K更好 (因為我們可以拿來測的K棒很多). 所以身為一個程式交易者, 當然越多的K棒對我們越有利, 可取得更多統計上的驗證, 可是因為K棒不可能無限多以及我們在實際交易時, 不可能兩三年才update一次參數, 所以會變成, 對程式交易而言, 1分k trade > 5分k trade > 30分k trade > 1小時k trade > 日k trade? 請問藍大在這方面的看法?

一次問了好多問題...@.@" 希望藍大不吝賜教... 感恩感恩......

藍色投機客於2009/12/23 16:04回覆
Dears,
呵呵,我就我所知道的來回答囉。
1.TS的換倉是要自己手動換倉的,他沒有提供自動轉倉的功能。所以我們自己要在轉倉日之前自己轉倉。rollover表裡面,用藍色表示雖然期貨契約裡面有這個月份,但是因為實際交易的時候,大家都沒有交易這個月份,所以成交量很低,也因此TS就沒有採用這個月份的資料。

2.用NYSEL的ZG雖然資料費比較便宜,但是流動性很差。每天的成交量不到一萬口,NYMEX的GC每天有十幾萬口,所以如果從流動性的角度來看,應該是GC會比較好喔。

如果ZG的資料不夠久的話,是可以用GC的歷史資料的。因為這兩種商品算是一模一樣規格的商品,所以我認為是可以用GC的歷史資料來學習,然後套用在ZG上面的。

3.我倒是還沒有用日K來跑過WFAㄟ,我猜是是因為日K的time frame比較長,所以相較於分時線的參數,日K的參數會比較敏感。比如說三天和四天的績效,就會相對於比70根&75跟K線的績效,會要來的差距比較大。

4.如果希望要先出場以後,然後才允許另一邊的進場。可以這樣寫:
if marketposition = 0 then begin
進場條件 end;
if marketposition <> 0 then begin
出場條件 end;
這樣就會先出場以後,保持在空手的狀態,才會有另一邊的進場。

有關於作多和作空的參數,我個人是喜歡作多和作空用同樣的參數,不會單獨分多空。原因就是你講的,這樣會讓策略變的參數太多,這樣curve fitting的風險會增加。所以如果以price channel來說的話,我都是用同樣的參數(比如說60)來用作long & short的參數。

5.你的觀點沒有錯,有關於WFA的in sample & out of sample的時間長度應該要取多久,的確還沒有一個公認的規則出來。所以我目前實際的作法大多是採用12個月->1個月的in sample / out of sample時間長度來作。原因是通常in sample 12個月可以產生足夠多的交易筆數。而且out of sample採一個月,代表我實際交易的時候,每一個月就會重新跑一次最佳化。這樣的頻率,我是覺得還可以接受。

6.正確,我也認為交易次數越多越好,所以就time frame來說,1K->5K->30K->60K->日K. 越短的time frame可以產生越多筆的交易。而越頻繁的交易,在歷史回測來看,救代表著統計的顯著性會越好。而在實際交易的時候,就代表著equity curve會越細膩,越平滑。

但是有一個前提,而且是很重要的前提,就是每筆產生的獲利要能夠打敗滑價和手續費,因為交易越頻繁的話,滑價和手續費吃掉獲利的比率就會越大。所以如果有一個交易次數很頻繁,而且又能打敗滑價和手續費的策略,那就可以好好運用了。

best regards,














arrow
arrow
    全站熱搜

    David 發表在 痞客邦 留言(0) 人氣()