程式交易API
什麼是程式交易?什麼是API?我做交易需要這些東西嗎?
很多人在做交易的時候常常會有這些疑問,不是已經有券商的app和軟體了嗎?也有一些交易平台也寫程式呀,為何還需要API?這一篇先介紹幾個基礎觀念,以及如何使用API。
個性化需求
市面上的產品是服務於特定需求。但有些想做個行情儀表板或是行情分析機器人、有些人想持續掃盤找出市場中符合某種形態標的、有些人想做資產預警提醒買進賣出、有些人想做套利、或是跨品種避險、而有些人整合在不同市場、不同商品的資產。
程式交易平台只針對某些市場、某些品種、某些策略類型的客群。但每個人的需求都不同,無論是台股、美股、加密貨幣;現貨、期貨、期權,AI 的出現讓一般人只要有行情、賬務、交易這幾個API接口,就能達成各式各樣需求。

什麼是API?
API(Application Programming Interface,應用程式介面),可以把它想像成不同軟體之間溝通的橋樑。直接看兩個例子吧!左邊是加密貨幣交易所的行情查詢、右邊是經濟部的公司查詢。可以把 API 簡單理解成:
透過網址向系統提出要求 → 系統處理 → 把資料回傳給你。

仔細觀察這兩個 API,會發現它們有幾個共同的特色:
- 透過 HTTP 傳送資料:API 透過網頁http協議與另一個系統溝通。
- 透過網址告訴系統「要什麼」:網址中可以帶入查詢條件,例如要查哪一個商品、哪一家公司。
- 系統會回傳資料:收到請求後,API 會把查詢結果傳回來。
- 通常使用 JSON 格式:回傳的資料經常會以 JSON 格式呈現,方便程式讀取和處理。
所以,API 最簡單的概念就是:
讓不同系統互相溝通的橋樑。
而在程式交易中,主要有三種接口:行情、賬務、交易。對於券商/期貨商來說,後面都是不同的系統,但是使用者在開發量化策略的過程中,可以透過整合後的API統一調用。
有哪些交易方面的API?
券商/期貨商、交易所提供客戶免費的API已成趨勢,開戶免費、行情免費、下單也不用透過下單機。基本上在python環境下,可以連接到不同市場的API。只是生態不同、技術不同,採用的方案也就不同。
- 加密貨幣市場
加密貨幣市場的生態是:客戶可以直接連到上百家交易所的官方API。由於各家交易所API的語法都不一樣,因此一般會使用ccxt這個python套件,統一各交易所API的調用語法。

- 台股
台股的特色是券商、期貨商是在同一家API下。只要是大一點的券商/期貨商,都會有自家的API。由於金管會的規定,申請步驟會比較多一點(各家流程都一樣),包括:1.開戶、2.簽署API同意書、3.申請API Key、4.測試下單。實盤交易另外要下載CA憑證。

- 美股
雖然有些台股期貨商的API可以複委託,但不管是行情、交易,都有很多限制。既然美股可以線上開戶,有些券商API也能夠免費取得最新行情,那倒不如直接開個美股賬戶。

開美股的選擇很多,但由於API需要客服隨時支持,另外API使用上的問題,有時用中文描述會比較方便,因此我主要使用的就Tiger跟Moomoo兩家。
Jus Do It
很多人對於 API 感到陌生,但正如同 AI 出現之後,你只要動手做,就會發現原來 AI 可以幫你搜尋並分析、AI可以幫你做圖片和ppt、AI 可以幫你做影片、AI可以幫你寫程式。
API 也是一樣,都是要透過實際嘗試,才能理解 API 原來這麼好用。