API是什麼?API介紹與串接教學|股票量化交易從零開始(一)元富證券API權限申請

你有沒有想過,為什麼我們在手機上就能即時看到各國的股價資訊?而你送出的買進股票指令又是怎麼傳送到券商的主機呢?

其實這一切都是API的功勞!

在本系列文章中,量化通將會進一步介紹,完整的API串接流程。API 串接是每個程式交易者,都必須知道的功能。從一開始的取得股價資訊到最後的下單交易都少不了API的存在,可以說是量化交易中最重要的一個環節。

API 是什麼

API 的全名為(Application Programming Interface),是一種能夠接受資料和數據的應用程式介面接口,並且讓接口兩端的裝置或應用程式,可以做資料和數據的接收和傳送。

在一般的看盤軟體或是APP 中,背後所需的 API 串接處理都已經由軟體商整合完畢,留下一些設定讓使用者可以輸入,如:標的代號,買賣選擇,價格,交易張數等等。使用者設定完畢按下送出鈕,便會透過事先串接好的 API 將買賣指令送出,所以我們一般感受不到 API 的存在。

若我們要進行程式交易,在股票中最常見的便是透過 Python 串接 API 達成全自動交易。而使用 API 統一的格式,能夠降低使用者在程式開發的成本,同時也可以實現資料交換的目的。用戶可以直接從券商的主機,取得最原始的即時量價數據,以滿足量化交易的需求。

API 的運作流程

一般而言,API 的運作流程會有以下四個步驟:

  1. 發出請求: 由程式發送出 API 的請求(Request),這通常包括所需要的參數和數據。
  2. 處理請求:接收 API 請求的伺服器或服務商,根據 API 的定義處理請求,執行相應的操作。
  3. 回應:伺服器或服務商,將處理後的數據以 API 指定的格式回應(Response)給請求方。
  4. 請求方的程式收到返回的數據,並根據數據進行後續操作。

如果要以實際的例子,可以將 API 的運作流程,想像成在餐廳的場景。

當你走進一家餐廳後,你會跟服務生點餐,服務生接收到訂單後,接著就會將訂單交給廚房人員。而當廚房做好餐點後,再通知服務生取餐,接著服務生再把餐點送到你的桌上。

以上的流程,就像是 API 的完整運作流程,而在這個過程中,各自所扮演的角色如下:

  • 你 = 發出請求的程式端
  • 服務生 = API
  • 廚房人員 = 接收請求的伺服器或服務商

API 的實際應用

在日常生活中,像是購物網站串接第三方金流,或者是餐廳網站串接 Google Map 等等,這些都是透過 API 串接的原理,來達到技術與資訊共享的目的。

而在程式交易中,交易員也會透過 API 的串接,來達到自動化交易的目的。

舉例來說,在執行量化交易時,交易員會需要取得股市最原始以及最即時的數據,才能夠進行回測,並且擬定適當的交易策略。

能夠串接 API 達成全自動交易的軟體與工具有很多,本系列文章將會以 Python 串接元富證券的 API 作為例子,若想了解各種的程式交易軟體的優勢與比較,可以參考此文(插入軟體比較連結)

元富證券 API 特色

特色一:模擬交易所,全天候24小時開放

身為一個專業的量化交易者,在執行正式交易前,除了會需要使用歷史資料進行「回測」,來驗證策略的可靠性之外,還需要在即時的真實環境中進行實戰測試。

而元富證券所推出的模擬交易所,在台股開盤至收盤期間可以提供行情逐筆撮合機制,讓交易者可以用貼近市場的數據進行測試。以制定更完善的交易策略和風險管理,提高獲勝機率。在非開盤時間可以可以進行虛擬的測試。

特色二:支援 Python 與 C# 語法

元富證券的數位 API,同時支援市面上最熱門的程式語言「Python」與「C#」,讓善於程式交易的投資人,可以用更靈活、更彈性的方式打造屬於自己的交易策略。

特色三:即時行情與歷史行情 API

全新的「數位API」除了原有的下單與即時行情API元件外,也提供投資人近一個月的歷史行情API,讓投資人能更完整驗證個人策略。

特色四:最多元的技術指標API

不僅如此,元富證券除了提供完整的 API 元件,以及多元的技術指標外。如果不想要花費太多時間在開發新的指標和策略,元富證券也有提供指標資料的訂閱服務,可以節省交易者的開發成本。

API 權限申請

在開始寫程式串接 API 之前,我們必須有能夠交易股票的證券戶,還需要申請 API 的使用權限,才可以正式進入程式交易的世界。

若你還沒有元富證券的帳戶,可以到此處開戶,還可以領取開戶禮與交易禮等多種優惠。

一般的開戶流程可以透過手機或電腦完成,不過申請權限與後續串接,將會以電腦(Windows 或 macOS)來操作。

第一步:申請憑證

首先因為後續的 API 申請的過程中,簽署線上文件需要憑證,因此請先到元富證券官網申請憑證,然後請依序下列步驟:

  1. 下載「憑證e管家」(請根據自身的電腦版本下載)
  2. 依序輸入身分證、元富證券戶密碼後,按下「登入」
  3. 系統會提醒,尚未申請憑證,接著請按下「確定」
  4. 系統會發送手機驗證碼,輸入後按下「確定」
  5. 閱讀約定條款,確認無誤後,勾選並按下「下一步」
  6. 接著會開始安裝授權憑證,請按下「是」
  7. 下一步請設定一組憑證密碼,設定完成後請按下「確定」
  8. 密碼設定完成後,下一步會將憑證匯入至瀏覽器時,會需要再輸入一次憑證密碼,接著按下「確定」
申請 1
申請 2
申請 3
申請 4
申請 5
申請 6
申請 7
申請 8

第二步:線上簽署文件

憑證密碼設定完成後,接著會需要至元富證券數位 API 專區進行線上簽署文件,請依序下列步驟:

  1. 到頁面下方「Step2 線上簽署」的右邊,點選「 線上簽署
  2. 接著會跳出線上簽署的頁面,請點選下方的「未簽署」
  3. 系統會跳出提醒,接著請按下「確定」
  4. 接著會跳出服務申請聲明書,請全部勾選後,並在最下方勾選自己的未簽署帳號,並按下「確定簽署」
  5. 按下確定簽署後,會再出現一次相同的內容給你確認,沒問題的話一樣按下「確定簽署」
  6. 接著系統會跳出一個提醒視窗,請點選視窗內的網址後,接著會在跳到之前的申明書頁面,請點選頁面下方的「確定簽署」
  7. 下一步會要求輸入上一步所申請的憑證密碼,輸入後按下「確定」,接著系統會跳出「簽署成功」的提示
申請 9
申請 10
申請 11
申請 12
申請 13
申請 14

結語 

至此我們就完成元富證券 API 的線上簽署,後續的系列文章將會接著介紹如何透過 Python 來串接 API,獲取即時的行情與全自動下單。

總結來說,API 的存在不僅可以減少開發成本,同時也可以達到資訊共享的目的。除此之外,透過串接 API,也能夠讓程式交易者,實現全自動化交易的目標。

不過還是要特別注意,在進行任何投資交易時,都可能會有虧損的風險。因此在使用程式交易擬定交易策略時,還是要評估自身狀況,將風險考慮進去,才能夠確保在投資過程中達到預期獲利!

量化通
量化通

量化通是個致力於全民量化金融教育的社群,我們希望透過由淺入深的內容,帶領大家以正確觀念來實踐自動化的金融投資研究分析。

文章: 114

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *