A. 如何在matlab中用蒙特卡洛模擬計算歐式期權價格
function [c,p]=ucoption(S,X,sigma,r,T,M)
sig2=sigma^2;
srT=sqrt(T);
srTa=sigma*srT;
c=0;
p=0;
for i=1:M
ST=S*exp((r-0.5*sig2)*T+srTa*randn);
c=c+max(ST-X,0);
p=p+max(X-ST,0);
end
c=c/M;
p=p/M;
[Call,Put] = blsprice(S, X, r, T, sigma);
error=[c,p]-[Call,Put]
%可以試試 [c,p]=ucoption(10,10,0.3,0.05,0.5,10^4*100);
B. 如何用matlab計算期權價格
參考論文
期權定價理論是現代金融學中最為重要的理論之一,也是衍生金融工具定價中最復雜的。本文給出了歐式期權定價過程的一個簡單推導,並利用Matlab對定價公式給出了數值算例及比較靜態分析,以使讀者能更直觀地理解期權定價理論。
關鍵詞:Matlab;教學實踐
基金項目:國家自然科學基金項目(70971037);教育部人文社科青年項目(12YJCZH128)
中圖分類號:F83文獻標識碼:A
收錄日期:2012年4月17日
現代金融學與傳統金融學最主要的區別在於其研究由定性分析向定量分析的轉變。數理金融學即可認為是現代金融學定量分析分支中最具代表性的一門學科。定量分析必然離不開相應計算軟體的應用,Matlab就是一款最為流行的數值計算軟體,它將高性能的數值計算和數據圖形可視化集成在一起,並提供了大量內置函數,近年來得到了廣泛的應用,也為金融定量分析提供了強有力的數學工具。
一、Black-Scholes-Merton期權定價模型
本節先給出B-S-M期權定價模型的簡單推導,下節給出B-S-M期權定價模型的Matlab的實現。設股票在時刻t的價格過程S(t)遵循如下的幾何Brown運動:
dS(t)=mS(t)dt+sS(t)dW(t)(1)
無風險資產價格R(t)服從如下方程:
dR(t)=rR(t)dt(2)
其中,r,m,s>0為常量,m為股票的期望回報率,s為股票價格波動率,r為無風險資產收益率且有0<r<m;dW(t)是標准Brown運動。由式(1)可得:
lnS(T):F[lnS(t)+(m-s2/2)(T-t),s■](3)
歐式看漲期權是一種合約,它給予合約持有者以預定的價格(敲定價格)在未來某個確定的時間T(到期日)購買一種資產(標的資產)的權力。在風險中性世界裡,標的資產為由式(1)所刻畫股票,不付紅利的歐式看漲期權到期日的期望價值為:■[max(S(T)-X,0)],其中■表示風險中性條件下的期望值。根據風險中性定價原理,不付紅利歐式看漲期權價格c等於將此期望值按無風險利率進行貼現後的現值,即:
c=e-r(T-1)■[max{S(T)-X,0}](4)
在風險中性世界裡,任何資產將只能獲得無風險收益率。因此,lnS(T)的分布只要將m換成r即可:
lnS(T):F[lnS(t)+(r-s2/2)(T-t),s■](5)
由式(3)-(4)可得歐式看漲期權價格:
c=S(t)N(d1)-Xe-r(T-1)N(d2)(6)
這里:
d1=■(7)
d2=■=d1-s■(8)
N(x)為均值為0標准差為1的標准正態分布變數的累積概率分布函數。S(t)為t時刻股票的價格,X為敲定價格,r為無風險利率,T為到期時間。歐式看跌期權也是一種合約,它給予期權持有者以敲定價格X,在到期日賣出標的股票的權力。
下面推導歐式看漲期權c與歐式看跌期權p的聯系。考慮兩個組合,組合1包括一個看漲期權加上Xe-r(T-1)資金,組合2包含一個看跌期權加上一股股票。於是,在到期時兩個組合的價值必然都是:
max{X,S(T)}(9)
歐式期權在到期日之前是不允許提前執行的,所以當前兩個組合的價值也必相等,於是可得歐式看漲期權與看跌期權之間的平價關系(put-call parity):
c+Xe-r(T-t)=p+S(t)(10)
由式(10)可得,不付紅利歐式看跌期權的價格為:
p=Xe-r(T-t)N(-d2)-S(t)N(-d1)(11)
二、Black-Scholes-Merton模型的Matlab實現
1、歐式期權價格的計算。由式(6)可知,若各參數具體數值都已知,計算不付紅利的歐式看漲期權的價格一般可以分為三個步驟:先算出d1,d2,涉及對數函數;其次計算N(d1),N(d2),需要查正態分布表;最後再代入式(6)及式(11)即可得歐式期權價格,涉及指數函數。不過,歐式期權價格的計算可利用Matlab中專有blsprice函數實現,顯然更為簡單:
[call,put]=blsprice(Price,Strike,Rate,Time,Volatility)(12)
只需要將各參數值直接輸入即可,下面給出一個算例:設股票t時刻的價格S(t)=20元,敲定價格X=25,無風險利率r=3%,股票的波動率s=10%,到期期限為T-t=1年,則不付紅利的歐式看漲及看跌期權價格計算的Matlab實現過程為:
輸入命令為:[call,put]= blsprice(20,25,0.03,0.1,1)
輸出結果為:call=1.0083put=5.9334
即購買一份標的股票價格過程滿足式(1)的不付紅利的歐式看漲和看跌期權價格分別為1.0083元和5.9334元。
2、歐式期權價格的比較靜態分析。也許純粹計算歐式期權價格還可以不利用Matlab軟體,不過在授課中,教師要講解期權價格隨個參數的變化規律,只看定價公式無法給學生一個直觀的感受,此時可利用Matlab數值計算功能及作圖功能就能很方便地展示出期權價格的變動規律。下面筆者基於Matlab展示歐式看漲期權價格隨各參數變動規律:
(1)看漲期權價格股票價格變化規律
輸入命令:s=(10∶1∶40);x=25;r=0.03;t=1;v=0.1;
c=blsprice(s,x,r,t,v);
plot(s,c,'r-.')
title('圖1看漲期權價格股票價格變化規律');
xlabel('股票價格');ylabel('期權價值');grid on
(2)看漲期權價格隨時間變化規律
輸入命令:s=20;x=25;r=0.03;t=(0.1∶0.1∶2);v=0.1;c=blsprice(s,x,r,t,v);
plot(t,c,'r-.')
title('圖2看漲期權價格隨時間變化規律');
xlabel('到期時間');ylabel('期權價值');grid on
(3)看漲期權價格隨無風險利率變化規律
s=20;x=25;r=(0.01∶0.01∶0.5);t=1;v=0.1;c=blsprice(s,x,r,t,v);
plot(r,c,'r-.')
title('圖3看漲期權價格隨無風險利率變化規律');
xlabel('無風險利率');ylabel('期權價值');grid on
(4)看漲期權價格隨波動率變化規律
s=20;x=25;r=0.03;t=1;v=(0.1∶0.1∶1);c=blsprice(s,x,r,t,v);
plot(v,c,'r-.')
title('圖4看漲期權價格隨波動率變化規律');
xlabel('波動率');ylabel('期權價值');grid on
(作者單位:南京審計學院數學與統計學院)
主要參考文獻:
[1]羅琰,楊招軍,張維.非完備市場歐式期權無差別定價研究[J].湖南大學學報(自科版),2011.9.
[2]羅琰,覃展輝.隨機收益流的效用無差別定價[J].重慶工商大學學報(自科版),2011.
[3]鄧留寶,李柏年,楊桂元.Matlab與金融模型分析[M].合肥工業大學出版社,2007.
C. 股票指數期權的定價公式
期權定價問題(Options Pricing)一直是理論界與實務界較為關注的熱點問題,同時也是開展期權交易所遇到的最為實際的關鍵問題。期權價格是期權合約中惟一的可變數,它通常由內涵價值與時間價值兩部分構成。而決定期權價格的主要因素包括以下幾方面:(1)履約價格的高低;(2)期權合約的有效期;(3 )期權標的物市場的趨勢;(4)標的物價格波動幅度;(5)利率的變化。股票指數期權價格的確定也是如此。
根據布萊克·修斯的期權定價模型, 可以分別得到歐式看漲股票指數期權和看跌股票指數期權的定價公式為:
c=se-q(T-t)N(d1)-xe-r(T-t)N(d2);
P=xe-r(T-t)N(-d2)N-se-q(T-t)N(-d1)。
其中 ln(SX)+(r-q+σ2/2)(T-t) ┌──
d1=───────────── ,d2=d1-σ│T-T
┌──
σ│T-t
S為股票指數期權的現貨價格,X為執行價格,T為到期日,r為無風險年利率,q為年股息率,σ為指數的年變化率即風險。
例如,以期限為兩個月的標准普爾500指數的歐式看漲期權,假定現行指數價格為310,期權的協議價格為300,無風險年利率為8%,指數的變化率年平均為20 %,預計第一個月和第二個月的指數平均股息率分別為0.2%和0.3%。將這些條件,即S=310,X=300,r=0.08,σ=0.2,T-T=0.1667,q=0.5%×6=0.03,代入以上的歐式看漲股票指數期權定價公式,可以得到d1=0.5444,d2=0.4628,N(d1)= 0.7069,N(d2)=0.6782,則C=17.28,即一份股票指數期權合約的成本為17.28 美元。
D. 平價關系式中可以說一種資產是什麼
在20世紀70年代初,費希爾·布萊克( Fisher black)、邁倫·斯科爾斯( Myron Scholes)和羅伯特·默頓( Robert Merton)在對歐式股票期權定價研究方面取得了重大的理論突破,提出了針對歐式期權定價的模型,該模型被稱為布萊克-斯科爾斯-默頓模型(簡稱BSM模型)。
模型假設:
在推導出布萊克斯科爾斯-默頓模型時,有以下7個假設前提條件:
一是假設基礎資產的股票價格服從幾何布朗過程;二是可以賣空證券,並且可以完全運用賣空所獲得的資金;三是無交易費用和無稅收,所有證券均可無限分割;四是在期權期限內,基礎資產無期間收入(比如股票不支付股息);五是市場不存在無風險套利機會;六是證券交易是連續進行的;七是短期無風險利率是一個常數,並對所有期限都是相同的。
微分方程:
此外,模型在推導過程中運用到了一個很重要的微分方程,具體就是
微分方程
其中,式子中的 f 表示看漲期權價格,S表示期權基礎資產的價格,r為連續復利的無風險收益率,σ為基礎資產價格百分比變化(收益率)的波動率,t是時間變數。
定價公式:
歐式看漲期權的定價公式
看漲期權定價公式
通過看漲-看跌平價關系式,可以得到看跌期權的定價公式:
看跌期權定價公式
其中:
d的計算
c與p分別代表歐式看漲、看跌期權的價格,S0是基礎資產在初始0時刻的價格,K是期權的執行價格,r是連續復利的無風險收益率,σ為基礎資產價格百分比變化(收益率)的年化波動率,T是期權合約的期限(單位是年),N()表示累積標准正態分布的概率密度。
代碼實現基於布萊克-斯科爾斯-默頓模型計算歐式看漲期權、看跌期權定價的函數:
import numpy as np
from scipy.stats import norm
def call_BS(S,K,sigma,r,T):
'''用bs模型計算歐式看漲期權價格
S 期權基礎資產價格
K 期權執行價格
sigma 基礎資產價格百分比變化(收益率)的年化波動率
r 無風險收益率
T 期權合約剩餘年限
'''
d1 = (np.log(S/K) + (r + pow(sigma,2)/2)*T) / (sigma*np.sqrt(T))
d2 = d1 - sigma*np.sqrt(T)
return S*norm.cdf(d1) - K*np.exp(-r*T)*norm.cdf(d2)
def put_BS(S,K,sigma,r,T):
'''用bs模型計算歐式看跌期權價格
S 期權基礎資產價格
K 期權執行價格
sigma 基礎資產價格百分比變化(收益率)的年化波動率
r 無風險收益率
T 期權合約剩餘年限
'''
d1 = (np.log(S/K) + (r + pow(sigma,2)/2)*T) / (sigma*np.sqrt(T))
d2 = d1 - sigma*np.sqrt(T)
return K*np.exp(-r*T)*norm.cdf(-d2) - S*norm.cdf(-d1)
例子:
一份期限為6個月的股票期權,期權的基礎資產是工商銀行的A股股票,2018年12月28日股票收盤價是5.29元/股,期權的執行價格為6元股,無風險利率為年化4%,股票收益率的年化波動率是24%,運用布萊克斯科爾斯-默頓模型計算看漲期權看跌期權的價格。
call_BS(S=5.29, K=6, sigma=0.24, r=0.04, T=0.5)
put_BS(S=5.29, K=6, sigma=0.24, r=0.04, T=0.5)
二、看漲-看跌期權 平價關系式
具有相同執行價格與期限的歐式看跌期權、看漲期權在價格上有一個重要關系式。
1.兩個投資組合
首先,考慮以下兩個投資組合在期權合約到期時的盈虧情況。A投資組合:一份歐式看漲期權和一份在T時刻到期的本金為K的零息債券;B投資組合:一份歐式看跌期權和一份基礎資產。這里需要假設看漲期權與看跌期權具有相同的執行價格K與相同的合約期限T。
對於A投資組合而言,零息債券在期權合約到期日(T時刻)的價值顯然是等於K,而對於看漲期權則分兩種情形討論。
情形1:如果在T時刻,基礎資產價格St>K,A投資組合中的歐式看漲期權將被執行,此時,A投資組合的價值是(St-K)+K=St;
情形2:如果在T時刻,基礎資產價格St<K,A投資組合中的歐式看漲期權就沒有價值,此時A投資組合的價值為K。
對於B投資組合而言,也分兩種情形討論。
情形1:如果在T時刻,基礎資產價格St>K,此時,B投資組合中的歐式看跌期權沒有價值,此時,B投資組合價值為St,也就是僅剩下基礎資產的價值;
情形2:如果在T時刻,基礎資產價格St<K,此時,B投資組合中的歐式看跌期權會被行使,此時B投資組合價值為(K-St)+St=K。綜合以上的分析,當St>K時,在T時刻兩個投資組合的價值均為St;當St<K時在T時刻兩個投資組合的價值均為K。換而言之,在T時刻(期權合約到期時),兩個投資組合的價值均為max(St, K)
由於A投資組合與B投資組合中的期權均為歐式期權,在期權到期之前均不能行使,既然兩個投資組合在T時刻均有相同的收益,在期權合約的存續期內也應該有相同的價值。否則,就會出現無風險套利機會,套利者可以買入價格低的投資組合,與此同時賣空價格高的投資組合進行無風險的套利,無風險套利收益就是等於兩個組合價值的差額。
2. 抽象的數學表達式
看漲期權 + 零息債券價格 = 看跌期權 + 基礎資產價格
平價共識
代碼實現:
def call_parity(p,S,K,r,T):
'''通過平價關系式用看跌期權價格計算歐式看漲期權價格。
p:歐式看跌期權價格
S:期權基礎資產價格
K:執行價格
r:無風險收益率
T:合約剩餘期限
'''
return p + S - K * np.exp(-r * T)
def put_parity(c,S,K,r,T):
'''通過平價關系式,用看漲期權價格計算歐式看跌期權價格。
c:歐式看漲期權價格
S:期權基礎資產價格
K:執行價格
r:無風險收益率
T:合約剩餘期限
'''
return c + K * np.exp(-r * T) - S
例子:
假設當前股票價格為20元股,期權的執行價格為18元/股,無風險收益率為每年5%,3個月的歐式看漲期權價格對外報價是2.3元,3個月的歐式看跌期權對外報價是0.3元,期權價格是否合理?
call_parity(p=0.3, S=20, K=18, r=0.05, T=0.25)
==>2.523599591110134
put_parity(c=2.3, S=20, K=18, r=0.05, T=0.25)
==>0.07640040888986732
通過計算,看漲期權被低估,看跌期權則被高估,因此可以通過持有看漲期權的多頭頭寸並買入零息債券(相當於買入A投資組合),同時持有看跌期權的空頭頭寸並賣空基礎資產(相當於賣空B投資組合),從而實現無風險套利。
打開CSDN APP,看更多技術內容
產品定價模型
產品定價模型劃分 銷售品 作為資費和服務的承載實體,是面向市場和客戶提供的商務實體,包括銷售品基本信息、生命周期、銷售品屬性、扣費規則、銷售品品牌等等 定價計劃 資費規則的打包,用戶訂購一個銷售品時,只能實例出一個定價計劃 定價 定義銷售品具體的定價信息,包括計費基礎費率、累積優惠和贈送、免費資源、折上折、帳務固費和優惠等等 產品定價模型概念視圖 銷售品信息根據實際業務需求通過配置實現。 定價計劃-計費基礎費率 普通費率 既直線費率 階梯費率 分段費率 混合費率 基於上述兩種費率,結合時間
繼續訪問
第1節 歐式期權價格
第1節 歐式期權價格 1.1 簡介 1.2 Python 代碼實現計算 1.3 細節說明 1.3.1 參數說明 1.3.2 價格和價值 1.3.3 正態分布累計概率函數N(x)N(x)N(x) 1.3.4 歐式期權的看跌-看漲平價關系 1.3.5 計算中使用無風險利率rrr而不是資產預期收益率μ\muμ 1.1 簡介 考慮期權對應的資產價格為S(t)S(t)S(t), 記為SSS,它的變化過程為幾何布朗運動, dSS=μdt+σdz
繼續訪問
【金融量化分析】#BSM formula 的推導(解隨機微分方程)
【金融量化分析】#BSM formula 的推導(解隨機微分方程)
繼續訪問
熱門推薦 BSM的兩個基本問題與python實現(歐式期權定價公式)
在我們的定義中,定量分析是數學或統計學方法在市場數據上的應用。 ——John Forman BSM定價模型的兩個基本問題: 隱含波動率 以某些到期日的期權報價倒推出這些期權的隱含波動率,並匯出圖表——這是期權交易者和風險管理者每天都要面對的任務。 蒙特卡洛模擬 歐式期權價值的計算。通過蒙特卡羅技術,模擬股票在一段時間中變化。 像Black-Scholes-Merton(1973)這樣有深遠影響...
繼續訪問
金融分析與風險管理——期權BSM模型
金融分析與風險管理——期權BSM模型1. BSM模型的假定2. 期權價格與相關變數的關系2.1 期權價格與標的物(S)價格的關系2.2 期權價格與執行價格(K)的關系2.3 期權價格與波動率(sigma)的關系2.4 期權價格與無風險收益率(r)的關系2.5 期權價格與期權剩餘期限(t)的關系 1. BSM模型的假定 1.標的物價格服從幾何布朗運動 2.允許做空,且可以完全運用做空所獲得的資金 3.無交易費用、無稅收費用,且可以無限分割 4.在期權期限內,標的物無期間收入 5.市場不存在無風險套利機會 6
繼續訪問
布萊克—斯科爾斯—默頓(BSM)模型
BSM模型是最常用的期權定價模型之一,雖然其假設不合符市場事實,但是該模型的提出奠定了現代金融衍生品法則的基石。 該模型在學界的發展: 早期的期權定價大多採用Black-Scholes(B-S)期權定價模型,B-S模型假定標的資產收益率服從正態分布且波動率是常數,但是這一假定無法解釋「波動率微笑」和「杠桿效應」。在隨後的研究中,不斷有學者對B-S模型進行改進,例如修正常數波動率、重新刻畫資產波動率分布等。 隨機波動率模型對B-S模型做出了優化,較為著名的模型有Heston、3/2、...
繼續訪問
期權的定義與BSM定價
期權定價模型期權定義期權,是指一種合約,源於十八世紀後期的美國和歐洲市場,該合約賦予持有人在某一特定日期或該日之前的任何時間以固定價格購進或售出一種資產的權利。期權定義的要點如下:1、期權是一種權利,期權合約至少涉及買家和出售人兩方。持有人享有權利但不承擔相應的義務。2、期權的標的物。期權的標的物是指選擇購買或出售的資產。它包括股票、政府債券、貨幣、股票指數、商品期貨等。期權是這些標的物「衍生」的...
繼續訪問
BSM期權定價
1. BSM期權定價公式 2. 代碼實現 import pandas as pd import numpy as np from math import sqrt,log from scipy import stats def BSM(S0,K,T,r,sigma): ''' S0: 股票價格; K: 執行價格; T: 期權期限; r: 無風險利率 sigma: 波動率 ''' S0 = float(S0) d1 = (np.
繼續訪問
最新發布 GBDT實戰 —— 產品定價模型
GBDT實戰 —— 產品定價模型
繼續訪問
歐式香草期權(普通看漲、看跌)的定價公式及實現
本文將從文獻中查閱歐式看漲、看跌期權的定價公式,用代碼實現該公式。
繼續訪問
Black-Scholes-Merton歐式期權定價公式
理論和實際價格通常不吻合
繼續訪問
數據有價——數據資產定價研究初探
數據(Data)是一項資產的觀念形成雖然時間不長,但已經成為人們的共識。成為資產的兩個基本前提條件是能夠確權和定價。確權是確定誰擁有什麼權利或權益,定價使得資產具備可轉讓...
繼續訪問
BSM模型心得,python實現方案
#BSM模型心得,python實現方案 BSM簡介 首先對於BSM模型先簡單介紹一下,接觸過期權的人應該都不陌生,BSM模型全稱Black-Scholes-Merton model,其主要的貢獻是提供了一種期權定價模式,並且首次提出了對沖風險的概念,也就是delta hedging,通過delta hedging我們可以完全對沖掉風險,這也為當時的投資界提供了一個嶄新的思路。 對於期權的定價我把方...
繼續訪問
期權定價公式的推導(歐式)
1.C=e−rTEQ[max(ST−K,0)]C = e^{-rT}E^{Q}[max(S_T-K,0)]C=e−rTEQ[max(ST−K,0)] 又可以寫為C=e−rTEQ[(ST−K)]IIST>=K](1)C = e^{-rT}E^{Q}[(S_T-K)]II_{S_T > =K }] \tag 1 C=e−rTEQ[(ST−K)]IIST>=K](1) 其中QQ...
繼續訪問
期權定價模型之經典--BS模型
期權定價模型之BS模型
繼續訪問
matlab找出定價規律,基於MATLAB建立數學模型對定價系統的研究
1. 引言首先,應用MATLAB軟體對所搜集數據進行刪減,得到有效數據。利用有效數據建立起任務所在的經緯度坐標、任務標價以及任務完成情況的三維散點圖,說明了價格、任務量和任務地點之間的內在關系。為了方便後續分析,運用MATLAB的K值聚類將這些散點分入A、B、C、D四個區域,建立了相應的二維散點圖和各個區域的柱狀圖,得到價格、成功率和任務量分配之間的關系。另外,建立二維圖直觀分析了會員分布與成功率...
繼續訪問
分支定價演算法(branch and price, B&P)
目錄前言分支定界演算法列生成演算法步驟參考文獻 前言 簡述分支定價演算法原理,如有錯誤可私信,謝謝。部分截圖來自本人匯報所用PPT以及參考文獻。 分支定界演算法 分支定價演算法(branch and price, B&P)=分支定界(branch and bound, B&B)+列生成(column generation, CG, 線性規劃)。其中列生成演算法用於求節點的下界,即節點鬆弛模型的最優解。列生成演算法因其求解方法的本質會大大減少計算量,求解的並非節點鬆弛模型本身,而是受限制的鬆弛模型,即減少了
繼續訪問
matlab歐式期權定價公式,[轉載]期權定價的Matlab實現(以歐式看漲期權為例)
二叉樹模型考慮到歐式期權的特性,忽略中間過程,直接關注末期狀態及其概率分布。function price=bino(s,k,r,t,v,n)dt=t/n;u=exp(v*sqrt(dt));d=1/u;p=(exp(r*dt)-d)/(u-d);for i=0:nst(i+1)=s*power(u,n-i)*power(d,i);prob(i+1)=nchoosek(n,i)*power(p,n-...
繼續訪問
定價模型,該如何做分析?
「為啥書上講的和實際做的不一樣???」在數據領域,有很多「書上一講就明白,實際一干就報廢」的知識點,因此同學們才有這種疑惑。趁著開年,系統幫同學們解答一下,後續工作、面試都用得上。而在眾多...
繼續訪問
比特幣
區塊鏈
數學建模