Google Analytics

2012年12月24日 星期一

Excel VBA 運行表現測試

筆者在教學Excel VBA 交易班時常被問及以VBA跑程式會否吃力, 以及怎樣的軟硬件組態去跑最好.

Excel 是功能十分強大的財務運算工具, 學懂它對投資者好處十分多. 其中一個最大的好處就是接近"免費" , 因為大多數電腦使用者都有安裝Microsoft Office, 差不多都一定有安裝Excel , 因此不用像其他交易分析程式要另外付費. VBA 是Excel 內建的開發工具, 可以讓投資人快速在Excel 上測試分析一些投資策略概念 以至實戰執行. 這些相信不少讀者也略知一二.

其實以Excel 作為投資分析工具還有更強大的一面, 比較少投資者留意
1. 可以輕易配合不少其他開發工具或第三方提供的插件去豐富製作出來的Excel 系統的功能 , 像多工, 定時執行, 財經網站整合 , 匯出至 PDF , 或連接網上虛擬回測平台等等
2. 接近現成的又功能日強的繪圖功能
3. 商業智能以及數據挖掘方面功能的提升, 已跟專業統計軟件的距離拉近

 對於不過於複雜的流程計算以及不涉及過多輸出輸入, VBA 本身已是足夠有餘.VBA 有多快? 筆者以Exceltrader.net 上提供的一個Benchmark Test 作個測試 , 以以下硬體運行Excel 2003綜合分數約66分, 不過不失.





該Benchmark Test 作了6項測試
1. 測試以VBA 構建 5列 * 65535行 模擬tick 數據要花的時間
2. 以VBA跑出上面模擬tick 數據的 MACD 的時間
3. 測試30秒內可繪出多少支tick數據
4.  63000 tick 轉為 OHLC (就是分時的開高低收)
5. 以5000支OHLC數據逐筆為基礎, 以技術指標 SMA, RSS, RSI 以及 Fisher RSI 轉換 測試在30秒內能作多少次完成的公式運算
6. 跟5. 一樣, 只是今次所有公式運算都跟E5000格數據有關(也就是待其數值更新後才能運算所有公式)

其他測試者的綜合分數的比較可見 http://exceltrader.net/et2/benchMark.php . 可見在不同的Excel 版本以及硬體上運行在每個測試細節得分都可以很不同.

有興趣的讀者也可以去 http://exceltrader.net/wp-content/uploads/BenchMark_ET.xls 下載試試自己的系統得分




沒有留言:

張貼留言