程式

簡單的 Blockbootstrap 而不是 CircularBlockBootstrap

  • June 13, 2021

我目前正在嘗試在 Python 中阻止引導我的股票回報數據。我這樣做是為了生成合成數據。我遇到了 CircularBlockBootstrap,但在這裡的一些討論中發現不建議將其用於此類數據。現在我試圖在 Python 中找到一個簡單的 BlockBootstrap 庫,不幸的是我找不到任何這樣的庫。目前這是我的程式碼:

def WBB(s, blocksize, N_paths):
   simulated_returns = []
   
bs = CircularBlockBootstrap(blocksize,s)
for i, data in enumerate(bs.bootstrap(N_paths)):
   tmp = data[0][0].reset_index(drop=True)
   simulated_returns.append(tmp)
simulations = pd.concat(simulated_returns, axis=1, ignore_index=True)
return simulations

有人可以向我解釋如何將目前的 CircularBlockBootstrap 更改為簡單的 BlockBootstrap 嗎?

arch軟體包具有時間序列引導方法:

中的archPython實現了Politis 和 Romano (1994)的固定(塊)引導程序(其中包括,請參閱此連結),保持引導程序重新採樣固定並避免破壞數據中的依賴結構。這種方法通常在引導時間序列數據時使用。

這個例子中,作者描述瞭如何使用平穩引導方法來建構夏普比率的信賴區間。此外,他說明瞭如何為引導程序找到最佳塊長度,這在Politis & White (2004)中也有理論上的描述。

這種引導方法應該可以解決您的問題。我希望這有幫助。

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