程式語言

什麼是回測?為什麼要自己開發回測系統?

你是不是時常在程式交易相關資料看到「回測」這個詞,回測到底是什麼呢?
什麼時候會用到回測?而它究竟有什麼優勢以及重要性,讓我們在程式交易的過程中,屢屢提到它呢?這篇文章就來為你解答!

回測是什麼?

回測,簡單來說,就是將自己的投資策略放到歷史數據中進行模擬,經由這樣的驗證,確認這個投資策略在過往的歷史數據中能獲得怎樣的績效。

為什麼需要回測?

策略的合理性並非往往能夠真正換來績效,那麼該如何確認策略的有效性呢?便是透過回測,來驗證策略有效性,並且進一步找出更有效的策略。

若不是先知,一般人只能獲得過去數據,並且在過去市場中進行檢驗。雖說過去有效的策略,在未來未必依然有效。但若是在過去都無效,豈不是更沒有應用的可信度了嗎?

因此通過回測,即可以避免看似合理,卻績效低落的策略。

自行開發回測軟體的優勢是什麼?

現在市面上已經充斥著不少現成的回測或量化系統了,像是以外匯為主的 MT4、以股票為主的 XQ、以期貨為主的 Multicharts,這些系統雖然有其優點,最主要的原因是使用上輕鬆簡單用。

那為什麼還需要自行開發回測軟體呢?除了大部分的軟體是必須要付費的,其實,自己開發回測系統有著許多優勢:

1、不受市售軟體的功能擴展限制

市售程式都已經經過包裝,無法獨立出內部功能做使用,如果只需要其中某些功能,或是想要增加某些功能,這些都無法自行增減。在做資金或部位管理時,未必能滿足每個人的需求,或是將各個策略組合起來會有困難。而自行開發,就可以自由增減想要的功能,優勢顯而易見。

2、Python 語法簡單且功能強大

相對於 C 語言、Java 而言,Python 上現有的函式庫十分多元且充足,可用幾句程式碼就解決在其他語言中,需要大量程式碼才能解決的問題。因此,相較於其他城市語言,使用 Python 開發回測系統的學習門檻較低。

3、Python 的免費開源特性

Python 本身的特性也是自行開發回測的一大優勢。
光在 Github 可以搜尋到不少回測相關的免費專案,以及其本身在機器學習的多樣功能,搭配多數券商提供的 Python API 接口,增加自行開發的靈活度與方便性!

自行製作回測需要具備什麼能力?

自行製作回測軟體雖然成本相對較低,但是還是一定的難度。回測上會遇到種種問題,例如:程式邏輯錯誤導致整張報表誤算、沒有考慮交易成本,或是出現錯誤的資料內容⋯⋯等等情形。

因此若想要做出正確且有效的回測軟體,建議本身應具備的條件至少要有基本的程式能力、基本的金融知識、以及高品質的數據來源,才能魚與熊掌都兼得喔!

好課分享

 

如果你想開始外匯交易,且是:
1. 想省下盯盤時間、不想錯過絕佳交易機會者
2. 有交易想法,想撰寫 EA(智能交易系統)者
3. 想要運用 MT4 操作外匯、CFD 者
那麼你絕對不能錯過這堂市面上最完整的 MT4 外匯交易課程!初學者也能無痛入門喔!
👉 看課程去:MT4 不盯盤理財術|無痛開始第一筆小資交易

 

參考資料:

Facebook Comments