Python歷史回測 vs 套裝軟體回測

閱讀時間約 2 分鐘
  • 文內如有投資理財相關經驗、知識、資訊等內容,皆為創作者個人分享行為。
  • 有價證券、指數與衍生性商品之數據資料,僅供輔助說明之用,不代表創作者投資決策之推介及建議。
  • 閱讀同時,請審慎思考自身條件及自我決策,並應有為決策負責之事前認知。
  • 方格子希望您能從這些分享內容汲取投資養份,養成獨立思考的能力、判斷、行動,成就最適合您的投資理財模式。
筆者是用Python撰寫數據分析、歷史回測、以及實單交易程式。標題的套裝軟體就是常見的TradingView、MultiChart、MT5等等專門為了程式交易而生的語法以及軟體。今天主要想討論一下這兩者的差別以及優劣。
首先我們來看一下,常見的套裝軟體開發策略的步驟吧!
  1. 套入歷史資料
  2. 套用教學範例策略
  3. 自己透過想法調整一些策略細節
  4. 透過參數最佳化找出適當的報酬率曲線
  5. 再研究如何自動化,實單交易
以上述的步驟來看,來講一下Python的劣勢,很明顯的一點就是,沒有辦法在程式小白的階段馬上進行回測實作,以我自己而言,除了程式以外,很多金融觀念需要摸索一陣子。就以回測來說,搞清楚每個績效的計算公式,或是資金槓桿怎麼設計,都要想過。這一點套裝軟體上是佔有優勢的,很多人可能還不清楚完整的細節,就可以開始運作策略了,等到發生問題再來回頭解決。
這是Multichart參數最佳化的畫面,方便我們針對策略裡面的參數進行最佳化的運算,找到符合最佳績效的參數集。
不過凡事一體兩面,Python有劣勢也有優勢,另外來談談Python自寫交易策略的優勢吧,大家可能最常聽到的就是可以用機器學習應用在各領域,投資投機領域也是。Python可以有許多創造性的做法!不過我自己沒有使用任何Python回測套件
以我目前有在使用的交易策略中,都是使用Python實做出來的,由於我自己不是非常勤勞的量化分析者,所以一直在追求一個簡易的框架,可以快速找到多種策略
其實最重要的是跳脫參數最佳化的框架
講一下我自己實做的方法:
  1. 套入歷史資料
  2. 算出交易指標,例如:均線
  3. 制定策略(又稱特徵),不過不會馬上進行績效驗證,例如:價格站上均線、黃金交叉等
  4. 產生出一個策略池(又稱特徵池),簡單來說就是一堆策略
  5. 將策略排列組合,最佳化找出適當的報酬率曲線
  6. 再研究如何自動化,實單交易
流程圖如下:
在這一個架構下,最重要的就是第5步策略排列組合,因為有可能A策略本身沒有用,但是A策略與F策略進行聯合判斷,就會創造1+1>2的化學反應,以下面這個實做為例:
這是策略排列組合最佳化的畫面,依照不同的評價指標(評價策略優劣的指標),找到符合最佳績效的策略組合
以上這些,好像就是自寫程式的好處,什麼奇形怪狀的需求都可以試著解決,而不是要依循的一個框架做事。
這邊分享自己的一些實做淺見,希望這樣的架構可以讓大家多思考一下,還有很多部分需要思考,例如目標函數(評價策略優劣的指標)到底該怎麼選,不過本文主要著重在回測差異。以及單利、複利所帶來的優劣、多策略管理,這些都是實做後會遇到的問題,這些會陸續分享。
更多關於Python程式交易的相關文章,歡迎到我的部落格查看。
留言0
查看全部
發表第一個留言支持創作者!
你可能也想看
創作者要怎麼好好休息 + 避免工作過量?《黑貓創作報#4》午安,最近累不累? 這篇不是虛假的關心。而是《黑貓創作報》發行以來可能最重要的一篇。 是的,我們這篇講怎麼補充能量,也就是怎麼休息。
Thumbnail
avatar
黑貓老師
2024-06-29
防曬產品係數測試報告彙整(2024年)從2014年起,自己對於市售防曬產品的效能產生了濃厚的興趣。因為當時候發現不少產品的防曬係數其實標示是有問題的,像是原本應該是人體測試的SPF與PA數值,實際上沒有做,只用機器測試的數據來充當,但這兩者卻有很大的差異。像是防曬係數其實有強度、廣度與平均度三個面向需要一起判斷,但多數廠商並沒有完整標示
Thumbnail
avatar
邱品齊皮膚科醫師
2023-04-27
avatar
JoeC
2024-06-13
如何用Python繪製堆疊直條圖(以2022年直轄市市長選舉政治獻金為例)如何用Python繪製堆疊直條圖(以2022年直轄市市長選舉政治獻金為例)
Thumbnail
avatar
果農
2024-05-30
[OpenCV基礎][Python]影像增強_影像銳利化在影像處理中,我們總是想要讓特徵更加明顯一點,可以使用銳利化的方式將特徵的邊緣增強,提升影像的細節,圖像銳利後就會有提升解析度的感覺。 拉普拉斯運算子是一種常用於影像增強的方法之一,特別是用於提高影像的邊緣和細節。 在OpenCV中,你可以使用cv2.Laplacian函數來應用拉普拉斯運算子。
Thumbnail
avatar
螃蟹_crab
2024-03-05
Python 爬蟲入門範例:建立簡易抓取網路資料的爬蟲程式網路爬蟲(web crawler),也叫網路蜘蛛(spider) 是一個強大的自動化工具,可以自由瀏覽、擷取訪問網頁的各項資訊,例如:新聞文章、電商商品價格,當專案中需要添加外部數據或進行大量資料收集時,網路爬蟲就是一個非常實用的工具。
Thumbnail
avatar
Karen
2023-07-31
📈【Google Colab Python系列】以Goodinfo為例,將資料視覺化吧!上一篇我們有介紹如何爬取Goodinfo的資訊並統計分析,還沒閱讀的朋友建議先行閱讀,再進入此篇章會比較容易上手唷,傳送門如下: 🚪【Google Colab系列】以Goodinfo!為例,統計一段時間內的最高、最低殖利率 為什麼要做資料視覺化? 相信圖文甚至影音箱對於文字來說更為吸引我們進
Thumbnail
avatar
阿Han
2023-07-15
美股股息成長選股法 - python歷史實測驗證美股“股息成長”選股模型python歷史資料實測, 年化報酬率34.8% beat SPY 13.3%
Thumbnail
avatar
久桃的量化選股成長日誌
2023-01-28
PYTHON+LINE BOT 輕鬆打造股市機器人(二十三) : 個股獲利能力如何觀察一家個股的好壞,最直觀的方式就是查詢其財務報表,像是資產負債表或是現金流量表等等,但這些報表中存在著密密麻麻的眾多指標,真的是會讓人看了頭昏眼花,而且也真的是極少數人才會每個指標都關注,大多的人一定都是觀察幾個自認為比較重要的指標而已吧,因為我就是如此,因此今天我們就來學習如何一鍵輕鬆查詢報
Thumbnail
avatar
陳陳
2022-09-24
PYTHON+LINE BOT 輕鬆打造股市機器人(十六) :爬取歷年股利資訊今天繼續我們股市LINE BOT的訊息顯示教學,繼上次我們查詢了平均股利的資訊後,這次我們來製作如何查詢歷年股利的部份,其實大同小異,就差在爬取的網站資料差異而已,那我們就開始今天的教學吧!!
Thumbnail
avatar
陳陳
2022-06-26
PYTHON 模組安裝  python這個程式語言,還有一項優點就是,擁有龐大的模組支援,所以在寫程式時可多利用網路上的模組,節省寫程式的時間。
Thumbnail
avatar
清蒸魚
2021-12-25
PYTHON For Loop迴圈  寫程式最重要的目標就是讓重複的工作交給電腦去執行,解放雙手和精力去做重複的事情,今天要介紹的迴圈就是可以讓電腦重複執行程式直到條件結束的方式。
Thumbnail
avatar
清蒸魚
2021-11-06