You are on page 1of 70

程式交易解決方案

國立高雄應用科技大學
金融系 ( 金融資訊所 ) 教授
講師簡介 (I)
 簡要經歷
高雄應用科技大學金融系系主任、金融資訊所所長
交通大學資財系、工工所兼任;台灣大學財金系、醫管所兼
任;清華大學計量財金系兼任
實務經驗 - 寶來證、永豐證、台証期、上海銀、寶碁、天逸
、創世技、理財顧問協會… .
金融研訓院- Excel 於行銷金融商品之應用 ( 主題 - 金融行
銷)
台灣期貨交易所—財金資訊系統 期權投資實務班 ( 主題 -
金融創新 )
期貨公會— 財務工程期貨商品研發培訓班 ( 主題 - 財務工程
)
證券期貨發展基金會—第一 ~ 七期貨操盤基礎人才培訓專班
( 主題 - 程式交易 )
創世技公司— TradeStation 軟體與程式交易培訓班 ( 主題 -
程式交易 )
券商公會財富管理課程-全方位理財規劃
南區 CFP 聯誼會—試算表軟體在全方位理財規劃之應用 ( 主 2
題 - 理財規劃 )
講師簡介 (II)
 著作
財金資訊系統建構實務—金融專業人所必須具備的
「資訊系統自建能力 (EUC) 」,新陸, 2005
程式交易系統設計與建構—解析金融資訊市場密碼
,追尋投資市場聖盃,新陸, 2007
理財規劃分系統與系統實作— 以試算表軟體建構
財富管理個別構面與整合分析的資訊環境,新陸
, 2008
金融資訊管理,新陸, 2009
 計劃
程式交易相關研究—策略交易模型最佳化、演算法
交易設計、代理人基礎模擬分析與資料趨導交易
模式開發
 網路資源
www.programtrading.tw
3
程式交易領域經驗
 1994 ,寶碁資訊開發電腦輔助交易系統
 1998 ,程式交易學術 究 ( 交大資管 )
 2002 ,成立高應大金融資訊 究所
 2005 ,建華證券程式交易訓練
 2007~ ,證基會期貨操盤人才培訓 ( 程交
)
 2007 ,出版程式交易著作 ( 提供原始碼 )
 2007 , 辦程式交易模組比賽
 2008 ,創世技 TradeStation 訓練 ( 其他…
)
 2008 ,雅策文字 下單機提供建議
 2008 ,提出演算法交易 究計
 2009 ,輔導台 期貨發展程式交易策略
 2009 ,成立程式交易論壇 4
主題
 交易方式的演變
 程式交易簡介與趨勢
 交易策略解析
 程式交易系統結構
 程式交易整合方案作法
 不同類型程式交易系統示範
 結論
交易方式的演變
交易方式 (I)
資料取得與分析不易
,在相同的報紙線圖
上作同樣的分析

耐心等待心儀股票
的報價,作好決策後
,轉身櫃 買賣單
交易方式 (II)
黃金交
叉買點
這一波好
像沒賺到

死亡交
雖然可以彈性設定指 叉賣點
標與參數,但無法精
準判斷指標績效。也
無法做大量長時間的
測試。
交易方式 (III)

帶出線圖、回測
策略、觀看績效
、參數調整、規
則下單,一氣呵
成。
交易策略解析
 交易策略舉例
技術指標 ( 擺盪與趨勢指標 ) 、型態排列
( 如 K 線理論、趨勢線 ) 與停損停利的邏輯
組合
 信號 1 若「 6 與 12 日均線黃金交叉且 10 日 RSI <
0.2 」,則「建立多單 1 口 ( 若有空頭部位則平倉 ) 」
 信號 2 若「 6 與 12 日均線死亡交叉或 10 日
RSI>0.8 」,則「建立空單 1 口 ( 若有多頭部位則平倉
)」
 信號 3 若「損失超過 10% 」,則「停損平倉出場」
 信號 4 若「獲利超過 20% 」,則「停利平倉出場」

條件 ( 參數與邏輯組合 ) + 行動 = 信號
組合信號 = 策略
從 Signal 到 Strategy
在線圖運用 Strategy 產生
Report
最佳化 Strategy 參數

系統實作示範
程式交易簡介與趨勢
 何謂「程式交易」 ( 以電腦程式輔助交易
)
「投資人:
透過電腦程式,以歷史資料模擬回測 (Back-
testing) 方式,尋找優質 ( 具高報酬、低風險等
特性 ) 的交易策略;繼而,
藉由電腦程式過濾 (Filtering) 現階段市場上可投
資的投資標的,設定進出價格;最後,
以電腦程式建立盯盤環境,即時而自動的提供
進出場訊號予投資人,進行「接近」機械式的
交易 (Real-time trading) 」。
引自「程式交易系統設計與建構—解析金融資訊密碼
,追尋投資市場聖杯」
 程式交易與人為交易的差異
 程式交易
回溯測試器 + 標的過濾器 + 即時監
控交易器。
 廣義而言,只要是運用電腦,以程
式編碼輔助投資決策的分析、制定
與執行,都是。
 源自 1970 年代,以電腦程式,尋找
、驗證交易策略,並自動執行交易
1987 股市崩盤
 演算法交易為交易端的程式交易
 程式交易趨勢 -
國外約 7 成以上期貨市場交易流程中使用程式交易

經濟學人雜誌統計, 2006 年歐美市場 1/3 以上股票
交易使用程式或演算法自動交易。
Boston 的 Aite 顧問公司預測 2010 年歐美使用演算
法交易將增至 50% 。
2006 年倫敦股票交易所超過 40% 使用演算法交易
, 2007 年達到 60% 。美國部分股票市場的演算法
交易甚至達 80% 。
過去 20 多個月中,美國超過 90% 的避險基金採取
演算法交易。
紐約交易所電子交易已經占到日交易量
60%~70% ,其中演算法交易比例近半。
預計未來亞太市場進行的證券交易大部分將採取某
種形式的演算法交易。
為何要程式交易
 積極面
找出市場聖杯
 消極面
可以打破迷思
宣稱績效與永續聖杯

驗證策略有效性與持續性
 投資過程的心理障礙
Kahneman(2002 諾貝爾經濟學獎 ) 與 Tversky
注意力定錨
誤信立即可用的資訊與過度自信
避免後悔並追求自尊
情境效應
掉到心理帳戶的陷阱
對資產分散的錯誤認識
代表性與熟悉度偏誤的盲點
盲從心理
區間操作迷思
不賣不漲一賣就漲
到底該買該賣
投資心理困境 (I)

春秋 大夢
自我催 眠
大幅加 碼
猶豫不 決
進場買 入
加碼攤 平
瞭解狀 況
半信半 疑 長期投 資
聽到消 息
失去 耐性
忍痛 殺出
盤前經過縝密邏輯分析;但當開盤後股價方向與判斷迴異,股
價走勢 很 快全盤取代邏輯思考。
買股票,因 為 股票上漲了;賣股票,因 為 股票下跌了。就這 麼
簡單。
引自”金融心理學”
投資心理困境 (II)
 投資過程的生理障礙
「眼明手快與記憶的極限」
視覺暫留現象
視神經的反應速度 1/24 秒
人類看盤極限

訊息短暫保留時間
心理實驗 (3958420712657940….)
人類處理訊息極限 ( 約 2 秒 )

最快按鍵速度
韓電玩冠軍徐智訓 1 分鐘敲滑鼠 370 次
人類手動下單極限

3 合 1 的障礙
1 秒 3 單與 1 秒 168 單怎麼下 ?
 程式交易可以突破心理與生理障礙
事先擬定策略,規避心理陷阱
即時執行交易,避免手忙腳亂
程式化策略開發
克服長 Trade 策略驗證過程極限
客製化交易系統 ( 俗稱下單機 )
突破短 Trade 策略執行瓶 頸
接近電玩的交易環境
 惟快不破,交易流程的斤斤計較
市場有多快 - 瞬間即逝的交易機會
看得到吃不到的毫秒戰爭 (Latency)
Speedy 與 Co-location
 想像未來的交易室…
交易程式間的代理戰爭
國際化後的交易對手 ( 角落交易室 )

人的工作—策略開發與調整
交易聖杯存在 ?
半衰期的考驗 ( 投資觀念演化論 )
競局—交易是與人鬥不是與天鬥
反射性理論—社會科學的測不準原理

沒有不敗策略代表更需要程式交易
非預期事件
事後檢討策 ,如飛機撞上
略有效性與衰 大樓 …市場將
退程度 轉為空方、
震盪

M1 M2 M3 M4 M5

M6 M7 M8 M9 M10

M11 M12 M13 M14 M15 多



M16 M17 M18 M19 M20

M21 M22 M23 M24 M25 快速挪動資


金至空方、震
盪之交易模
盤 型
程式交易系統結構
交易分析階段
層次 I
選取並設定策略組合與參數以回測。如
Meta-Stock 。
層次 II
專用語言編碼策略以回測,可作參數最佳化
但受限語法規範。如 TradeStation 。
層次 III
用一般系統開發環境編碼回測,如試算表
(Excel) 、 VB(A) 、 C++ 、 Java 、 C#... 。
交易執行階段
過濾
同一帳戶,同時監控多標的物
報價
取得最新價格,測試策略
下單
半自動與全自動
回報
確認成交與否 ( 複式部位 )
即時績效計算
前測交易 (Paper Trade)
程式交易整合方案作法
 程式交易流程
分析與執行階段
 方案 I - 文字檔下單機作法
 方案 II - Touchance 作法
 方案 III- 專屬下單機作法
 不同整合方案的定位
程式交易流程
策略分析階段

33
程式交易流程 - 策略執行階段
• 資訊接收工具: Office
Quote, API Quote
傳送報價資訊
• 下單判斷系統:
TradeStation 等 ( 下單判斷如
交易所 資訊源 均線交叉等 )
傳送報價資訊
傳 傳 傳送報價資訊 • 下單傳送工具: API 模組
API-
送 應用程式介面

委 下
提供下單程式呼叫的函式庫
託 單 傳送判斷所需資訊
用以取得報價、下單、回報
回 指 資訊接收工具
報下單系統的靈魂、引擎

下單判斷邏輯

投資人
邏輯
傳送下單指令 傳送下單指令
核心

券商 / 期貨 下單傳送工具
商 傳送委託回報 下單軟體
34
 方案 I - 文字 下單機作法
由 TS( 或自行設計的回測系統 ) 讀取即
時報價,策略觸發後輸出文字檔,下單
機撈取資料作 API 下單。
此為一般文字檔下單機的標準作法
雅策、 DK 、 AutoTrade…

特點
提供多家期貨商下單交易
TS 只能作 Bar Trade
報價品質
策略觸發後到下單可能延遲
 方案 II -Touchance 作法
使用 TSQuote 導入資料至 TS ,策略觸
發後直接驅動 API 下單
特點
報價品質佳,直接連接 API 下單,延遲低
 TS 只能作 Bar Trade
適法性爭議 ?
受限 TS 處理延遲
 方案 III- 專屬下單機作法
以回測工具驗證策略後 ( 可於盤後進
行 ) ,將策略寫入下單機中,報價取得
、策略觸發、下單到回報一氣呵成。
特點
專屬下單機系統輕交易週期延遲低
可作 Tick Trade 彈性高
可修改內部程式碼作策略改變
 不同方案的比較
• 資訊接收工具: Office
Quote, API Quote
傳送報價資訊
• 下單判斷系統:
TradeStation 等 ( 下單判斷如
交易所 資訊源 均線交叉等 )
傳送報價資訊
傳 傳 傳送報價資訊 • 下單傳送工具: API 模組
送 送 方案 3
方案 2
委 下
託 單 傳送判斷所需資訊
回 指 資訊接收工具
報 令
下單判斷邏輯

投資人
方案 1 邏輯
傳送下單指令 傳送下單指令
核心

券商 / 期貨
商 傳送委託回報 下單軟體
不同類型程式交易系統示範
 每日 K 線交易策略
回測調整策略後,隔日開盤掛單
回測調整策略後,當日交易 ( 預算價格
)
 日內K 線交易策略
 逐筆交易 (Tick) 交易策略
 簡易文字檔下單機製作
 系統效能提升關鍵
台証電子交易平台
一般客戶 商業人士 專業法人與中實戶 海外投資人

特殊需求少 特殊需求少 特殊需求多 特殊需求少


多在固定場所看盤 移動性強 多在固定場所看盤 多在固定場所看盤

用超級大三元,配合
就可以作交易回測期貨交易 股票交易
全球通客制化軟體
Excel/VBA
超 PDA 隨 。
交 證 按 其 海
級 全 手 身 股 API ,進一步可自行建立
取得
易 券 鍵 群 他 交 外
大 球 機 理 下單系統。
票 分 全
中 下 下 組 特 易 股
三 通 下 財 機 帳 球
心 單 單 下 殊 中 票
元 單 通 版 通
單 需 心 下
求 單

AP 類 WEB 類 AP 類 AP 類 WEB 類
隨身工具
下單工具 下單工具 下單工具 下單工具 下單工具

40
 每日
K 線交易策略
回測調整策略後,隔日開盤掛單
以超級大三元取得歷史資料
使用 TS 、 Excel 或 VB 回測調整策略
確認當日收盤交易資料是否觸發策略
若是,於隔日開盤市價下單
操作範例 (I)
Step I- 將歷史交易資料匯出到 Excel

一個按鍵全數搞定,想取得可分析價量資料的交易者有福了 !
甚至於,連技術指標值都算得好好的。 (MACD , DMI 算甚麼 ?)
套句廣告詞—這要叫 Data Vender 與金融資訊系統業者怎麼 混啊 !
Step II- 設計 Excel 環境的回測環境找出隔日
交易機會 ( 也可預算明日觸發價格 )
此區可調整信號中
的指標參數

此區作綜合策略判
斷,並 計算單日與
累積損益
只要載入最新價量資料,就可於收盤後知道是否觸發買點,決定買賣。
不想延遲一天,就預算明日漲跌幅內的跳動價格是否觸發買賣點,開盤
掛限價單,就可忙自己的事去了。 ( 此作法適合沒有時間看盤的交易者 )
誰說程式交易很花錢,學習很花時間, Excel 就可以 搞 定。

此區在格位計算技 此區繪製累積損益
將分析資料以複製
術指標並判斷買 圖
貼上方式置於此區

回測調整策略後,當日交易 ( 預算價格 )
以超級大三元取得歷史資料
使用 TS 、 Excel 或 VB 回測調整策略
試算隔日觸發策略的價格點,於隔日限價
下單
操作範例 (II)
整合操作環境
策略內容編碼
策略參數最佳化分析
預算盯盤交易策略的觸發價格
在設定的漲跌空間內,以
迴圈逐一測試跳動單位的
價格是否觸發買進或賣出
策略,若是,則提示下單訊

 日內 K 線交易策略
回測調整設定策略
以超三 DDE Quote 取得即時價量資料
以即時價量資料計算日內 K 線 (VBA)
試算 K 線是否觸發策略 (Excel 格位計算 )
手動或使用 API 限價或市價交易。
使用 DDE Quote 之延遲與準確問題
取樣頻率不足, K 線價量可能有偏差
操作範例 (III)
Step I- 以 DDE 方式,匯出資料到 Excel 中

選取 DDE Excel 功
能帶出視窗

選取投資標的與需
求資料項,即可傳
送至 Excel

你沒看錯,你已經可
以取得市場脈動資料,
雖然品質不甚完美

研究 - 台指選擇權套利機會分析與即時交易環境建構
研究 - 運用證券商與網路提供的資訊資源建構金融即時交易
環境
Step II- 設計即時控盤環境
此例中以 6 分與 12 分均線交叉作為買進賣出判斷
可連結下單 API

分鐘 K 線
逐一跳出
盤前驅動
,盤後關

促發死亡交叉訊號
,提出操作建議
 逐筆交易 (Tick) 交易策略
使用逐筆資料回測找出最佳策略
以台証 API Quote 於 Tick 資料變化
當策略觸發時,使用下單 API 交易
操作範例 (IV)
客製下單整合操作環境
下單策略編修環境
內含「量增 2 口以上價漲 3 點以上,則買進
;量增 2 口以上價跌 3 點以上,則賣出」的
操作策略
簡易文字檔下單機設計
原理
使用「資訊接收工具」接收即時資訊 ( 使用
Office Quote 或 API Quote) ,送入「下單判斷邏
輯系統」 ( 如 TradeStation 或 HTS) ,觸發交易
策略,產生「下單指令」 ( 何時、何種、何量
、何價 ) ,再將「下單指令」寫出到外部文字

由下單機定時讀取文字檔,解析「下單指令」
,以下單內容呼叫下單 API 模組下單
設計
在「下單判斷邏輯系統」中寫出下單指令到外
部文字檔中
在 API 下單範例系統中,加入「不斷讀取下單
指令文字檔的內容,並驅動 API 下單的程式碼
下單機的基本功能
帳號管理功能
多帳號、憑證安全管理
策略管理功能
商品管理功能
訊號擷取與下單功能
不同類型商品證期權與國外商品
委託回報與成交回報功能
交易記錄功能
方便追蹤與跟單,成交與位成交備註
簡訊管理功能
下單環境設定功能
自動轉倉、最大下單口數、提前秒數下單
下單機的進階功能
模擬下單功能
考慮實際交易限制條件
報價讀取功能
便於市價交易與條件單交易
帳戶 ( 資金與部位 ) 管理功能
即時損益計算、盤中洗價
條件單 ( 智慧單 ) 客製功能
條件設定如調均線穿越即成交
操作策略客製功能
自行編碼功能、 Open Source 版本
演算法交易策略功能 (InteractiveBroker)
市價、限價、停損 ( 限價 ) 、觸價、開 ( 收 ) 盤
市價、 2 擇 1 委託、代換委託、長效、 ROD 、
航空母艦、戰鬥機與戰士
程式交易系統效能提升方法
除了軟硬體環境,關鍵在於券商 API
功能的支援
作到客戶指定就成功了
最強 的功能與最好的支援
你的航母可以支援多少戰鬥機功

台 API
系統示範
Xquote 帳號連結
專案 -I ITS 下單憑證管

選擇憑證路徑

憑證密碼
專案 -II 期指商品報價
(Ticks)
商品選項
ITS 帳號密碼連
模組條件

專案 -III( 近月大小台套利模組 )

套利條件成立時
,買賣訊號記錄

委成回報記錄。

套利商品資料,
根據主頁報價
專案 -IV( 回測系統 ) 回測系統預設
介面。
未來策略訊號

專案 -VI 圖片顯示器預
設介面
結論 (I)
 介紹 ( 而非推薦 ) 程式交易解決方

期許理想中的客製下單環境出現
 關鍵在券商提供的開發平台 ( 航母
)
有優質平台,交易者也可自行開發
戰鬥機群
券商的誘因在於增加仲介收入
 我的角色與使命
藉由知識推廣提升程式交易技術
提高國內交易戰力,減少財富外流
結論 (II)
 你適合何種交易系統與解決方案
交易型態
程式能力
策略有無
 程式交易中你的位置 ( 多種角色 )
策略設計者提供者
交易仲介者 ( 資訊服務 - 營業員的春天 )
交易者 ( 狼牙棒與機關槍 )
交易環境設計者 ( 軍火商 )( 卡彈與偏
離)
知識推廣 ( 傳教士 )
結論 (III)
 程式交易的風險預告
交易真 的很 難,而且越來越難
法律界限
雖然自動與人為交易僅一行程式之隔
但,依法不能由程式自動交易

系統自行設計,盈虧自負
主管機關態度謹慎,券商只能送到門口

蝴蝶效應與崩盤
程式洗單 (Gaming)
道高一尺、魔高一丈
程式玩弄人,反過來人玩弄程式
www. ProgramTrading.tw

開版不到一個月,已經匯聚超過 230 名網友


,超過 200 篇文章,邀請您共襄盛舉
理想「以集體協作提升交易水準」
 開放、同 生 、分享、全球行動
同時是生產者也是消費者
我為人人、人人為我
 「集體協作商業模式」成功案例
互動遊戲 ( 殺很大,陪你一起玩 )
網路論壇 ( 分享經驗 )
線上搜尋 ( 告知 Google 意圖 )
網路拍賣 ( 是買家也是賣家 )
語音分享 ( 原來大家都很愛現 )
知識內容分享 ( 誰說維基百科不專業 )
部落格行銷
開放程式碼
上站的人有福了
 在程式交易聚寶盆,你可以
取得今日簡報資料與系統原始碼 ( 含說明
)
分享、交流程式交易經驗
Please don’t be evil!
學習程式交易所需的技術
 TradeStation
Big brother is watching you!
 Excel(VBA)
 其他

下載券商最新版本程式交易工具
 API 或元件與不同環境範例

 上網走一走( 分享的起點與責任 )
 大家一起來接力,我是誰不重要
非商業網,各人造業各人擔
Q/A
祝 操作順利
 連絡方式
clcy@iim.nctu.edu.tw
clcy@cc.kuas.edu.tw
http://www.programtrading.tw/

You might also like