模擬

獲得帶反轉的 GBM 的下一個價格

  • July 16, 2014

這是獲取 GBM(幾何布朗運動)的下一個價格的“雙胞胎”問題,但對於帶有回歸的 GBM

在那種情況下,我想為下一個價格寫一個公式,作為以下函式:

-PreviousPrice
-DayElapsed    (this can be any fraction, however small, of a day)
-Drift         (daily drift = annual drift% / 100 / 250)
-ReversionSpeed
-Volatility   (daily volatility = annual volatility% / 100 / sqrt(250))
-N01  (standard normal realization)

我從一個網站上得到了這些東西(這對我的口味來說似乎有點太複雜了):

expTerm1 = Exp(ReversionSpeed * DayElapsed)
Term1   = Log(PreviousPrice) * expTerm1

OneMinusexpTerm1   = (1 + expTerm1)
Term2 = (Log(InitialPrice) - Drift  / ReversionSpeed ) * OneMinusexpTerm1      

OneMinus_expTerm_2   = 1 - (expTerm1 * expTerm1)
Term3   = (Volatility * Volatility ) * OneMinus_expTerm_2 / (4 * ReversionSpeed )
Term4   = Volatility * N01  * Sqrt(OneMinus_expTerm_2 / (2 * ReversionSpeed))

NextPrice = Math.Exp(Term1 + Term2 + Term3 + Term4) 

您能否更好地表達(或對上述內容進行適當的更正)使用我上面的符號和參數(假設 <> 0)(和/或任何有用的集成,當然)?

(我上面的“嘗試”的來源是: http: //marcoagd.usuarios.rdc.puc-rio.br/sim_stoc_proc.html#mc-mrd但我不確定我是否做對了。)

PS我只想獲得1個初步實現,使用所有上述參數(這些是使用者指定的常數)(波動率,漂移,反轉速度,反轉價格或“平均值”)。您自己的選擇之一就可以了。我現在不是特別在建模任何樂器之後。稍後將看到概念上的變化。這只是為了測試我的軟體界面。(稍後將重點介紹其他概念)。謝謝

公式在您的連結中給出。對於沒有跳躍的真實世界機率:

$$ x_t = x_{t-1} e^{-\eta \Delta t} + \hat{x}(1-e^{-\eta \Delta t}) +\sigma \sqrt{\frac{1-e^{- 2 \eta \Delta t}}{2 \eta}} N(0,1) $$ 在哪裡:

$ x_t $ : 價格

$ x_{t-1} $ : 上一個價格

$ \hat{x} $ :長期平均值(一個參數)

$ \Delta t $ : 時間步長(一小部分)

$ \eta $ : 反轉速度

$ \sigma $ : 波動率(每日波動率 = 年波動率% / 100 / 250)

$ N(0,1) $ : 標準正常實現

這是一個 R 實現:

set.seed(1) # Initialize the random number generation

ReversionSpeed=0.1 #parameter
Timestep=1 
Volatility =0.1 
T = 50 # number of timesteps
x=0.5 #initial price
EquilibriumPrice=0.4 #equilibrium price

for (i in 1:T){
 PreviousPrice = x[i-1]  
 N01 = rnorm(1,0,1)
 NextPrice = exp(log(PreviousPrice) * exp(-ReversionSpeed * Timestep) + log(EquilibriumPrice) * (1 - exp(-ReversionSpeed * Timestep))  + Volatility * N01  * sqrt((1 - (exp(-2*ReversionSpeed * Timestep))) / (2 * ReversionSpeed))) 
 x=rbind(x,NextPrice)
}

plot(x)

使用這些符號,您應該能夠推斷出風險中性模擬。

如您所見,我已經給參數一些值。在實踐中,您應該找到與您的資產相對應的參數。這並不容易。這個過程稱為校準。您可以查看最常用的方法:最大概似估計。這是一種優化技術:給定遞歸方程(上面的方程),您可以找到參數函式的理論分佈,然後您嘗試找到最有可能給出先前觀察到的價格的參數集。

如果您想了解我對模型的總體看法:這實際上取決於您的數據,因為模型已經發展為適合特定的數據集。但是您需要先選擇模型,而不是將模型擬合到您的數據集。(這意味著您必須了解模型)。

帶有跳躍的模型用於考慮價格分佈是重尾的事實。很容易認為它們比在紙上沒有跳躍的模型更好,但它們在實踐中更難使用(特別是校準部分,這意味著你應該了解校準)。

如果您真的想使用這些複雜的工具而不了解模型和在實踐中使用它們的方法(我不建議這樣做),您應該查看通用語言的庫,因為您將無法輕鬆實現模型和方法。我建議您使用 R 及其軟體包。

  1. 反轉速度 $ \eta $ 只是一個比例因子 >0 來控制對平均偏差的敏感性,它沒有這樣的單位。

2)您的參考連結中有各種模擬公式。您能否指定要模擬其中的哪些?

引用自:https://quant.stackexchange.com/questions/12907