期權定價模型BS模型及反推隱含波動率golang實現_第1頁
期權定價模型BS模型及反推隱含波動率golang實現_第2頁
期權定價模型BS模型及反推隱含波動率golang實現_第3頁
期權定價模型BS模型及反推隱含波動率golang實現_第4頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

期權定價模型BS模型及反推隱含波動率golang實現近期由于?作需要,接觸到了期權定價模型以及隱含波動率等。作為?專業??經過?星期惡補,終于搞定了難題。特此整理?些資料防?其他同仁踩坑。如有錯誤之處請各位指正。1.什么是期權定價模型?期權定價模型由布萊克與斯科爾斯在20世紀70年代提出,該模型認為,只有股價的當前值與未來的預測有關;變量過去的歷史與演變?式與未來的預測不相關。模型表明,期權價格的決定?常復雜,合約期限、現價、?風險資產的利率?平以及交割價格等都會影響期權價格。2.什么是Black-Scholes期權定價模型?B-S是兩位經濟學家BLACK、SCHOLES名字的縮寫,為了紀念他們發現該模型??他們的名字命名。期權定價模型基于的思想。投資者可建?期權與其標的股票的組合來保證確定報酬。在均衡時,此確定報酬必須得到?風險利率。期權的這?定價思想與?套利定價的思想是?致的。所謂?套利定價就是說任何零投?的投資只能得到零回報,任何?零投?的投資,只能得到與該項投資的風險所對應的平均回報,?不能獲得超額回報(超過與風險相當的報酬的利潤)。從的推導中,不難看出期權定價本質上就是?套利定價。假設條件1、標的資產價格服從;2、在期權有效期內,和收益變量是恒定的;3、市場?摩擦,即不存在稅收和;4、?融資產在期權有效期內?及其它所得(該假設后被放棄);5、該期權是,即在期權到期前不可實施。定價公式C=S·N(D1)-L·(E^(-γT))*N(D2)其中:D1=(Ln(S/L)+(γ+(σ^2)/2)*T)/(σ*T^(1/2))D2=D1-σ*T^(1/2)C—期權初始L—期權S—所交易T—期權有效期γ—計Hσ2—年度化N()—正態分布變量的,在此應當說明兩點:

第?,該模型中?風險利率必須是連續復利形式。?個簡單的或不連續的?風險利率(設為γ0)?般是?年?次,?γ要求利率連續復利。γ0必須轉化為r?能代?上式計算。兩者換算關系為:γ=LN(1+γ0)或γ0=Eγ-1。例如γ0=0.06,則γ=LN(1+0.06)=0583,即100以583%的連續復利投資第?年將獲106,該結果與直接?γ0=0.06計算的答案?致。第?,期權有效期T的相對數表?,即期權有效天數與?年365天的?值。如果期權有效期為100天,則T=100/365=0.274。3.什么是隱含波動率?隱含波動率是將市場上的權證交易價格代?權證理論價格模型,反推出來的波動率數值。?港市場稱為“引伸波幅”。隱含波動率是市場對相關資產(正股或指數)未來?段時間內的波動預期,與權證價格是同?向變化。是對未來市場價格波動的?個預測值.4.如何計算隱含波動率?從理論上講,要獲得隱含波動率的?并不困難。由于期權定價模型(如BS模型)給出了期權價格與五個基本參數(標的股價、執?價格、利率、到期時間、波動率)之間的定量關系,只要將其中前4個基本參數及期權的實際市場價格作為已知量代?定價公式,就可以從中解出惟?的未知量,其?就是隱含波動率。(即通過BS模型公式代?標的股價、執?價格、利率、到期時間,當前市場期權價格從?反推計算出隱含波動率。)5.如何計算期權價格?使?BS公式計算期權價格:只需將標的股價、執?價格、利率、到期時間,隱含波動率代?BS公式即可計算出期權價格.公式如下:6.關于隱含波動率與期權價格疑問?先需要有期權價格,然后再通過計算得出隱含波動率。期權價格是由市場決定的。再期權市場上買?和賣?都是由?戶組成。期權價格是由買?和賣?的?理預期價位決定的.交易所再通過取買賣雙?成交價作為期權價格然后代?BS公式計算出隱含波動率7.計算期權價格流程:例?:1.?先從?幣?獲取當前最近的?權?的期權信息。?如當前期權到期時間剩余2天的期權,?權價為400的看漲期權。我們獲取他的最新期權成交價以及當前以太坊現貨價格。此時我們得到4個參數:ETH現貨價格(645)?權價(400)到期時間剩余2天(2/365)當前期權最新成交價格(199.61).我們把以上參數代?波動率計算函數IV(645,400,2/365,199.61)。通過計算它返回?個對應的波動率(1.254)。2.然后我們再計算我們需要的期權價格。?如我們現在需要知道7天后到期的?權價格為500的期權價格。我們同樣從交易所獲取最新的以太坊現貨價格。把他輸?公式bs(645,500,7/365,1.254)從?計算出?個?較接近市場預期的期貨價格。8.go代碼實現看漲期權定價及波動率計算packagemainimport("BAW/go-gaussian""encoding/json""fmt""io/ioutil""log""math""net/http""net/url""os""strconv""time")/*參數S(當前股票價格)、X(執?價格)、T(以年為單位的有效期)、r(連續復利的?風險利率)和sigma(股票回報率的標準?差,也稱為波動率)返回值為看漲期權價格,看跌期權價格。不需要的部分直接使?_丟棄。*/funcbs_call(S,X,T,r,sigmafloat64)(float64,float64){d1:=(math.Log(S/X)+(r+0.5*math.Pow(sigma,2))*T)/(sigma*math.Sqrt(T))d2:=(math.Log(S/X)+(r-0.5*math.Pow(sigma,2))*T)/(sigma*math.Sqrt(T))returnS*gaussian.NormCdf(d1)-X*math.Exp(-r*T)*gaussian.NormCdf(d2),X*math.Exp(-r*T)*gaussian.NormCdf(-d2)-S*gaussian.NormCdf(-d1)}//計算隱含波動率(通過期權價格反推)varsigma1float64/*參數S(當前股票價格)、X(執?價格)、T(以年為單位的有效期)、r(連續復利的?風險利率)和price(期權價格)*/funcCallIV(S,X,T,r,pricefloat64)(float64,float64,float64){fori:=0.0;i<1000000;i++{vardifffloat64sigma1=0.00001*(i+1)a,_:=bs_call(S,X,T,r,sigma1)ifprice==a{diff=pri

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論