程式交易在選擇權上的應用 ATR and Strangle
課程大綱 Part 1 : Basic Concept & Building Block 程式交易的回顧 程式交易平台 : Excel VBA BS MODEL 與 Greeks 回顧 Part 2 : Auto Trade On Option Strangle 策略 交易邏輯建立 系統實作 Discussion and Q&A 2012/4/26 WWW.ALGOSTARS.NET 2
模擬交易的使用 今天目的 EXCEL DDE 接收即時報價 EXCEL VBA 送單到模擬交易所 EXCEL 接收回報 選擇權 BS Model 計價模型 On Excel 建立 BS Model 計價模型的相關函數 計算理論價 隱含波動率 商品 Greeks 等 下次上課目的 : 用這些零件組裝一個簡易的選擇權程式交易系統 2012/4/26 WWW.ALGOSTARS.NET 3
程式交易概念回顧 2012/4/26 WWW.ALGOSTARS.NET 4
程式交易平台的的三要素 分析 :Multicharts Tradestation Excel Matlab R SPSS SAS 執行 :Multicharts Tradestation Excel API based 管理 :Excel API based 2012/4/26 WWW.ALGOSTARS.NET 5
Overview 2012/4/26 WWW.ALGOSTARS.NET 6
Excel 的職責 策略洗價 送單 回報處理 部位與帳務監控 分析 與 歷史資料維護 除外 2012/4/26 WWW.ALGOSTARS.NET 7
系統架構 2012/4/26 WWW.ALGOSTARS.NET 8
選擇權策略的特色 分析商品眾多 ( 不同履約價 不同到期日 ) 歷史資料維護不易 策略回測分析難度較高 即時監控的運算量大 計價模型需要較大的運算資源 送單的模式與回報處理複雜 處理的是投資組合, 而非單一商品 2012/4/26 WWW.ALGOSTARS.NET 9
使用 TradeStation 2000i or Multicharts? 不適合處理多商品的交易 單一個 chart 只能送單到 Data1 回報處理沒有彈性 EasyLanguage 架構沒有包含回報處理 回測分析不適合多商品 ( 投資組合 ) Portfolio 分析沒有彈性 2012/4/26 WWW.ALGOSTARS.NET 10
Pro 選擇 Excel 市場即時資料容易透過 DDE 匯入 Excel Excel 的 Spread Sheet 適合多商品監控與送單 Excel VBA 可以開發多樣化的交易策略 Con 歷史資料管理不易 ( 使用 file+ruby script) 不適合資料量大的分析工作 ( 以 R 取代 ) VBA 程式開發環境不完美 ( 將就點 ) 2012/4/26 WWW.ALGOSTARS.NET 11
練習一 啟動並登入 Touchance 登入 Algostars 模擬交易所的模擬帳號 利用 Touchance 下單盒送單模擬交易所 檢查委託回報與成交回報 2012/4/26 WWW.ALGOSTARS.NET 12
練習二 將 Touchance DDE 報價導入 Excel 2012/4/26 WWW.ALGOSTARS.NET 13
第一個送單程式 畫面 Layout 2012/4/26 WWW.ALGOSTARS.NET 14
指定控制元件的巨集 當按鈕按下時, 執行 submitorder_click 函數 2012/4/26 WWW.ALGOSTARS.NET 15
撰寫程式碼 ( 一 ) 2012/4/26 WWW.ALGOSTARS.NET 16
撰寫程式碼 ( 二 ) 2012/4/26 WWW.ALGOSTARS.NET 17
練習三 建立自己的第一個送單程式 2012/4/26 WWW.ALGOSTARS.NET 18
送單的回報是否會影響到策略行 為? 限價單有成交與沒有成交, 是否會影響策略運行的後續? 2012/4/26 WWW.ALGOSTARS.NET 19
如果答案是 是, 那麼送單回報將是策略的重要參數 ( 針對不同回報思考策略要如何運行 ) 2012/4/26 WWW.ALGOSTARS.NET 20
範例 2012/4/26 WWW.ALGOSTARS.NET 21
Excel 接收成委回 不同的 Api 會有不同接收回報的方式, 以下以 TC(Touchance) 為例 TC 處理回報的模型 2012/4/26 WWW.ALGOSTARS.NET 22
2012/4/26 WWW.ALGOSTARS.NET 23
2012/4/26 WWW.ALGOSTARS.NET 24
選擇權計價模型 2012/4/26 WWW.ALGOSTARS.NET 25
問題? 現在時間 :2011 年 3 月 1 日 問題 : 在 2011 年 4 月 15 日以前, 擁有買進 9000 點台指期權力的合約價值為何 ( 值多少錢 )? 這個 選擇的權力 在市場上有人買有人賣就會形成一個價格, 市場價格合理嗎? 答案 : 選擇權計價模型要回答的 2012/4/26 WWW.ALGOSTARS.NET 26
為何要計價模型? 價格的決定 由市場供需所決定 沒有計價模型, 還是有價格存在 市場供需所決定的價格合理嗎? 計價模型提供了更深入認識價格成形的方式 結算後計價模型的理論價與市場實際價格會一致 計價模型的輔助, 可以讓交易部位站在更有利的地方? 2012/4/26 WWW.ALGOSTARS.NET 27
當假設失真, 計價模型就會失真 但仍有其參考價值 2012/4/26 WWW.ALGOSTARS.NET 28
常見的 Option 計價模型 Tree Model Binomial-Tree Model CRR LEISEN-REIMER EDGEWORTH Trinomial-Tree Model Black-Scholes Model Practitioner Black-Sholes Model Gram-Charlier Model VSK Model 2012/4/26 WWW.ALGOSTARS.NET 29
Black-Scholes Model 的前提 假設 標的物價格變動遵守 Risk-Neutral Random Walk 價格變動的平均移動速率等同無風險利率 價格變動是連續 ( 不會配股利 ) 市場沒有套利機會 ( 市場非常有效率 ) Delta Hedge 是連續的 ( 永遠存在 Delta 為零的投資組合 ) 沒有交易成本 2012/4/26 WWW.ALGOSTARS.NET 30
BS Model 相關的參數 標的物價格 (S) 履約價格 (K) 標的物價格的波動率 (σ) 無風險利率 (r) 時間 (t) 2012/4/26 WWW.ALGOSTARS.NET 31
Black-Scholes Equation( 一 ) 建立一個 買 Call 與 空期貨 Δ 的投資組合 ( 適當的選擇 Δ 可以將期貨價格變動的風險 Hedge 掉 ) 投資組合價值變動 = 選擇權價值變動 + 期貨價值變動 假設期貨價格變動遵守 Wiener Process 選擇權價值變動與參數 ( 時間 期貨價格 ) 的關係 ( 忽略高階項 ) 2012/4/26 WWW.ALGOSTARS.NET 32
Black-Scholes Equation( 二 ) 投資組合價值變動 適當選擇 Δ, 讓投資組合沒有風險 ( 所有風險來自期貨價格變動 ds) 假設這個 Δ 是存在的 假設沒有套利空間 ( 投資組合價值變動以無風險利率比例增值 ) 2012/4/26 WWW.ALGOSTARS.NET 33
Black-Scholes Equation( 三 ) + BS Model 下選擇權的價格遵守 Black-Scholes Equation + + Black-Scholes Equation = 2012/4/26 WWW.ALGOSTARS.NET 34
歐式選擇權的解析解 S: 標的物價格 E: 履約價 T: 結算日 σ: 標的物價格波動率 D: divident r: 無風險利率 N(x): Cumulative Normal Distribution 2012/4/26 WWW.ALGOSTARS.NET 35
波動率 (Volatility) 未來一定時間內, 價格會偏離目前價格多少 %? 跟方向無關 一序列的價格變化才能定義 Volatility 單一價格變化並無法計算 Volatility 需要一定的觀察時間才能計算 Volatility 2012/4/26 WWW.ALGOSTARS.NET 36
歷史 V.S. 未來 歷史波動率 : 過去資料計算統計的結果 未來 不等於 歷史 推算 預估 期待 是交易決策對未來的判斷 2012/4/26 WWW.ALGOSTARS.NET 37
VBA 的程式碼 2012/4/26 WWW.ALGOSTARS.NET 38
練習 利用 EXCEL VBA, 撰寫 BS 歐式選擇權的計價函數 2012/4/26 WWW.ALGOSTARS.NET 39
隱含波動率 BS Model 需要給一個 標的物價格波動率 才能計算出理論價 如果把市場實際價格帶入 BS Model, 計算出來的價格波動率稱為 隱含波動率 2012/4/26 WWW.ALGOSTARS.NET 40
BS Model 歐式選擇權的隱含波 動率計算 Function 2012/4/26 WWW.ALGOSTARS.NET 41
練習 計算其他履約價選擇權的 IV 2012/4/26 WWW.ALGOSTARS.NET 42
隱含波動率的計算方式 Model-Dependent 不同的計價模型所計算出來的隱含波動率會有差異 Model-Independent 不使用任何計價模型, 而是由所有履約價的選擇權商品 ( 買權與賣權 ) 價格來預估 例子 :VIX 2012/4/26 WWW.ALGOSTARS.NET 43
臺指選擇權波動率指數 (VIX for TXO) 度量市場的狀態 多空留倉比 ( 選擇權 or 期貨 ) 現期貨價差 隱含波動率 不同 pricing model 有不同的值 不同履約價有不同的值 選擇權波動率指數 Model-free ( 與 pricing model 無關 ) 2012/4/26 WWW.ALGOSTARS.NET 44
為什麼要了解 Greeks 影響選擇權價格的因數有哪些? 標的物價格 標的物價格的波動率 履約價 到期時間 無風險利率等等 影響因素那麼多, 到底哪些因數比較重要? 以上的問題可以由 Greeks 得到答案 Greeks 是 Model-dependent 的量, 使用不同的計價模型或得到不同的 Greeks 2012/4/26 WWW.ALGOSTARS.NET 45
Delta Delta 與 Gamma 定義 : 選擇權價格對標的物價格的一次微分 當標的物價格變動一個單位時, 選擇權價格會變動 Delta 單位 Gamma 定義 : 選擇權價格對標的物價格的二次微分 當標的物價格變動一個單位時, Delta 會變動 Gamma 單位 Delta 度量速度,Gamma 度量加速度 2012/4/26 WWW.ALGOSTARS.NET 46
Theta Theta 與 Vega 定義 : 選擇權價格對時間的一次微分 當時間變動一單位, 選擇權價格會變動 Theta 單位 Vega 定義 : 選擇權價格對標的物價格波動率的一次微分 當波動率變動一單位, 選擇權價格會變動 Vega 單位 2012/4/26 WWW.ALGOSTARS.NET 47
Rho 與 更高階的 Greeks Rho 無風險利率變動對選擇權價格的影響 更高階的 Greeks Taylor expansion 上面沒提到的其他項 選擇權對時間的二次微分 選擇權對波動率的二次微分 2012/4/26 WWW.ALGOSTARS.NET 48
BS 歐式選擇權模型的 Greeks Delta Gamma Theta Vega Rho 2012/4/26 WWW.ALGOSTARS.NET 49
Greeks 的 VBA 程式碼 2012/4/26 WWW.ALGOSTARS.NET 50
練習 撰寫 Greeks VBA 的 Code, 並練習使用這些程式碼 2012/4/26 WWW.ALGOSTARS.NET 51
Greeks 之間的關係 ( 一 ) BS equation 可以用 Greeks 改寫成 對於 Delta-Neutral 的 Portfolio, 可以得到以下的關係式 2012/4/26 WWW.ALGOSTARS.NET 52
Greeks 之間的關係 ( 二 ) 忽略利率的影響, 在固定 Gamma 下 Long volatility = Short Theta 預期波動率變大 = 付出時間價值 Short volatility = Long Theta 預期波動率變小 = 收時間價值 2012/4/26 WWW.ALGOSTARS.NET 53
天下沒有白吃的午餐 ( 套利除外 ) + 1 2 = 0 因為 S 與都是大於零, 所以控制的正負號就可以決定收時間價值或是付出時間價值 Long Gamma = Short Theta Short Gamma = Long Theta 2012/4/26 WWW.ALGOSTARS.NET 54
如何使用 Greeks? 建立交易策略的參考 度量風險 風險來自不確定性,Greeks 把這些不確定性分類了 價格變化的不確定 價格波動的不確定 無風險利率的不確定性 避險 ( 調整部位時可以參考 ) Hedge Delta Gamma Vega Rho 2012/4/26 WWW.ALGOSTARS.NET 55
所有 Greeks 可以相加嗎? 如果標的物與合約月份是相同的,Delta Gamma Theta Vega 與 Rho 是可以相加的 如果合約月份不同,Vega 不能直接相加 ( 分母並不相同 ) 如果標的物不同 ( 比方說台指權跟電子權 ),Greeks 疊加的計算方式將會比較複雜 2012/4/26 WWW.ALGOSTARS.NET 56
這次上課相關的程式碼將會在下 次系統實作中用到, 各位可以回 家先熟悉一下 2012/4/26 WWW.ALGOSTARS.NET 57
回家思考的問題 當盤整一段時間後, 預期會有大行情 在盤整一段時間時,Long strangle Long Put + Long Call 預期的行情愈大, 就買愈價外? 要如何選擇 Put 與 Call? 當 Delta 跑掉時要如何調整來避開 Delta 風險? 什麼時間點要解掉? 什麼時間點獲利了結? 2012/4/26 WWW.ALGOSTARS.NET 58