1
$\begingroup$

I have a data frame where each column represents a stock, each row represents a date, and the entries are returns. The stock returns span a certain time frame. My goal is to make portfolios and analyze the portfolio metrics.

I want to apply block bootstrapping to generate periods of multiple durations. However, not all stocks have data available for the entire timeframe due to delisting or the stock not existing during certain periods.

Since I want to run the bootstrap across all stocks to capture correlations, rather than on individual stock returns, how can I address the issue of missing values (NAs) caused by some stocks not existing at certain times?

$\endgroup$
2
  • $\begingroup$ One approach would be to generate synthetic (artificial) data to fill in the missing data, using the variances, correlations etc. from the period when the missing stock exists. $\endgroup$
    – nbbo2
    Commented Aug 27 at 19:05
  • $\begingroup$ Would it make sense to do that (for S&P500 long term) and then apply another process (block bootstrapping) which also will create synthetic data for desired periods? We will essentially have 2 layers of generating artificial data. Also, if I bootstrap individual stock returns instead, how worse would the results be? My goal is to make portfolios and analyze the portfolio metrics. $\endgroup$
    – spectre
    Commented Aug 27 at 19:31

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.