期權
根據期權鏈計算遠期價格
我有一個間諜選項鍊的歷史數據,如下所示
UnderlyingSymbol UnderlyingPrice Exchange OptionRoot \ SPY 289.84 * SPY180904C00150000 Type Expiration DataDate Strike Last Bid \ call 09/04/2018 09/04/2018 150.0 136.71 139.86 Ask Volume OpenInterest T1OpenInterest 140.12 0 251 0
我試圖為對沖目的計算與每個到期日相關的基礎期貨/遠期。我的嘗試是按到期和罷工對看跌期權和看漲期權進行分組。取看跌中間價和看漲中間價之間的差值,並將每組的最小差值添加到行使價中。Python 程式碼看起來像這樣
df['Price'] = (df['Bid'].values + df['Ask'].values) / 2 df['Maturity'] = (df['Expiration'] - df['DataDate']).dt.days / 365 c = df[df.Type == 'call'].groupby(['Expiration','Strike'])['Price'].first() p = df[df.Type == 'put'].groupby(['Expiration','Strike'])['Price'].first() df = df.join((c - p).rename('CP_diff'), on=['Expiration','Strike']) df = df[~df.CP_diff.isna()] df['Forward'] = df['CP_diff'].values + df['Strike']
我的方法作為粗略的近似值是否有效?除了從彭博社提取數據之外,我還有什麼其他可能性。
取決於您需要分析的準確程度。你想要現貨價格還是遠期價格?
您似乎正在使用 put call parity 來解決底層問題:
$$ c + Xe^{-rT} = S + p $$
所以:
$$ S = (c-p) + Xe^{-rT} $$
您可以通過回歸(對於給定的期限)找到底層證券的市場隱含價格,因為:
$$ (c-p) = S - Xe^{-rT} $$
在你的線性回歸中,因變數是 $ Y=(c-p) $ ,常數將是 $ S $ 從截距中你可以得到折扣因子 $ b = -e^{-rT} $ .
$$ Y = a + bX $$
但是,這會為您提供現貨價格並獲得遠期價格,您需要考慮貼現率和股息收益率:
$$ F = Se^{(r-q)T} $$
您已經從回歸中獲得了折扣因子,對於股息收益率,您將不得不為您想要的指數使用一些平均股息。
在任何情況下,您都應該根據實際現貨(或遠期價格)測試一些期權鏈,以驗證您的近似值有多粗略。