Stationary Bootstrap

버전 1.0.6 (3.95 KB) 작성자: Gregor Fabjan
Stationary bootstrap algorithm for resampling weakly-dependent stationary data. Based on the 1994 paper by Politis & Romano.
다운로드 수: 312
업데이트 날짜: 2022/10/18
A block resampling method used for weakly-dependent stationary time-series data proposed in the 1994 paper by Politis & Romano (https://www.jstor.org/stable/2290993).
Problem
When using non-parametric tools to generate counterfactual scenarios or empirical distributions, bootstrapping methods proved to be a powerful and easy-to-use tool. However the bootstrap in its simplest implementation assumes a time-series in which observations are independent. In a lot of applications this is not the case.
An example of this is interest rate modelling when business cycles need to be considered. The presence of business cycles makes the time-series weakly time dependent. To account for this, block-resampling techniques are used.
Solution
Stationary bootstrap is a block-resampling technique that relaxes the assumption of a fixed lenght of a sampling block. The user still needs to specify an average length, but because this is true only on average, shorter/longer blocks are also present in the final sample.
The algorithm works by randomly selecting a starting point in the time-series and at each step it either increases the block size by one or selects a new block with a new starting point. This choice happens with a fixed probability governed by the parametrisation.
Input
  • A time-series that you want to bootstrap
  • The parameter m describing the average duration of the blocks in the sample
  • The length of the output sample
Output
  • Vector of bootstrapped values of specified length
Getting started
Given the time-series with observed values 1, 2, 3, 4, 5, 6, 7, 8, 9, and 10, the user is looking to bootstrap a new sample of length 9 where the average block is of size 4.
data = [1; 2; 3; 4; 5; 6; 7; 8; 9; 10];
StationaryBootstrap(data, 4, 9)
>> ans = [6; 5; 6; 7; 8; 9; 9; 10; 1]
Calibration of m
For the calibration of the parameter, a really good source is Andrew J. Patton's implementation that can be found here: http://public.econ.duke.edu/~ap172/
Example script
Script IRS_Example.m contains an example of bootstraping the EURO denominated 6M interest-rate-swap rate. Data is obtained from the Italian stock exchange: https://www.teleborsa.it/Quotazioni/Tassi/Eurirs for date 12/11/2021
The missing maturities are interpolated using the Smith & Wilson algorithm found here:

인용 양식

Gregor Fabjan (2024). Stationary Bootstrap (https://github.com/qnity/stationary_bootstrap_matlab), GitHub. 검색됨 .

Dimitris N. Politis & Joseph P. Romano (1994) The Stationary Bootstrap, Journal of the American Statistical Association, 89:428, 1303-1313, DOI: 10.1080/01621459.1994.10476870

MATLAB 릴리스 호환 정보
개발 환경: R2021b
모든 릴리스와 호환
플랫폼 호환성
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

GitHub 디폴트 브랜치를 사용하는 버전은 다운로드할 수 없음

버전 게시됨 릴리스 정보
1.0.6

Project now has a website

1.0.5

Linked to GitHub

1.0.4

Link to new GitHub

1.0.3

Redesign of the description.

1.0.2

Added an example of bootstrapping Italian interest rate swaps

1.0.1

Added a link to a Matlab code for calibrating the parameter "m".

1.0.0

이 GitHub 애드온의 문제를 보거나 보고하려면 GitHub 리포지토리로 가십시오.
이 GitHub 애드온의 문제를 보거나 보고하려면 GitHub 리포지토리로 가십시오.