- 登入
- 註冊
你有沒有想過,為什麼我們在手機上就能即時看到各國的股價資訊?而你送出的買進股票指令又是怎麼傳送到券商的主機呢?
其實這一切都是API的功勞!
在本系列文章中,量化通將會進一步介紹,完整的API串接流程。API 串接是每個程式交易者,都必須知道的功能。從一開始的取得股價資訊到最後的下單交易都少不了API的存在,可以說是量化交易中最重要的一個環節。
API 的全名為(Application Programming Interface),是一種能夠接受資料和數據的應用程式介面接口,並且讓接口兩端的裝置或應用程式,可以做資料和數據的接收和傳送。
在一般的看盤軟體或是APP 中,背後所需的 API 串接處理都已經由軟體商整合完畢,留下一些設定讓使用者可以輸入,如:標的代號,買賣選擇,價格,交易張數等等。使用者設定完畢按下送出鈕,便會透過事先串接好的 API 將買賣指令送出,所以我們一般感受不到 API 的存在。
若我們要進行程式交易,在股票中最常見的便是透過 Python 串接 API 達成全自動交易。而使用 API 統一的格式,能夠降低使用者在程式開發的成本,同時也可以實現資料交換的目的。用戶可以直接從券商的主機,取得最原始的即時量價數據,以滿足量化交易的需求。
一般而言,API 的運作流程會有以下四個步驟:
如果要以實際的例子,可以將 API 的運作流程,想像成在餐廳的場景。
當你走進一家餐廳後,你會跟服務生點餐,服務生接收到訂單後,接著就會將訂單交給廚房人員。而當廚房做好餐點後,再通知服務生取餐,接著服務生再把餐點送到你的桌上。
以上的流程,就像是 API 的完整運作流程,而在這個過程中,各自所扮演的角色如下:
在日常生活中,像是購物網站串接第三方金流,或者是餐廳網站串接 Google Map 等等,這些都是透過 API 串接的原理,來達到技術與資訊共享的目的。
而在程式交易中,交易員也會透過 API 的串接,來達到自動化交易的目的。
舉例來說,在執行量化交易時,交易員會需要取得股市最原始以及最即時的數據,才能夠進行回測,並且擬定適當的交易策略。
能夠串接 API 達成全自動交易的軟體與工具有很多,本系列文章將會以 Python 串接元富證券的 API 作為例子,若想了解各種的程式交易軟體的優勢與比較,可以參考此文(插入軟體比較連結)
身為一個專業的量化交易者,在執行正式交易前,除了會需要使用歷史資料進行「回測」,來驗證策略的可靠性之外,還需要在即時的真實環境中進行實戰測試。
而元富證券所推出的模擬交易所,在台股開盤至收盤期間可以提供行情逐筆撮合機制,讓交易者可以用貼近市場的數據進行測試。以制定更完善的交易策略和風險管理,提高獲勝機率。在非開盤時間可以可以進行虛擬的測試。
元富證券的數位 API,同時支援市面上最熱門的程式語言「Python」與「C#」,讓善於程式交易的投資人,可以用更靈活、更彈性的方式打造屬於自己的交易策略。
全新的「數位API」除了原有的下單與即時行情API元件外,也提供投資人近一個月的歷史行情API,讓投資人能更完整驗證個人策略。
不僅如此,元富證券除了提供完整的 API 元件,以及多元的技術指標外。如果不想要花費太多時間在開發新的指標和策略,元富證券也有提供指標資料的訂閱服務,可以節省交易者的開發成本。
在開始寫程式串接 API 之前,我們必須有能夠交易股票的證券戶,還需要申請 API 的使用權限,才可以正式進入程式交易的世界。
若你還沒有元富證券的帳戶,可以到此處開戶,還可以領取開戶禮與交易禮等多種優惠。
一般的開戶流程可以透過手機或電腦完成,不過申請權限與後續串接,將會以電腦(Windows 或 macOS)來操作。
首先因為後續的 API 申請的過程中,簽署線上文件需要憑證,因此請先到元富證券官網申請憑證,然後請依序下列步驟:
憑證密碼設定完成後,接著會需要至元富證券數位 API 專區進行線上簽署文件,請依序下列步驟:
至此我們就完成元富證券 API 的線上簽署,後續的系列文章將會接著介紹如何透過 Python 來串接 API,獲取即時的行情與全自動下單。
總結來說,API 的存在不僅可以減少開發成本,同時也可以達到資訊共享的目的。除此之外,透過串接 API,也能夠讓程式交易者,實現全自動化交易的目標。
不過還是要特別注意,在進行任何投資交易時,都可能會有虧損的風險。因此在使用程式交易擬定交易策略時,還是要評估自身狀況,將風險考慮進去,才能夠確保在投資過程中達到預期獲利!