Python新手教學(Part 0): 用Python投資?你想不到的好處!

你為什麼要用Python投資?Python投資有什麼好處?處在訊息萬千的時代中,如何不被淘汰?雖然本blog都一直在宣揚python,但是我們似乎漏掉了最重要的一點,「為何要用Python來投資」?那今天就讓我娓娓道來吧!

thumbnail 4 1

其實在2019年

程式化投資並不新奇,已經有各種解決方案,MT4、XQ、Multicharts…

現在市面上已經充斥著很多的回測或量化系統了,像是以外匯為主的MT4、以股票為主的XQ、以期貨為主的Multicharts,然而這些系統雖然有其優點,然而我還是不會去使用它們,最主要的原因是

雖然使用上輕鬆簡單,然而大部分是必須要付費的!

以台灣最火紅的Multicharts和XQ全球贏家來說,最便宜的券商版,每個月需要額外花費1千元,要是你的總投資金額只有10萬,那每個月相當於損失1%的金額喔!也就是一年下來12%就白白花費了。

MT4 不用錢呀,但程式碼複雜

MT4算是裡面非常佛心的軟體,下載歷史數據完全免費,而且還可以回測,但是缺點就是程式碼非常複雜,光是寫一個簡單的策略,就可以耗盡一個下午了。

這些軟體雖然都是寫代碼,但是有一個非常大的缺點,就是

商用軟體自由度不夠

假如今天想要搭建機器學習的策略,那使用上述付費軟體其實是非常困難的,因為程式都已經包裝好了,可以用的語法就那些,沒辦法跟上近期華麗展開的AI產業。

另外,這些軟體在不同的商品上,各有所長,例如XQ針對股票、Multicharts針對期貨。但是缺乏一個更上層的資金控管系統,將所有的部位做一個有效的規劃。將多個策略整合,是有難度的。

究竟如何才能「不用花錢」、並享有「最新演算法」、又有最高的「自由度」呢?

Python 與 R 程式語言崛起

由於機器學習、資料科學的崛起,Python 與 R 是最大的受惠者!為何我覺得傳統的金融回測軟體幾乎都可以用 Python 與 R 來取代,原因在於:

程式碼簡單、功能強大

傳統開源的程式語言,如C++、Java,針對大量金融數據的函示庫比較少,通常得徒手寫,花非常多的時間。然而Python與R就是專門處理各種大量的資料,可以短短幾行代碼,就完成C++需要數百行的資料處理代碼。

於是 Python 與 R 在資料的處理上,雖然可能沒有比Multicharts 或 XQ 那麼簡單一兩行就撰寫策略,不過也相差不遠了(至少我自己的回測軟體已經化簡到到不相上下)。

免費且開源

每個月省1000元,累積起來也不少!Python 與 R 除了程式語言是免費的以外,還有非常多機器學習演算法,也都是免費的!想要跑回測嗎?只要上網搜尋「backtest python github」,就可以撈到一堆開源回測項目來搭建!另外Python 與 R 都支援 dll 檔案,所以與券商的串接基本上是沒有問題的。
(Mac心碎)

不只拿來交易

學了XQ、Multichart、MT4,就是拿來寫賺錢程式,但對於我來說,Python除了拿來投資,還有非常多的功能,不論是架設網站、平常寫一些小工具,或是求職,學會了 Python 或 R 絕對是只有加分不會扣分。

特別是Python已經是連續好幾年都是最熱門程式語言了,為何它不可撼動?因為大部分機器學習研究、產品研發,都會使用Python進行,簡單、快速、有效。R語言也不錯,有很多學術單位、金融研究單位也會使用R語言。不過以趨勢的熱門程度,以及package的豐富程度,我個人還是偏愛使用Python就是了。

新的一年不知道學什麼?就來學Python吧!
假如你喜歡做研究,而且覺得寫程式除了賺錢外,對你來說還有別的樂趣,那真的可以好好研究一下Python了!

這一系列文章將帶你從0開始,使用Python做投資!
下一單元,我們就來爬取股價資料吧!

這一系列是我們影音課程的化簡版,
假如對此教程有興趣,歡迎點選下方影音課程,會豐富到炸裂喔~

FinLab - 韓承佑

嗨大家好,我是韓承佑,FinLab創辦人,畢業於巴黎薩克雷大學資工博士,目前擔任臺灣量化交易協會 學術顧問、台北商業大學 創新育成中心 創業技術顧問與上市科技公司 量化交易顧問。當初,我喜歡寫程式、無意間因為軟體比賽接觸Fintech,從此開始了財經跟程式的學習之路。我們成立 FinLab 量化投資部落格,用自己研發的軟體,對台灣股市做大量快速的實驗。希望可以在量化投資的路上,當大家的「武器製造商」!