簡介三種語言與其用於量化交易的優缺點,並在最後有入門量化交易的個人學習建議。
Pine Script
簡介
現在許多量化新手會先學 Pine,因為 Pine 是 TradingView 自己設計的,而 TradingView 多好用應該不用多贅述。
所以學用 Pine 最大的優點,就是可以配合 TradingView 的數據與圖表功能,另外還有策略回測功能,看的出來他們有針對這些特別包裝設計成比較好上手。
這是一種腳本語言(Script Language),所以如果你有接觸過其他 Python 或 JavaScript 的話,會發覺他們很像,比較高階的腳本語言,個人認為對初次接觸程式碼的人也比較友善。
優點
- 配合 TradingView 使用,可以免費用到龐大的數據,還有很方便的視覺化圖表
- 雲端運行,沒有環境限制
- 容易上手
- 開發者資源越來越多
缺點
- 還沒有很成熟,如果比較複雜的策略或功能,目前不建議使用 Pine
- 串接自動化下單,或其他外部數據,沒有到那麼方便使用
- 只有在 TV 上比較好開發,使用外部編輯器比較不方便.但 TV 的編輯器沒有很好用(個人感受)
Python
簡介
Python 應該很多人都有耳聞,現在甚至列入許多大學的資訊必修.它對沒有接觸過程式語言的人來說也比較好入門。
量化程式上使用 Python,個人認為最優勢的地方,其實也是來自 Python 原本的大優勢
也就是「別人造好的輪子」有很多,你可以把很多東西串起來用。
另外如果學會 Python,有興趣跨到其他領域也很有優勢因為現在許多方面都在用 Python 當「工具」。
優點
- 容易上手
- 比較彈性能串出複雜好用的策略或功能
- 開發資源很多
- 社群問答很多
- 教學資源很多
- 多領域使用
- 雖然有環境設置要處理,但其實 Google 有 Colab,可以免費線上開發 Python
缺點
- 沒有像 TV 有即時圖表與數據,需要自己找 API 或開源庫使用
- 雖然好上手,但比起 Pine 的話 Python 因為比較成熟了,所以要認真學的話,其實蠻多東西要沒有那麼簡單
C++
簡介
C++ 比起前面兩個來說算是比較困難的程式語言,甚至對很多資工本科(尤其大一學生)來說它也很討厭 :D
有些人可能會好奇我為什麼提它,因為 MetaTrader 系列主要是使用它開放 API 的。
而且其實使用得當的話,它是一種效能較佳的語言,簡單來說就是比較快,這是基於程式語言的特性這裡就不多贅述。
優點
- 效能較佳,延遲狀況比較不嚴重
- MetaTrader 配合的語言,MT 也是許多交易人熟知的(多在外匯、CFD、期貨等等)
- 老程式語言了,教學資源和社群問答資源自然少不了
缺點
- 對外行人不是很好上手,甚至對本科生來說,開發要注意的眉眉角角實在有夠多
- 對於量化交易上的現成可用的「輪子」沒有像 Python 那麼多
個人學習建議
如果你沒有接觸過寫程式,只想為了交易來學寫程式:建議你可以先學 Pine Script
如果你沒有接觸過寫程式,不只交易方面有興趣(例如 Chatbot, 數據分析),或是量化交易想做到串起策略、下單、通知等等:建議你可以先學 Python
如果你會其他程式語言:可以先看看自己熟識的程式語言,有沒有人開源一些好用的工具了,或者轉戰 Python or Pine,或自己開發新工具:D