Backfilling Daily Returns from Monthly Data with a Correlated Brownian Bridge
Summary
The document considers whether monthly investment returns can be expanded into daily observations for factor regressions and portfolio weight analysis. Its main proposal is stochastic backfilling: model the lower frequency asset’s return distribution, generate daily returns jointly with observed daily factors using a copula and Monte Carlo simulation, then adjust the simulated path so it compounds to the known monthly return. A Student t distribution and Gaussian copula are offered as illustrative choices, not requirements.
Each simulated path is only one plausible allocation of the monthly return across days. Repeating the simulation helps represent that uncertainty, which compounds with uncertainty in subsequent regressions. The procedure adds no information beyond the monthly observation, so generated daily values should not be treated as actual observations. Alternatives mentioned include Kalman filtering for mixed sampling frequencies and temporal interpolation or nowcasting approaches. The appropriate method depends on the asset and available related series; polynomial interpolation is described as potentially ad hoc. The discussion provides conceptual guidance rather than a comparison of methods or empirical validation.
Key ideas
- A correlated Brownian bridge can generate candidate daily paths constrained to match an observed monthly return.
- The method first specifies the return distribution and dependence between the asset and daily factors.
- A drift adjustment can make the simulated daily returns compound to the known monthly endpoint.
- Simulated paths represent uncertainty and do not add information absent from monthly observations.
- Kalman filtering and related-frequency indicators are alternative approaches for mixed-frequency data.
Tags
Full text
# Is there a way to meaningfully generate daily returns from monthly? # Is there a way to meaningfully generate daily returns from monthly? I have a set of 7 investments in a portfolio and I need to optimize the weightings based on some exposures to various markets/styles/economic factors. I was hoping to do some sort of simple exposure analysis or 'factor analysis' (not actual Factor Analysis, but more just a bunch of regressions), using daily returns of various risk factors (for example, SPX, TBills, MSCI, FamaFrench Factors, etc). I only have daily returns for 5 of the 7 investments in the portfolio. I have monthly returns for the remaining two. Is there an easy way to do some sort of generation of daily returns from monthly returns, possibly modelling the monthly against the factors' monthly returns, and then generating daily returns based on the model? (I know this is circular, but I am spitballing.) The problem is that I need some way to tie or anchor the modeled daily returns back to the actual monthly returns. Any ideas? And does this make sense? ## Answer by RiskyScientist (score 4) https://quant.stackexchange.com/a/27798 This is a commonly seen problem, and also relates to situations in which one is dealing with some less-liquid underlyings. I will describe a method that you could think of as "stochastic backfilling" - it uses the "Correlated Brownian Bridge" technique. There are many references for the standard BB technique on the web. Let us assume we have one data series which is daily and one weekly, and that the time series are correlated. How can we backfill the "missing" data from the weekly series in a way that is consistent with the overall distribution shape of the weekly data series, and also maintains the correlation with the daily time series? This backfilling will be adding no new information, and there will be uncertainty around the result, as we will effectively be doing a correlated MC Brownian Bridge simulation to fill in the "missing" data. The first step is to model the distribution of the weekly time series. Here there are a lot of choices possible. Let us assume we model the time series using a Student t distribution and do an MLE fit. We will use this information to generate fictitious returns with the right distribution. The second step is the model of the copula that connects the two distributions. For simplicity let us assume a Gaussian copula, but there may be better choices. We now set up a two factor MC simulation, except that the daily factor will have a known return, and the weekly factor will have randomly generated returns. The simulation will run for the five days for a given week. I will not describe how to write a two factor MC simulation here, and assume it is known. Having generated the "first cut" at the five individual days' returns for the weekly time series, we see than in general they will not "compound up" to the actual observed weekly return. In this case we adjust the returns by adding a constant drift. The simple way to think of the drift is to imagine a weekly price that goes from 100 to 110 over a week. Let's say our simulated prices go from 100 to 120 over that week. To make the time series "reconnect", we simply subtract a constant daily drift from each generated return that forces the final price to be 110 instead of 120. Of course, each MC run will produce a different Brownian Bridge between the two weekly returns. This is normal and represents the uncertainty around having backfilled this information: we have not created any information here. A number of simulations can be run and the uncertainty noted. There will already be uncertainty in your regressions, and this will add to it. And of course this method can be extended to not just two underlyings but any number, thereby "backfilling" missing data in a way that is consistent with both the observed probability distribution and with the correlation structure of the data. ## Answer by Kiwiakos (score 3) https://quant.stackexchange.com/a/26284 Kalman filter (or similar methods) are quite well suited to deal with observations that are of different sampling frequencies and/or asynchronous. ## Answer by horseless (score 0) https://quant.stackexchange.com/a/25654 There are a few ways to do this. For example, the FRBNY (google FRBNY and nowcasting) creates a weekly GDP number from monthly and weekly series. You can sift through that to see how they change the time steps. In the past I generated weekly unemployment data (which is a monthly series) from the pattern of weekly unemployment claims or something like that, it was a long time ago. Just make sure the changes you estimate get you back to the original monthly data. To do daily, I could have fit these weekly to an Nth degree polynomial. I know that sounds ad-hoc but as long as you know your weaknesses in the model, you can allow for that and judge it appropriately. I used the economic series example cause you mentioned economic indicators, so if your missing series is a financial one there could be a much better fit and approach if there is a similar daily series already.
Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.