API 為何?API 串接有什麼好處?
隨著科技的不斷發展,金融交易領域也進入了一個新的時代。API 程式交易作為這一時代的代表之一,正因為高效、靈活的特性,吸引著越來越多的交易人的關注。本文將帶領讀者深入探討 API 程式交易的概念、優勢以及實踐中可能遇到的挑戰。倘若你已經有自己的一套交易策略,本篇文章喬喬也會告訴你該如何完成元富期貨的線上API串接並成功下單!
API是什麼?快速了解 API及API好處!
API是什麼?
API 的全名為:Application Programming Interface
API是一種能夠接受資料和數據的應用程式介面接口,並且讓接口兩端的裝置或應用程式,可以做資料和數據的接收和傳送。
在一般的看盤軟體或是APP 中,背後所需的 API 串接處理都已經由軟體商整合完畢,留下一些設定讓使用者可以輸入,如:標的代號,買賣選擇,價格,交易張數等等。使用者設定完畢按下送出鈕,便會透過事先串接好的 API 將買賣指令送出,所以我們一般感受不到 API 的存在。
若我們要進行程式交易,在股票中最常見的便是透過 Python 串接 API 達成全自動交易。而使用 API 統一的格式,能夠降低使用者在程式開發的成本,同時也可以實現資料交換的目的。用戶可以直接從券商的主機,取得最原始的即時量價數據,以滿足量化交易的需求。
API 的運作流程
一般而言,API 的運作流程會有以下四個步驟:
- 發出請求: 由程式發送出 API 的請求(Request),這通常包括所需要的參數和數據。
- 處理請求:接收 API 請求的伺服器或服務商,根據 API 的定義處理請求,執行相應的操作。
- 回應:伺服器或服務商,將處理後的數據以 API 指定的格式回應(Response)給請求方。
- 請求方的程式收到返回的數據,並根據數據進行後續操作。
如果要以實際的例子,可以將 API 的運作流程,想像成在餐廳的場景。
當你走進一家餐廳後,你會跟服務生點餐,服務生接收到訂單後,接著就會將訂單交給廚房人員。而當廚房做好餐點後,再通知服務生取餐,接著服務生再把餐點送到你的桌上。
以上的流程,就像是 API 的完整運作流程,而在這個過程中,各自所扮演的角色如下:
- 你 = 發出請求的程式端
- 服務生 = API
- 廚房人員 = 接收請求的伺服器或服務商
API 的實際應用
在日常生活中,像是購物網站串接第三方金流,或者是餐廳網站串接 Google Map 等等,這些都是透過 API 串接的原理,來達到技術與資訊共享的目的。
而在程式交易中,交易員也會透過 API 的串接,來達到自動化交易的目的。
舉例來說,在執行量化交易時,交易員會需要取得股市最原始以及最即時的數據,才能夠進行回測,並且擬定適當的交易策略
API 特色
- 特色一:模擬交易所
身為一個專業的量化交易者,在執行正式交易前,除了會需要使用歷史資料進行「回測」,來驗證策略的可靠性之外,還需要在即時的真實環境中進行實戰測試。
而元富證券所推出的模擬交易所,在台股開盤至收盤期間可以提供行情逐筆撮合機制,讓交易者可以用貼近市場的數據進行測試。以制定更完善的交易策略和風險管理,提高獲勝機率。在非開盤時間可以進行虛擬的測試。
- 特色二:支援 Python 與 C# 語法
元富證券的數位 API,同時支援市面上最熱門的程式語言「Python」與「C#」,讓善於程式交易的投資人,可以用更靈活、更彈性的方式打造屬於自己的交易策略。
- 特色三:即時行情與歷史行情 API
全新的「數位API」除了原有的下單與即時行情API元件外,也提供投資人近一個月的歷史行情API,讓投資人能更完整驗證個人策略。
- 特色四:最多元的技術指標API
不僅如此,元富證券除了提供完整的 API 元件,以及多元的技術指標外。如果不想要花費太多時間在開發新的指標和策略,元富證券也有提供指標資料的訂閱服務,可以節省交易者的開發成本。
API介紹與串接教學
在開始寫程式串接 API 之前,我們必須有能夠交易的帳戶,還需要申請 API 的使用權限,才可以正式進入程式交易的世界。
若你還沒有元富期貨的帳戶,可以點選此處聯絡喬喬,還可以領取開戶禮與交易禮等多種優惠。
一般的開戶流程可以透過手機或電腦完成,不過申請權限與後續串接,將會以電腦(建議以Windows)來操作。
有關線上開戶的操作步驟可參考 期貨開戶線上開戶步驟流程介紹
第一步:申請憑證 及 安控元件(二代)
因為後續的 API 申請的過程中,簽署線上文件需要憑證,因此請先到元富期貨官網申請憑證及安控元件(二代),詳細步驟可以參考 電腦下單軟體前相關安裝|憑證佈署、安控元件操作流程說明
第二步:數位API線上簽署
輸入元富帳號(身分證) 、密碼並登入並進行身分驗證
選擇期貨-線上簽署,並送出申請
通知營業員並告知你要進行丟單測試的日期及時間 (預計T+1可進行測試)
第三步:下載API元件
檔案解壓縮 並點選WPF_MasterFutTradeSample\bin_x86\RegOcx.bat,進行api元件註冊(檔案路徑不可存在中文),點選後跑程式會出現3個確認視窗
- .Net Framwork 4.0
- Visual Studio 2010
執行WPF_MasterFutTradeSample
- 須先以系統管理員身分執行
- 更改為測試主機,並勾選單一帳號認證成功即下單
第四步:線上認證
根據線上認證之設定條件丟單並填寫委託書號,完成丟單測試請通知營業員。(須請資訊部同仁確認)
- 下單管道請根據客戶自行需求選擇
- 下午1:30-3點無法進行丟單測試
指令5:委託單號填寫並驗證
第五步:驗證完成,請告知營業員下單管道以便後續處理。
提醒:當日下午3點前通知營業員,預計T+1開通正式環境。(逾時,預計T+2開通)