《金融計算:基于Python》 課件 第7章-Python期權(quán)定價_第1頁
《金融計算:基于Python》 課件 第7章-Python期權(quán)定價_第2頁
《金融計算:基于Python》 課件 第7章-Python期權(quán)定價_第3頁
《金融計算:基于Python》 課件 第7章-Python期權(quán)定價_第4頁
《金融計算:基于Python》 課件 第7章-Python期權(quán)定價_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

金融計算:基于Python

第7章 Python期權(quán)定價【教學(xué)目的與要求】通過本章學(xué)習(xí),結(jié)合習(xí)近平新時代中國特色社會主義經(jīng)濟思想,講授Python的Black-Scholes期權(quán)定價模型、期權(quán)定價的蒙特卡羅模擬、二項式期權(quán)定價模型的計算。【重點和難點】Python的Black-Scholes期權(quán)定價模型、期權(quán)定價的蒙特卡羅模擬、二項式期權(quán)定價模型的計算。【思政育人目標(biāo)】將習(xí)近平新時代中國特色社會主義經(jīng)濟思想融入到Python的Black-Scholes期權(quán)定價模型、期權(quán)定價的蒙特卡羅模擬、二項式期權(quán)定價模型計算的學(xué)習(xí)中。【課程學(xué)習(xí)目標(biāo)】掌握Python的Black-Scholes期權(quán)定價模型、期權(quán)定價的蒙特卡羅模擬、二項式期權(quán)定價模型計算。金融計算:基于Python2主要內(nèi)容7.1. Black-Scholes期權(quán)定價模型7.2. 期權(quán)定價的蒙特卡洛模擬7.3. 二項式期權(quán)定價模型金融計算:基于Python37.1.Black-Scholes期權(quán)定價模型

金融計算:基于Python4defbscall_option(S0,X,rf,sigma,T):d1=(log(S0/X)+(rf+0.5*sigma**2)*T)/(sigma*sqrt(T))d2=d1-sigma*sqrt(T)C=S0*norm.cdf(d1)-X*exp(-rf*T)*norm.cdf(d2)returnC[例7.1.1]股票當(dāng)前價格為25元,執(zhí)行價格為25元,無風(fēng)險利率8%,股票的波動率30%,期權(quán)到期期限6個月,計算對應(yīng)的歐式看漲期權(quán)和看跌期權(quán)的價格。[例7.1.2]假設(shè)政府在以招標(biāo)形式轉(zhuǎn)讓土地的有償使用權(quán),有一投資商想要購買一塊荒地用于開發(fā)城市居民區(qū),那么投資商究竟應(yīng)該投標(biāo)多少金額呢?進一步假設(shè)投資商估計要在這片荒地上投入10億元進行基礎(chǔ)設(shè)施開發(fā),然后按照現(xiàn)有可比性的的相同住宅的現(xiàn)價,估計用2年時間將基礎(chǔ)設(shè)施建成后,這片土地的價值為15億元。并且投資測算出當(dāng)前市場對未來土地價格預(yù)期的波動率是0.3,同期無風(fēng)險利率是5%。7.1.2. 紅利對歐式期權(quán)價格影響

金融計算:基于Python5defdivbcall_option(S0,X,rf,div,divt,sigma,T):V=sum(div*exp(-rf*divt))d1=(log((S0-V)/X)+(rf+0.5*sigma**2)*T)/(sigma*sqrt(T))d2=d1-sigma*sqrt(T)C=(S0-V)*norm.cdf(d1)-X*exp(-rf*T)*norm.cdf(d2)returnC歐式看跌期權(quán)defdivbput_option(S0,X,rf,div,divt,sigma,T):V=sum(div*exp(-rf*divt))d1=(log((S0-V)/X)+(rf+0.5*sigma**2)*T)/(sigma*sqrt(T))d2=d1-sigma*sqrt(T)P=X*exp(-rf*T)*norm.cdf(-d2)-(S0-V)*norm.cdf(-d1)returnP[例7.1.3]考慮到期時間還有6個月的股票歐式看漲期權(quán)和看跌期權(quán)。標(biāo)的股票在2個月和5個月后各有一個除息日,每個除息日的紅利期望值為0.5元,已知當(dāng)前股票價格為40元,行權(quán)價格是40元,股票年波動率為30%,無風(fēng)險利率為9%。試求兩種期權(quán)的價格。7.1.3. 風(fēng)險對沖分析風(fēng)險對沖是指通過投資或購買與標(biāo)的資產(chǎn)收益波動負相關(guān)的某種資產(chǎn)或衍生證券,來沖銷標(biāo)的資產(chǎn)潛在損失的一種策略。在進行風(fēng)險對沖時經(jīng)常用到的定量參數(shù)有:Delta、Gamma、Vega、Theta、Rho。這些參數(shù)一般是某些變量變化的比率,反映了一些變量對另外一些變量的相對變化。金融計算:基于Python6Delta對沖defdc_Delta(S0,X,rf,sigma,T):d1=(log(S0/X)+(rf+0.5*sigma**2)*T)/(sigma*sqrt(T))d2=d1-sigma*sqrt(T)Delta=norm.cdf(d1)returnDeltadefdc_Gamma(S0,X,rf,sigma,T):d1=(log(S0/X)+(rf+0.5*sigma**2)*T)/(sigma*sqrt(T))d2=d1-sigma*sqrt(T)nd1=1/(sqrt(2*3.14159265))*exp(-d1**2/2)Gamma=nd1/(S0*sigma*sqrt(T))returnGammaVega=Sn(d_1)√Tdefdc_Vega(S0,X,rf,sigma,T):d1=(log(S0/X)+(rf+0.5*sigma**2)*T)/(sigma*sqrt(T))d2=d1-sigma*sqrt(T)nd1=1/(sqrt(2*3.14159265))*exp(-d1**2/2)Vega=S0*nd1*sqrt(T)returnVegadefdc_Theta(S0,X,rf,sigma,T):d1=(log(S0/X)+(rf+0.5*sigma**2)*T)/(sigma*sqrt(T))d2=d1-sigma*sqrt(T)nd1=1/(sqrt(2*3.14159265))*exp(-d1**2/2)Theta=-S0*nd1*sigma/(2*sqrt(T))-rf*X*exp(-rf*T)*norm.cdf(d2)returnThetadefdc_Rho(S0,X,rf,sigma,T):d1=(log(S0/X)+(rf+0.5*sigma**2)*T)/(sigma*sqrt(T))d2=d1-sigma*sqrt(T)nd1=1/(sqrt(2*3.14159265))*exp(-d1**2/2)Rho=X*T*exp(-rf*T)*norm.cdf(d2)returnRho[例7.1.4]考慮一個不支付紅利股票的歐式看漲期權(quán),其標(biāo)的資產(chǎn)價格是50元,行權(quán)價格是50元,無風(fēng)險年利率是10%,年波動率為30%,權(quán)力期間還有6個月,求其相應(yīng)的對沖參數(shù)。金融計算:基于Python77.1.4. 隱含波動率作為Black-Scholes歐式期權(quán)定價公式最重要的參數(shù),波動率σ是標(biāo)的資產(chǎn)本身的波動率。我們更關(guān)心的是當(dāng)時的報價所反映的市場對波動率的估計,這個估計的波動率稱為隱含波動率(ImpliedVolatility)。這里的過程實際上是在Black-Scholes歐式期權(quán)定價公式中,假設(shè)另外4個參數(shù)確定,期權(quán)價格已知,反解σ。當(dāng)計算得到看漲期權(quán)價格和給定看漲期權(quán)價格之間的絕對值小于我們設(shè)定的一個臨界值,如1分錢,即|c-3.3|<0.01時,就停止計算。金融計算:基于Python8defimpvol(S0,X,T,rf,c):fromscipy.statsimportnormforiinrange(200):sigma=0.005*(1+i)d1=(log(S0/X)+(rf+0.5*sigma**2)*T)/(sigma*sqrt(T))d2=d1-sigma*sqrt(T)diff=c-(S0*norm.cdf(d1)-X*exp(-rf*T)*norm.cdf(d2))ifabs(diff)<=0.01:returni,sigma,diff[例7.1.5]考慮一個不支付紅利股票的歐式看漲期權(quán),其標(biāo)的資產(chǎn)價格是40元,行權(quán)價格是40元,無風(fēng)險年利率是10%,權(quán)力期間還有6個月,假設(shè)看漲期權(quán)價格為3.3元,求隱含波動率。7.2. 期權(quán)定價的蒙特卡洛模擬

金融計算:基于Python97.2.2. 對數(shù)正態(tài)分布的隨機變量模擬

金融計算:基于Python10defsim_randvariable(S,rf,sigma,t):R=(rf-0.5*sigma**2)*tSD=sigma*sqrt(t)C=S*exp(R+SD*norm.cdf(1))returnC[例7.2.1]假設(shè)標(biāo)的資產(chǎn)現(xiàn)在價格是10元,無風(fēng)險利率0.01,年標(biāo)準(zhǔn)差0.3,距離下一時刻的時間為6個月,計算下一時刻標(biāo)的資產(chǎn)的價格7.2.3. 模擬歐式期權(quán)定價

金融計算:基于Python11defqqdj(S0,X,T,rf,sigma,n):z=random.standard_normal(n)ST=S0*exp((rf-0.5*sigma**2)*T+sigma*z*sqrt(T))ht=maximum(ST-X,0)C0=exp(-rf*T)*sum(ht)/nreturnC0[例7.2.2]不支付紅利股票的歐式看漲期權(quán),資產(chǎn)價格是100元,無執(zhí)行價格是100元,風(fēng)險利率0.1,年標(biāo)準(zhǔn)差0.25,期權(quán)有效期1年,模擬歐式看漲期權(quán)的價格7.2.4. 蒙特卡羅模擬精度的改進7.2.4.1.對偶變量利用對偶技術(shù)可以增加估計穩(wěn)定性、提高估計精度根據(jù)對偶變量法的基本思想,編寫python函數(shù)的思路為:1) 模擬標(biāo)的資產(chǎn)的價格路徑;2) 計算兩個期權(quán)損益值,其中一個是按照常規(guī)蒙特卡羅法計算的結(jié)果,另一個是己變所有正態(tài)分布符號計算出來的結(jié)果3) 計算期權(quán)的價格,即計算上述兩期權(quán)的平均值并將計算結(jié)果進行貼現(xiàn)。金融計算:基于Python12defdoqqdj(S0,X,T,r,sigma,N):z=random.standard_normal(N)#模擬標(biāo)的變量路徑并計算估計值

ST1=S0*exp((r-0.5*sigma*sigma)*T+sigma*z*sqrt(T))hT1=maximum(ST1-X,0)#貼現(xiàn)

C1=exp(-r*T)*sum(hT1)/N#改變隨機變量z的符號,模擬標(biāo)的變量路徑并計算估計值

ST2=S0*exp((r-0.5*sigma*sigma)*T+sigma*(-z)*sqrt(T))hT2=maximum(ST2-X,0)#貼現(xiàn)

C2=exp(-r*T)*sum(hT2)/N#計算平均值

C=(C1+C2)/2returnC[例7.2.3]考慮不支付紅利股票的歐式看漲期權(quán),它們的標(biāo)的資產(chǎn)價格是100元,執(zhí)行價格是100元,無風(fēng)險利率是10%,年波動率是25%,期權(quán)的有效期是1年,用對偶變量法計算其歐式看漲價格。7.2.4.2.控制變量法模擬控制變量法就是將與所估計的未知變量密切相關(guān)的另一個已知量的真實值和估計值之間的差異作為控制量,以提高估計精度。在定價實踐中,將兩種衍生證券用相同的隨機抽樣樣本和時間間隔,實施同樣的蒙特卡羅模擬過程,能夠得到兩個模擬估計值,以第二種衍生證券真實值與估計值之間的差異作為控制變量,最后得到第一種衍生證券的蒙特卡羅估計值。金融計算:基于Python13[例7.2.4]考慮不支付紅利股票的歐式看漲期權(quán),它們的標(biāo)的資產(chǎn)價格是100元,執(zhí)行價格是100元,無風(fēng)險利率是10%,年波動率是25%,期權(quán)的有效期是1年,用控制變量法計算其歐式看漲價格。7.3.1.2.多期歐式看漲期權(quán)定價

金融計算:基于Python147.3.2. 二項式期權(quán)解析步驟根據(jù)二項式法的基本原理和二項式法的解析式,計算衍生證券價格的步驟: 將衍生證券的有效期分成N步等間隔時間段,每步步長?t; 計算二項式的參數(shù)p,u和d; 構(gòu)建二叉樹; 通過二又樹倒推計算期權(quán)的價格。金融計算:基于Python157.3.3. 無收益資產(chǎn)歐式期權(quán)定價

金融計算:基于Python16defbinary_tree_ecop(S,X,r,sigma,times,steps):R=math.exp(r*(times/steps))u=math.exp(sigma*math.sqrt(times/steps))d=1.0/up_up=(R-d)/(u-d)p_down=1-p_upprices=np.zeros(steps+1)call_values=np.zeros(steps+1)prices[0]=S*d**(steps)foriinrange(1,(steps+1)):prices[i]=u**2*prices[i

溫馨提示

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

評論

0/150

提交評論