iT邦幫忙

第 11 屆 iT 邦幫忙鐵人賽

DAY 1
9

程式交易

隨著資訊技術的快速發展,各家券商除提供金融交易軟體外,部分券商也開放可供交易者自行開發交易軟體的 API,而金融交易軟體本身功能的限制、反應速度的遲緩,及難以整合外部資料等困難,都促使部分交易者轉向自行開發交易程式,以滿足自身需求,甚至尋找心中的聖杯,然而這中間的困難有二大門檻,一是交易程式的開發撰寫,二是策略的建構,在如今市場及圈子中滿是 ML / AI 策略交易的風潮下,我們姑且放下這些神奇的交易策略建構方式不談,回歸交易的本質,從取得優質可用的交易參考資料開始,到建構穩定的交易系統,讓交易者能在穩定且安心的基礎之上,追尋各種合適的策略,取得心中的聖杯。

前言介紹

為了搭配其他參賽者追尋聖杯策略的優質文章,筆者將以該領域參賽者較常使用的 Python 作為主要示範環境,而非使用筆者真實交易過程中採取的 .NET 平台為基礎。

本系列需要以下基本的開發經驗,但不僅限於此:

  1. Python 語言基礎
  2. wxPython 視窗元件開發
  3. Python 爬蟲開發
  4. SQLAlchemy 資料庫開發
  5. Docker 容器開發使用
  6. PyZMQ 訊息佇列開發

本系列開發環境以 Windows 為主,肇因於國內各家券商技術迭代幾乎停滯,仍以早期的 ActiveX / COM / DDE 一類的資訊服務提供技術為主,導致難以擺脫 Windows 運行環境,因此若想在 Linux 上進行開發,仍須將報價及下單模組抽離並置於 Windows 上運行,而後透過如 TCP / HTTP 等通訊方式進行對接,確保依賴 Windows 部分的模組機制可正常運作。

申請開戶

各家券商 API 細節及比較因活動特性,筆者將不予介紹,僅以最常使用的元大期貨 API 做為主要介紹標的。

請至元大期貨辦理開戶,並申請開放程式交易 API 功能,過程中需簽至少二張政府規範的授權同意書,若營業員未提及該流程,則代表申請的交易戶並未開放程式交易 API 功能。

開戶作業時間約需一周左右,應可銜接上本系列文章的進度,預計於第 14 天開始介紹串接元大期貨 API 報價及下單元件。

環境安裝

  1. Python 3.6.8 x86
    因非各家券商均提供 x64 元件,故建議使用 x86 版本的 Python 以避免 COM 元件等串接相容性問題。
    https://www.python.org/ftp/python/3.6.8/python-3.6.8.exe
  2. Docker for Windows
    https://download.docker.com/win/stable/Docker%20for%20Windows%20Installer.exe

團隊系列文:

CSScoke - 金魚都能懂的這個網頁畫面怎麼切 - 金魚都能懂了你還怕學不會嗎
Clarence - LINE bot 好好玩 30 天玩轉 LINE API
Hina Hina - 陣列大亂鬥
King Tzeng - IoT沒那麼難!新手用JavaScript入門做自己的玩具
Vita Ora - 好 Js 不學嗎 !? JavaScript 入門中的入門。
TaTaMo - 用Python開發的網頁不能放到Github上?Lektor說可以!!


下一篇
Day-02 程式交易:資料源的重要性
系列文
Python 程式交易 30 天新手入門30

尚未有邦友留言

立即登入留言