HKpapa Python量化交易港股投資系列:#3 為什麼你應該用Python做程式交易?
大家都在用MultiCharts,為什麼要選擇用Python呢?Python是一個自由度高,而且在開發效率與程式效能上取得一個完美均衡的一個程式語言,大家可能也會想要做程式交易要速度要快,是不是要去學C這類的語言呢?如果你不是資訊相關本科系的話,我相信上完第一堂課你就不會想再碰的動力了,可以想像一下,光是進行時間序列計算技術指標在C要怎麼運算,開發時間又要多久? 較高的自由度與延展性 相比較於MultiCharts來說是擁有比較好的彈性,MultiCharts的架構將前端資料源與後端回測的基礎設施給定,讓使用者只需要專注於以Power Language來編寫交易策略,對於初學者來說是相當方便的,是一條對新手來說比較友善的一條路,相當多的券商或期貨商都對於MultiCharts有相當多的功能支援,缺點就是需要付費,而且在開發與回測上會受到MultiCharts框架上的限制,像是撰寫一些比較複雜的商品或策略指標時,在既有的Power Language將會不支援,或是在績效衡量上想要用特殊自創的指標將會受限。 Python雖然比較屬於一個純程式語言,但是相當多底層的基礎建設已經有現成開發好的成果可以使用,而且套件數量相當多元,幾乎你想要什麼樣的應用都可以找得到,從後端計算、資料庫存取、網路爬蟲、開發網站或設計App等都難不倒他,可以輕易地結合各種統計模型或資料來進行交易訊號的產生。 完全免費且網路教學資源多 Python是一套免費的項目,大家常用的Anaconda也是免費的,建立一個程式交易應用基本上都是免費的,除非你要另外架設遠端Server,用做全數雲端化的架構;Python相關套件與教學也真的是很多,相信大家其實在YouTube或網路文章看一看就能夠輕鬆學會,當然學會跟活用的距離還不小,必須要有目的導向的進行應用開發。 在程式下單應用也有相當多的券商或期貨商支援 Python API下單 ,當然也是時代所需,有了這個API接口可以讓客戶快速且方便的進行較高頻率的交易,對於經紀部門來說是相當好的,所以各家都有投入資源在這上面,我們可以說是相當幸福的啊! 新手門檻 從開始課程的開發與經營開始,就有相當多的程式新手在詢問是否可以上這堂課,我都建議大家盡量先把完整的基礎教學上完後,試著建立一些小小的應用開始,讓腦袋習慣用程式架構思考的方式,也要練習進行流程的規劃與設計,