一種期權定價的方法、裝置及系統與流程
2023-04-30 03:53:51 1

本申請涉及交易自動化領域,特別涉及一種期權定價的方法、裝置及系統。
背景技術:
隨著金融知識和金融產品不斷的發展和普及,拓展出許多衍生性金融工具。其中之一,就是期權,期權作為一種衍生性金融工具,是指買方擁有在未來一段時間內或未來某一特定日期以事先規定好的價格向賣方購買或出售一定數量的特定商品的權利。因此,在期權交易過程中規定好價格就顯得尤為重要。目前,期權定價有多種方法實現,例如數值方法、二項樹定價方法、蒙特卡洛定價方法。由於處理的問題的維數不斷變多,傳統的數值方法不適用,更為常用的是的蒙特卡洛定價方法。
蒙特卡洛定價方法根據隨機數來模擬抽樣實驗來計算參數的統計特徵,最後給出關於期權定價的近似值。因此,首先要計算隨機數構造出隨機抽樣環境。根據隨機抽樣環境,估計出抽樣樣本,重複根據隨機數估計得到大量的抽樣樣本,求取樣本均值,就可以得到蒙特卡洛模擬的期權價格。所以,隨機數的生成速度以及其是否表達準確的模擬環境都會影響到蒙特卡洛模擬的模擬結果。
但是目前計算隨機數的方法產生隨機數較慢,不能滿足蒙特卡洛模擬的要求,使模擬結果與真實環境的準確度較差,而且模擬的速度受制於隨機數的產生速度,模擬速度也會隨之下降。導致蒙特卡洛模擬的速度和精度不及預期要求。
因此,如何提高蒙特卡洛模擬的模擬速度,是本領域技術人員需要解決的技術問題。
技術實現要素:
本申請的目的是提供一種期權定價的方法,該方法能提高期權定價模擬時的速度;本申請還提供一種期權定價的裝置及系統。
為解決上述技術問題,本申請提供一種期權定價的方法,包括:
根據期權變化的特徵,設定串行隨機數發生器得到原始隨機數序列;
將所述原始隨機數序列按預定數量分割為預定長度的子序列;
對每個所述子序列設置一個線程,發送到協處理器中進行並行化處理得到均勻分布隨機數;
對所述均勻分布隨機數進行分布轉化處理,得到正態分布隨機數;
根據所述正態分布隨機數進行蒙特卡洛模擬,得到期權價格。
可選的,所述預定長度為滿足所述協處理器模擬時的隨機數的最大個數。
可選的,對所述均勻分布隨機數進行分布轉化處理,得到正態分布隨機數,包括:
根據所述均勻分布隨機數,計算出正態值;
根據所述正態值得到服從正態分布的正態分布隨機數。
可選的,根據所述正態分布隨機數進行蒙特卡洛模擬,得到期權價格,包括步驟:
步驟s501,利用所述正態分布隨機數在風險中性測度下模擬標的資產的價格路徑;
步驟s502,計算在所述價格路徑下的期權的到期回報,並求得回報貼現;
步驟s503,重複步驟s501與步驟s502,得到回報貼現的抽樣樣本;
步驟s504,根據所述抽樣樣本計算樣本均值,得到期權價格。
本申請還提供一種期權定價的裝置,包括:
串行隨機數模塊,根據期權變化的特徵,設定串行隨機數發生器得到原始隨機數序列;
分割模塊,將所述原始隨機數序列按預定數量分割為預定長度的子序列;
均勻分布模塊,對每個所述子序列設置一個線程,發送到協處理器中進行並行化處理得到均勻分布隨機數;
正態分布模塊,對所述並行化隨機數進行分布轉化,得到正態分布隨機數;
模擬模塊,根據所述正態分布隨機數進行蒙特卡洛模擬,得到期權價格。
可選的,所述正態分布模塊,包括:
第一計算單元,根據所述均勻分布隨機數,計算出正態值;
第二計算單元,根據所述正態值,得到服從正態分布的正態分布隨機數。
可選的,所述模擬模塊,包括:
模擬價格單元,利用所述正態分布隨機數在風險中性測度下模擬標的資產的價格路徑;
回報計算單元,計算在所述價格路徑下的期權的到期回報,並求得回報貼現;
抽樣樣本獲取單元,根據所述模擬價格單元與所述匯報計算單元的輸出,得到回報貼現的抽樣樣本;
第三計算單元,根據所述抽樣樣本計算樣本均值,得到期權價格。
本申請還提供一種期權定價的系統,包括:
cpu,用於根據期權變化的特徵,設定串行隨機數發生器得到原始隨機數序列;並將所述原始隨機數序列按預定數量分割為預定長度的子序列;對每個所述子序列設置一個線程,設置每個線程的初始值,發送到協處理器;
協處理器,將發送來的所述子序列利用openmp並行化處理得到並行化隨機數,對所述並行化隨機數進行分布轉化,得到正態分布隨機數,並根據所述正態分布隨機數進行蒙特卡洛模擬,得到期權價格。
本申請所提供的期權定價的方法,包括根據期權變化的特徵,設定串行隨機數發生器得到原始隨機數序列;將原始隨機數序列按預定數量分割為預定長度的子序列;對每個所述子序列設置一個線程,發送到協處理器中進行並行化處理得到均勻分布隨機數;對所述均勻分布隨機數進行分布轉化處理,得到正態分布隨機數;根據所述正態分布隨機數進行蒙特卡洛模擬,得到期權價格。
該方法通過將串行隨機數按照預定長度進行分段處理,將分段後的子序列發送到協處理器的方式,對串行隨機數進行並行化處理。在對分段後的子序列分配線程中,通過線程可以將子序列發送至處理模塊中。改變以往的單獨處理每個隨機數的方式,可以利用線程以一段數據的方式處理隨機數,因此在處理速度不變的情況下,可以處理更多數據,此時模擬的速度也更快。本申請所提供的一種期權定價的裝置及系統,具有同樣的有益效果,在此不做贅述。
附圖說明
為了更清楚地說明本申請實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請的實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據提供的附圖獲得其他的附圖。
圖1為本申請實施例提供的期權定價的方法的流程圖;
圖2為本申請實施例提供的正態分布處理的流程圖;
圖3為本申請實施例提供的蒙特卡洛模擬的流程圖;
圖4為本申請實施例提供的一種期權定價的裝置的結構圖;
圖5為本申請實施例提供的正態分布模塊的結構圖;
圖6為本申請實施例提供的模擬模塊的結構圖;
圖7為本申請實施例提供的一種期權定價的系統的結構圖。
具體實施方式
本申請的核心是提供一種期權定價的方法,該方法能夠提高模擬期權定價的速度;本申請還提供一種期權定價的裝置及系統。
為使本申請實施例的目的、技術方案和優點更加清楚,下面將結合本申請實施例中的附圖,對本申請實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本申請一部分實施例,而不是全部的實施例。基於本申請中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬於本申請保護的範圍。
請參考圖1,圖1為本申請實施例提供的期權定價的方法的流程圖。
該方法可以包括:
步驟s110,根據期權變化,設定串行隨機數發生器得到原始隨機數序列;
步驟s120,將所述原始隨機數序列按預定數量分割為預定長度的子序列;
步驟s130,對每個所述子序列設置一個線程,發送到協處理器中進行並行化處理得到均勻分布隨機數;
步驟s140,對所述均勻分布隨機數進行分布轉化處理,得到正態分布隨機數;
步驟s150,根據所述正態分布隨機數進行蒙特卡洛模擬,得到期權價格。
本方法,根據期權變化產生相關的隨機數序列,利用該隨機數序列進行蒙特卡洛模擬得到期權價格。其中,產生的隨機數是串行隨機數序列,對該串行隨機數序列進行並行處理和分布轉化,就是方法中的步驟s120至步驟s140,將串行隨機數序列分割後利用線程可以大大加快處理模塊接收隨機數的速度,並對串行隨機數並行化處理可以提高模擬速度,同時分布轉化的隨機數可以使模擬結果更加準確。
其中,該串行隨機數發生器所產生的隨機數用以模擬真實環境下的期權變化,因此串行隨機數發生器的設定與選取,使其產生的隨機數應符合真實環境下的期權變化的規律。在本實施例確定串行隨機數產生器中,選用一種組合多重遞歸隨機數產生器mrg32k3a,其產生的隨機數很好的反應了真實環境下的期權變化規律,也可以選用其他隨機數產生器,在此不做限定。
該隨機數產生器的具體原理如下:
組合多重遞歸隨機數產生器的遞推公式為:
xj,n=(aj,1xj,n-1+…+aj,kxj,n-k)modm
周期
為了兼顧速度和長周期性,j=2、k=3時比較理想。同時mrg32k3a是屬於此種類型的cmrg,因此確定係數後的遞推公式為:
其中n≥3,因此
a1,2=1403580a1,3=-810728
a2,1=527612a2,3=-1370589
m1=232-209m2=232-22853
根據上述結果以及如下的公式產生[0,1)之間的均勻隨機數
zn=(x1,n+x2,n)modm1
周期周為
確定隨機數產生器後,一般有兩種方法使串行隨機數並行化,第一種是每個線程獨自應用不同類別的隨機數產生器,第二種是將一個隨機數產生器並行化到每一個線程中。由於第二種方法易於實施,因此在本實施例眾選用第二種方法。
將產生的隨機數序列按預定數量分割為預定長度的子序列,其中,預定數量可以根據cpu的線程數確定,而子序列的預定長度應滿足處理器模擬時對隨機數個數的最大需求,使處理器處理的狀態最佳。這時每個子序列都是原始序列的連續子序列,擁有各自的初始值。同時對每個子序列設置一個線程發送到協處理器中,進行並行化處理,得到並行後的均勻分布隨機數。
上述方法通過符合期權變化規律的隨機數產生器產生隨機數,並將其並行化,加快處理模塊接收隨機數的速度,提高模擬速度,同時得到符合期權變化的抽樣樣本,計算出期權價格。該方法具有較快的處理速度,充分利用硬體資源,提高效率,同時模擬結果具有較好的精度。
請參考圖2,圖2為本申請實施例提供的正態分布處理的流程圖。
基於上述實施例,本實施例步驟s140可以包括:
步驟s141,根據所述均勻分布隨機數,計算出正態值;
步驟s142,根據所述正態值得到服從正態分布的正態分布隨機數。
其中,對於均勻分布隨機數的分布轉化,使最後輸出的隨機數是正態分布的。為了達到更好的轉化結果,在本實施例中選用box-muller變換作為分布轉化的方法,具體步驟如下:
首先,由並行化步驟產生兩個相互獨立的均勻分布隨機數r1,r2~u(0,1)。將其帶入到公式中計算。
令y符合公式
y=μ+σx
輸出服從n(μ,σ2)的正態分布隨機數y。其中,x就是上述的正態值。
在實施例後續的步驟中,運用此處得到的經分布轉化的正態分布隨機數,可以使模擬的結果準確度更高。
請參考圖3,圖3為本申請實施例提供的蒙特卡洛模擬的流程圖。
基於上述實施例,本實施例步驟s150可以包括:
步驟s501,利用所述正態分布隨機數在風險中性測度下模擬標的資產的價格路徑;
步驟s502,計算在所述價格路徑下的期權的到期回報,並求得回報貼現;
步驟s503,重複步驟s501與步驟s502,得到回報貼現的抽樣樣本;
步驟s504,根據所述抽樣樣本計算樣本均值,得到期權價格。
其中,蒙特卡洛模擬的原理如下:
首先利用正態分布隨機數模擬資產的價格路徑,將時間區間[0,t]分成n個子區間
0=t0<t1<t2<…tn=t
標的資產價格過程的離散形式是
其中s(t)表示期權標的資產在t時刻的價格,r為無風險利率,t為期權的到期執行時刻,σ為標的資產的波動率,zi為正態分布的隨機數。
其次,再計算在這條路徑下期權的到期回報,並根據無風險利率求得匯報的貼現。其中計算要關注兩種情況,分別是看漲期權和看跌期權。
看漲期權
看跌期權
其中k為敲定價格。
然後利用大量隨機數,繼續重複前兩步,可以得到大量期權回報貼現值的抽樣樣本。
最後求取樣本均值,得到期權價格的蒙特卡洛模擬值,也就是模擬出的期權價格。
看漲期權
如果其中是看跌期權,只需要將改為即可。
本申請技術方案,通過將串行數據分割為子序列,並對每個子序列設置一個線程實現串行數據的並行化處理,再將隨機數進行分布轉化形成正態分布隨機數,最後根據該正態分布隨機數進行蒙特卡洛模擬,得到模擬的期權價格。
本申請實施例提供了一種期權定價的方法,可以通過上述方法快速的產生隨機數,處理模塊也同時更快接收隨機數,從而使模擬的速度提高。同時運用了正態分布的隨機數,使最後模擬的結果精度更高。
下面對本申請實施例提供一種期權定價的裝置及系統進行介紹,下文描述的一種期權定價的裝置及系統與上文描述的一種期權定價的方法可相互對應參照。
請參考圖4,圖4為本申請實施例提供的一種期權定價的裝置的結構圖。
該裝置可用於快速的處理期權定價模擬,可以包括:
串行隨機數模塊100,根據期權變化的特徵,設定串行隨機數發生器得到原始隨機數序列;
分割模塊200,將所述原始隨機數序列按預定數量分割為預定長度的子序列;
均勻分布模塊300,對每個所述子序列設置一個線程,發送到協處理器中進行並行化處理得到均勻分布隨機數;
正態分布模塊400,對所述並行化隨機數進行分布轉化,得到正態分布隨機數;
模擬模塊500,根據所述正態分布隨機數進行蒙特卡洛模擬,得到期權價格。
請參考圖5,圖5為本申請實施例提供的正態分布模塊的結構圖。
基於上述實施例,該正態分布模塊400,可以包括:
第一計算單元410,根據所述均勻分布隨機數,計算出正態值;
第二計算單元420,根據所述正態值,得到服從正態分布的正態分布隨機數。
請參考圖6,圖6為本申請實施例提供的模擬模塊的結構圖。
基於上述實施例,該模擬模塊500,可以包括:
模擬價格單元510,利用所述正態分布隨機數在風險中性測度下模擬標的資產的價格路徑;
回報計算單元520,計算在所述價格路徑下的期權的到期回報,並求得回報貼現;
抽樣樣本獲取單元530,根據所述模擬價格單元與所述匯報計算單元的輸出,得到回報貼現的抽樣樣本;
第三計算單元540,根據所述抽樣樣本計算樣本均值,得到期權價格。
請參考圖7,圖7為本申請實施例提供的一種期權定價的系統的結構圖。
該系統可用於快速的處理期權定價方法,可以包括:
cpu710,用於根據期權變化的特徵,設定串行隨機數發生器得到原始隨機數序列;並將所述原始隨機數序列按預定數量分割為預定長度的子序列;對每個所述子序列設置一個線程,設置每個線程的初始值,發送到協處理器。
協處理器720,將發送來的所述子序列利用openmp並行化處理得到並行化隨機數,對所述並行化隨機數進行分布轉化,得到正態分布隨機數,並根據所述正態分布隨機數進行蒙特卡洛模擬,得到期權價格。
其中,根據上述並行化的理論方案,將串行程序改為openmp並行程序,確定輸入量和輸出量,通過offload的方式實現並行化,並將代碼移植到協處理器中。
過cpu和協處理器協同處理的系統,將期權定價的過程分工處理。cpu完成控制任務和數據傳輸任務,協處理器端作為計算端,完成cpu交給的並行任務。可以提高效率,加快模擬的速度。
說明書中各個實施例採用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。對於實施例公開的裝置而言,由於其與實施例公開的方法相對應,所以描述的比較簡單,相關之處參見方法部分說明即可。
專業人員還可以進一步意識到,結合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬體、計算機軟體或者二者的結合來實現,為了清楚地說明硬體和軟體的可互換性,在上述說明中已經按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬體還是軟體方式來執行,取決於技術方案的特定應用和設計約束條件。專業技術人員可以對每個特定的應用來使用不同方法來實現所描述的功能,但是這種實現不應認為超出本申請的範圍。
結合本文中所公開的實施例描述的方法或算法的步驟可以直接用硬體、處理器執行的軟體模塊,或者二者的結合來實施。軟體模塊可以置於隨機存儲器(ram)、內存、只讀存儲器(rom)、電可編程rom、電可擦除可編程rom、寄存器、硬碟、可移動磁碟、cd-rom、或技術領域內所公知的任意其它形式的存儲介質中。
以上對本申請所提供的一種期權定價的方法進行了詳細介紹。本文中應用了具體個例對本申請的原理及實施方式進行了闡述,以上實施例的說明只是用於幫助理解本申請的方法及其核心思想。應當指出,對於本技術領域的普通技術人員來說,在不脫離本申請原理的前提下,還可以對本申請進行若干改進和修飾,這些改進和修飾也落入本申請權利要求的保護範圍內。