在中國做交易者苦,苦在自己有一些思路,但沒有辦法去驗證。這里的驗證就是指交易系統(tǒng)的模擬測試。 過去我用tradestation 8.1 3006版做模擬測試,為此還寫了一篇簡短的教材,估計有些人看過了。只是tradestation還是有一些缺點,比如8.2以上的版本才支持vista和windows7,8.1以上的版本無法正常導入TXT數(shù)據(jù),無法產(chǎn)生正常的測試報告等等。 在這種情況下,我準備開始研究multicharts。multicharts和tradestation本是一家,用老百姓通俗的話說:multicharts是tradestation的高級版本,這樣解釋不為過。 美國行情軟件簡介 美國行情軟件有一點與中國很不同:大多都是收費的;美國的實時行情數(shù)據(jù)大多也是收費的。據(jù)海洋部落論壇的neo介紹,他認為目前成本最低的方法就是在tradestation公司開戶,然后每月支付100美元的軟件使用費,這樣就可以交易美國投資品種了。目前美國行情軟件都不支持中國投資品種。 multicharts也是收費軟件,目前最新版是5.5版。網(wǎng)上的破解版只有5.0beta2版,我正在使用這個版本,能裝在windows7操作系統(tǒng)上面。我使用的這個版本可以收到美國投資品種行情,但這不是我研究的重點。我研究的重點是導入10年以上的歷史數(shù)據(jù)做模擬測試。目前來看,導入TXT數(shù)據(jù)沒問題,生成測試報告沒問題,模擬測試報告可以存盤。 感謝破解王 雖然目前最新版是5.5版,但成功的破解只有multicharts 5.0.1781.202 beta2的,這是東方華爾街論壇的破解王提供的,表示感謝。破解很簡單,就是把破解王提供的幾個文件覆蓋原文件就行了。 導入TXT數(shù)據(jù) 招商證券免費的行情軟件就可以導出TXT文本,可以先導出excel格式,再整理成TXT文本。切記,不能有任何中文。 導入TXT數(shù)據(jù)的具體方法見鏈接: http://www./support/tutorials/ 這個網(wǎng)站的ASCII data和ASCII mapping有兩個教學演示,其實就是導入TXT數(shù)據(jù)的演示過程,請認真觀看幾次,這樣導入TXT數(shù)據(jù)的問題就解決了。 導入TXT數(shù)據(jù)文字說明 在D盤建立一個文件夾,取名字為“multichartsdata”,把下載好的TXT文件拷貝到這個文件夾中,并把TXT文件的名字改為“shzs.txt”。(本例中是上證指數(shù)) 雙擊桌面上的“QuoteManager”,然后出現(xiàn)了一個界面。QuoteManager主要負責處理股票(包含期貨和外匯)的代碼和相關(guān)的數(shù)據(jù)服務(wù)器。我們現(xiàn)在要做的事是為已經(jīng)下載的shzs.txt數(shù)據(jù)命名一個代碼以區(qū)別于其它代碼,故,我們決定這個代碼就叫“shzs”。 注意事項:我們?nèi)〉拇a名字不能和QuoteManager已經(jīng)有的代碼重復。 在QuoteManager界面中,點擊工具欄中的“Symbol”(代碼),點擊“Add Symbol”(添加代碼),點擊“Manually…”(手工添加)。 此時出現(xiàn)一個名為“Add Symbol”的界面,進行以下操作: Data Source(數(shù)據(jù)源):后面選擇Universal DDE(全球通用數(shù)據(jù)); Symbol:輸入shzs; Category(類型):后面選擇stocks(股票。張軼注:shzs應該是股指期貨,但我只當股票用,所以這里選擇了股票,不影響使用。); Exchange(交易所):后面選擇UNDEF(未定義的交易所。張軼注:本軟件強啊,現(xiàn)在支持很多交易所,連中國的上交所和深交所都支持了,我目前當自己傻,選擇未定義的交易所也行。) 點擊“OK”,出現(xiàn)了“shzs – Edit Symbol”(shzs——編輯代碼)的界面, Symbol Root(代碼縮寫):我們填“shzs”(張軼注:相當于把中國石油縮寫成zgsy); Description(描述):我們填“shzs index”;(張軼注:這個可以隨便填寫,僅僅是注釋作用) 點擊“確定”,此時可以在QuoteManager界面的最下面一行看見了sp500。 右擊最下面一行的shzs,點擊“Import Dat”(導入數(shù)據(jù)),點擊“ASCII…”(一般指TXT數(shù)據(jù)),然后出現(xiàn)了ASCII Data Import界面, 我們在對話框中制定路徑:D:multichartsdatashzs.txt,此時這個數(shù)據(jù)的詳細信息就在下面出現(xiàn)了,基本上都不要改啦,點擊“OK”。幾秒鐘后,出現(xiàn)一個界面說“the data was imported successfully”(數(shù)據(jù)成功導入),點擊“確定”,大功告成。關(guān)閉QuoteManager界面,然后去打開multicharts主程序。 雙擊桌面上的multicharts圖標,然后出現(xiàn)一個對話框,點中對話框中的“Online: Load the locally stored data and connect to a real-time data feed”這句話,勾選“Download missing historical data”這句話,勾選“Show Data Server Mode dialog box on startup”,點擊:“OK”,進入multicharts。 關(guān)閉所有的小窗口,一般是6個小窗口,這些窗口中的股票并不是我們要研究的股票,所以直接關(guān)閉它們的窗口。 在主界面的空白區(qū)右擊鼠標,點擊“Chart Window”(圖表窗口),然后出現(xiàn)了Format Symbol(格式化代碼)界面, 在Data Source后面找到Universal DDE,下面就能看見shzs了,點擊它,然后都在Symbol后面自動出現(xiàn)了shzs。再點擊“Settings”(設(shè)置)選項卡,把Resolution(圖表格式)后面設(shè)置成“Day”(日線圖)。下面還有“Data Range”(數(shù)據(jù)范圍),我們設(shè)置成“from 1990-12-19 to 2009-11-06”(從1990年12月19日到2009年11月6日)。點擊“確定”,哈哈,竹線圖生成了。如果不習慣竹線圖,右擊鼠標,點擊“Format Symbol”,選擇“Style”(風格),“Chart Type”(圖表類型)選擇“Hollow Candlestick”(這個就是K線啦)中間是“Chart Style”,做如下修改: Up后面手工改成紅色; Down后面手工改成綠色。 下面的“Use as default”(作為默認格式),打勾。點擊確定,中國人習慣的K線圖出來了。 模擬測試目標為上證指數(shù),請到招商證券網(wǎng)站下載免費的行情軟件并導入上證指數(shù)數(shù)據(jù)。 編寫交易系統(tǒng) 交易系統(tǒng)的編寫是最難的。因為本人水平有限,只能編一個簡單版的斯坦利·克羅交易系統(tǒng)。這個系統(tǒng)的原理很簡單: 如果收盤價大于MA(HIGH,30)就買入1份合約; 如果收盤價小于MA(LOW,30)就平倉。 這個系統(tǒng)很簡單,測試的結(jié)果也比較客觀。再復雜的系統(tǒng)我也不會編寫。暫時就編這個。 雙擊桌面上的“PowerLanguage Editor”,這個是編程軟件,在主界面點擊“File”,點擊“New”,此時出現(xiàn)一個對話框,選擇“Signal”,這里就是指交易系統(tǒng)的信號啦,點擊OK,此時出現(xiàn)一個對話框要求給交易系統(tǒng)取個名字,就取名為stanleykrollsystem,然后在編程界面輸入以下文字: if close crosses above average ( high , 30 ) and marketposition = 0 then begin; buy 1 share this bar at close; end; if close crosses below average ( low , 30 ) and marketposition = 1 then begin; sell 1 share this bar at close; end; 再點擊“Compile”,這個動作的目的是尋找交易系統(tǒng)程序是否有錯,如果有錯,軟件會提示錯誤,如果沒有錯誤,界面下面會提示成功了,并自動把這個交易系統(tǒng)存盤了。確認存盤后再關(guān)閉PowerLanguage Editor。 交易系統(tǒng)模擬測試 打開multicharts,導入上證指數(shù)數(shù)據(jù),本例中我取的代碼名字是shzs(上海指數(shù)的縮寫)。先確認上證指數(shù)的數(shù)據(jù)是完整的,從1991年到現(xiàn)在的數(shù)據(jù)都是存在的。點擊“Insert”“Signal”,此時出現(xiàn)一個選項框,在signal選項卡中找到stanleykrollsystem,點擊后再點擊確定。出現(xiàn)了一個format objects的對話框,這個對話框讓你在模擬測試前對系統(tǒng)做一些設(shè)置調(diào)整,因為本系統(tǒng)實在是簡單,我們只調(diào)整一個地方,點擊properties,出現(xiàn)了一個對話框,就把里面的Interest Rate(利率)后面填寫0,也就是不考慮利息收益。點擊確定,點擊close。 請觀察K線圖,可以看見出現(xiàn)了買賣信號和交易的合約數(shù)量,因為本系統(tǒng)只交易1份合約,所以每個買賣信號交易的都是1份合約。 點擊View=>Strategy Performance Report,功能就是生成交易系統(tǒng)的模擬測試報告。幾秒鐘后,模擬測試報告就生成了。然后選擇存盤,請存成excel格式,存盤時間特別漫長,請耐心等待。 一個完整的模擬測試報告“shzs Back-Testing Strategy Performance Report”完成了,本文到此結(jié)束。
|