• 沒有找到結果。

第三章 研究方法

第一節 蒙地卡羅模擬法

蒙地卡羅模擬法於 1977 年由 Boyle 首先使用於選擇權的評價,此後蒙地卡羅 模擬法亦常被使用來評價各類型的衍生性金融商品;蒙地卡羅模擬法是基於風險 中立的環境下,利用電腦的隨機抽樣,模擬出資產價格可能之路徑,再假設每條 路徑發生之機率皆為相同,計算其算術帄均數後,最後以無風險利率折現,求得 其模擬之價格(Price),其公式如下,

)]

..., ,...

, (

[

0N 1N TN

rT

E f S S S

e PRICE

(式 3.1) 其中,r 為無風險利率、T 為距今之到期日,即存續期間;N 為欲模擬之次數;

) ..., ,...

,

( S

0N

S

1N

S

TN

f

為各模擬路徑到期日之現金流量。

本研究所使用之蒙地卡羅模擬法如下所述。

3.1.1 原始蒙地卡羅模擬法

原始蒙地卡羅模擬法相當具有彈性,能評價各類型的衍生性金融商品;但其主 要缺點為隨機亂數(ε)的取得,由於電腦所產生之亂數會產生群聚的現象;因此容 易在評價商品時會產生誤差,且亦需要模擬到一定之次數才會有比較穩定及收斂 的效果。

欲模擬股價指數或股票價格之路徑,我們需先假設風險中立且股價指數(股票價 格)符合幾何布朗運動,本研究以股價指數為模擬模型之設定標的,模擬之標的若 為其他資產,則將股價指數修改為其他資產資價格(及相關參數)即可,蒙地卡羅模 擬法評價過程之步驟如下,

步驟 1

16

於時點 T 之股價指數可表示如下,

] )

5 . 0

[(

r d

2

dt dt Exp

I

I

T

t

     

(式 3.2)

其中,It為前一期之股價指數;r 為無風險利率;d 為股利率;σ 為股價指數波 動度;ε 為隨機亂數;dt 為產生股價指數之間隔時間。

步驟 2

產生其𝜀之亂數,代入(式 3.2),產生各個時點之股價指數,求算到到期日 T 之 股價指數。

步驟 3

依據配息方式,求算各路徑之價格。

步驟 4

將步驟 2 及步驟 3 重覆至欲模擬的次數,再以適當之無風險利率(r)折現並帄均,

即為該結構型債券之價格。

3.1.2 反向變異法

由於使用原始蒙地卡羅模擬法時會產生群聚的現象,因此我們可使用反向變 異法降低模擬結果之變異,此法係產生一個與原來資產為負相關的隨機項以降低 其模擬結果之變異,其主要概念為假設由常態亂數表所抽取之隨機亂數所計算出 來之資產價值為θ1,再由同一組隨機亂數加上負號即成為相反變量之資產價格為θ2, 並將兩價值加以帄均即為最終之資產價值θ。即,

2

2

1

  

(式 3.3)

變異數為,

2 ) ( )

(

  Var

1

2

Var

) , cov(

2 ) ( )

( 4[ 1

2 1 2

1

  

  

Var Var

(式 3.4) 其 中 ,Var(θ1)=Var(θ2)=σ2。 若 θ1 與 θ2 具 有 高 度 負 相 關 ,cov(θ12)<0 , 故

17

) , cov(

2 ) ( ) ( 4[ ) 1

(

  Var

1

Var

2

 

1

2

Var

,藉由此方法降低其變異數,提高模擬

的準確度,故不需要增加模擬次數亦能達成降低變異之效果。

3.1.3 準蒙地卡羅模擬法

本小節將介紹所使用之準蒙地卡羅模擬法當中的 Halton Sequences、Faure Sequences 及 Sobol Sequences;使用原始蒙地卡羅模擬法及反向變異法時,亂數的 產生皆由電腦中的隨機亂數所產生介於 0~1 之間的亂數值,或多或少存在群聚的 現象,因而降低模擬準確性;因此本研究進一步使用準蒙地卡羅模擬法,準蒙地 卡羅模擬法不同於原始蒙地卡羅模擬法及反向變異法,在於準蒙地卡羅模擬法是 透過確定的數列產生其亂數,使得所產生之序列並無群聚之現象,且皆能均勻地 分散於 0~1 之間,無頇透過大量的模擬次數亦能增加其模擬的準確性,故準蒙地 卡羅模擬法亦稱為低差異序列法(Low-Discrepancy Sequences)。Halton Sequences、

Faure Sequences 及 Sobol Sequences 等方法概述如下:

(1) Halton Sequences

Halton Sequences 是由 Halton(1960)所提出的低差異序列法,Halton Sequences 是由不同的質數(Prime)做為基底(Base)產生界於[0,1)多維度的數列,例如:第一維 是由質數 2 為基底所產生、第二維是由質數 3 為基底所產生,以此類推;維度則 與時間間隔相關,任一時間間隔則為一維,若將整段存續期間分割為十個期間,

則需要十個維度。

為了得到二個維度的 Halton Sequences,我們將以 n=4 為例,分別由底數 2、3 說明之。首先,我們先將 4 轉換為以 2 為底及以 3 為底的值,若將 4 轉換為以 2 為底的值為 100,以 3 為底的值則為 11。

4=1×(22)+0×(21)+0×(20) 4=1×(31)+1×(30)

接著,分別將 100 及 11 倒置為 0.001 及 0.11,並將 0.001 及 0.11 轉換為十進 位的值,其值分別如下,

8 ) 1 2 ( 1 1 2 ) ( 1 0 2 ) (1 0 001 .

0

 

1

 

2

 

3

18

19

多維度的 Halton Sequences 如同上述之求算過程,其差別在於每一維度所對應 到之底數皆不相同,其底數為大於或等於 2 之質數(如:2、3、5、7……),其中第 k 個質數則是對應到第 k 維的底數。

在高維度的情況下,Halton 會有群聚的現象產生;因此 Kocis 與 Whiten(1995) 提出對於每個 n(n=0~N-1)乘以質數  ,其公式如(式 3.7);同時,我們亦將捨棄前 1000 個 Halton numbers。

(2) Faure Sequences

Faure Sequences 與 Halton Sequences 差別在於,Halton 每一維度所使用的基底 皆不相同,而 Faure 所使用的基底(p)則為最小的質數大於或等於最大維度但不小

20

上述之步驟為 Faure Sequences 之過程,茲擬用一範例敘述 Faure numbers 產生;

假設欲產生一個二維 8 個 Faure numbers,其底數 p=2。

步驟 1

將 n=0~N-1 轉換為以 2 為底之數值,如表 3.2 所示,

21

22

3 2

1 0 2 1 2

2

1    

 8

5

因此,藉由上述之作法,我們便可將二個維度前 8 個數值列出於表 3.3,

表 3.3 Faure Sequences 二個維度下之 8 個數值

n 0 1 2 3 4 5 6 7

維度 1 0 1/2 1/4 3/4 1/8 5/8 3/8 7/8 維度 2 0 1/2 3/4 1/4 5/8 1/8 3/8 7/8

由於 Faure 與 Halton 在高維度的情況下,也會有群聚的現象產生,因此 Bratley and Fox(1998)建議將前面(p4-1)個 Faure numbers 與予捨棄。

(3) Sobol Sequences

本研究將採用 Antonov and Saleev(1979)所提出之 Sobol 演算法,因 Bratley and Fox(1998)研究指出此法較 Sobol 原始演算法約快 20%;Sobol Sequences 的產生不 同於上述 Halton 及 Faure,其主要是在於 Sobol 每一維所使用之底數均為 2;以下 將詳述 Sobol Sequences 產生之步驟。

步驟 1

首先,在產生 Sobol Sequences 前每一個維度需先產生 y 個奇數的 direction numbers,而此組 direction numbers 則為該維度產生 Sobol Sequences 之基底,y 為 大於 log2N 的最小整數,N 則為欲模擬路徑之次數。y 個 direction numbers 的產生 則是藉由 d 階的質多項式(primitive polynomial,該多項式無法再因式分解)所產生,

其 d 階多項式如下,

1 .

...

1

2 2 1

1

   

x x

x

x

P

d

d

d

d (式 3.12)

其中,該多項式中之係數β1……βd-1非 0 即 1。而 y 個 direction numbers 則是透過 下列之方程式遞迴而產生,在求算 mi時我們需將前 d 個 mi給定初始值,其初始值 之給定原則上為 0<mi<2i且為奇數,其遞迴方程式如下,

d i d i d d i d d i

i

i

m m m m m

m  2 

1 1

 2

2

2 2

 ...  2

1

1 1

 2

(式 3.13)

23

其中,d 為質多項式當中 x 之最高次方值,i=1~n,i>d,

為 XOR 運算符號,其 XOR 運算如下,

1 0 1 1 0 , 0 0 0 1

1       

在計算 mi時,需將已知之 mi轉換成二進位的數值,再進行 XOR 之運算,待 XOR 運算完畢後,將 mi二進位的數值轉換為十進位之數值即可。

步驟 2

接著,將所有 mi轉換為二進位之值 vi。其轉換 vi的公式如下:

i i i

v m

2 in base 2 (式 3.14) 步驟 3

將 n 亦轉換為二進位之值,n=0~N-1。

步驟 4

計算其 Sobol Sequences,其產生之公式如下,

c

v

n

n S n

S (  1 )  ( ) 

,

(式 3.15)

其中,S(0)=0,而 c 則是表示 n 於二進位下從最右邊計算起為 0 之位數。故 vc則為 所對應之二進位之 direction numbers。

上述為 Sobol Sequences 產生之步驟,以下將用一範例敘述單一維度之 Sobol Sequences 產生過程,而多維度的差別在於質多項式的不同。

若我們要產生一維且 16 個之 Sobol numbers,因此我們所需要的 direction numbers 為 5 個(5=log216+1,即為大於 log2N 之最小整數),其質多項式如下,

3 1

x x P

根據(式 3.12),得知該多項式的 d=3;且由(式 3.13),得知 β1=0、β2=1;因此 我們將係數代入(式 3.13)中,

3 3 3 2

2

2

2

i i i

i

m m m

m

24

我們再假設前 d=3 個 mi的值,因此,我們給定 m1=1、m2=1、m3=5,透過(式 3.12)式找出另外二個 direction numbers,

m

4

4

8

1

0001 1000

0100

 

1101

13

m

5

20

8

1

00001 01000

10100

 

11101

29

接著,將 5 個 direction numbers 轉換為二進位之值,其值為表 3.4,

表 3.4 Direction numbers 十進位值及二進位值

i

1 2 3 4 5

m

i 1 1 5 13 29

m

i二進位值 000001 000001 000101 001101 11101 接下來將 5 個 mi轉換為 vi值,其值如表 3.5 所示。

表 3.5 Direction numbers 轉換為 vi之十進位值與二進位值

i

1 2 3 4 5

m

i 1 1 5 13 29

v

i十進位值 1 2

1

22

1

23

5

2

4

13

25

29

v

i二進位值 0.1 0.01 0.101 0.1101 0.11101

由 vi的二進位值,我們不難看出其實只要將 mi的二進位值從最右邊往左移所 對應之 i 個位數即可得到 vi的二進位值。

接著,我們將 n=0~N 轉換為二進位值,其轉換之值如下表 3.6;其次,依照各 個 n 求算出所對應的 vn,c

25

表 3.6 n 轉換為二進位值及 vn,c

n(十進位值) n(二進位值) 所對應的 c

v

n,c

0 0 1 0.1

1 1 2 0.01

2 10 1 0.1

3 11 3 0.101

4 100 1 0.1

5 101 2 0.01

6 110 1 0.1

最後,我們將透過所對應的 vn,c值及(式 3.15)求得 Sobol numbers;其求算方法 如下,其中 S(0)=0,

S(1) =S(0) ⊕ v1,c

=0.0 ⊕ 0.1

=0.1(二進位)

=0.5(十進位) S(2) =S(1) ⊕ v2,c

=0.10 ⊕ 0.01

=0.11(二進位)

=0.75(十進位)

透過上述之方法依遞迴之方式,將所有 Sobol numbers 求算出來,表 3.7 為此 一維度 16 個 Sobol numbers。

26

表 3.7 單一維下前 16 個 Sobol numbers

n 所對應的 c

v

n,c Sobol numbers

0 1 0.1 0.5

1 2 0.01 0.75

2 1 0.1 0.25

3 3 0.101 0.875

4 1 0.1 0.375

5 2 0.01 0.125

6 1 0.1 0.625

7 4 0.1101 0.0625

8 1 0.1 0.5625

9 2 0.01 0.8125

10 1 0.1 0.3125

11 3 0.101 0.9375

12 2 0.01 0.4375

13 2 0.01 0.1875

14 1 0.1 0.6875

15 5 0.11101 0.0313

以上則是在單一維度下所求得 16 個 Sobol numbers,若要求得多維度之 Sobol Sequences 只需代入不同的質多項式即可;其中,由於所使用之起始值有可能會重 覆,因此本文將採用 Silva(2003)的建議,將前面 1024 個 Sobol numbers 捨棄掉。

另外,對於 direction numbers 起始值的選擇 Silva(2003)亦提出一種方法,克服於高 維度時所產生聚集之問題。其方法則是對於每個維度,從 U(0,1)中抽取亂數並且透 過(式 3.16)產生其 direction numbers 的起始值。

) 1 ], 1 2

(int[  

i i

i

Max u

m

(式 3.16) 其中,ui為從 U(0,1)所隨機抽取出之亂數,mi則需為單數(Odd);若條件不符合則 重覆抽取至符合為止。

27 Cholesky Decomposition 使得無風險利率及股價相關性去除。

3.2.1 Vasicek Model

Vasicek 模型於 1977 年提出以來奠定了利率模型之基礎,且亦被廣泛的使用並 探討,Vasicek 認為短期利率係由長期帄均利率水準加上一個隨機項組合成的,此 模型存在一缺點為在模擬利率的過程當中,若𝑑𝑡變動太大利率則會產生負值,其

相關文件