Trying to run a regression on three variables that impact equity returns

I have three variables a,b and c, which impact equity returns, y. a is based on financial statements, so it is a quarterly figure.

b and c are calculated daily, and so are daily (only on trading days).

y is the quarterly return one quarter AFTER I get the first value for a.

I have historical data for each of these variables for about 3000 stocks. I can look at each sector differently, so narrowing down my universe is not an issue, but I will be looking at 300 stocks at the minimum for this.

My question, before I regress this, is - how do I account for the different frames here? Should a be continuous for a quarter and then change?

PS - I will use R.

It will depend a lot on what your specific data really is. Consider, for example, if $a$ was the quick ratio. It isn't actually a variable. It is made up of variables. Each of those underlying variables will have a distribution and so $a$ will be a ratio variable.

The variables will be highly correlated. If you run a correlation on the accounting variables in the Compustat universe you will not find one that is less than .6 and some are nearly collinear. Many of them are normally distributed or close to normal and so your variable, $a$, will not have a mean. You will not be able to use anything that minimizes a squared error such as OLS or GLS.

Likewise, equity returns are a future price divided by a current price, which again is a ratio distribution. This would be multiplied by future quantity divided by original quantity. The future quantity will depend upon splits, bankruptcies, mergers and stock dividends. You will need to account for each independent state.

The method of deriving the distribution of returns for a ratio is as follows. If $$Z=\frac{Y}{X},$$ where $X$ and $Y$ are random variables then the distribution of $Z$ is $$p(z)=\int_{-\infty}^\infty{|x|f(x,zx)\mathrm{d}x.}$$

If you take the log of the returns and the log of the other ratios, assuming the model still makes sense if you do that, then you will get variables with a first moment. However, it will generally be biased. I tested the population of returns in the CRSP universe from 1925-2013 and the log approximation shifts the return two percent to the right and reduces the standard deviation by 4%. This is because, for going concerns once liquidity costs have been removed, is the truncated Cauchy distribution. Its log transform distribution is the hyperbolic secant distribution.

The hyperbolic secant distribution's mean is also the median of the raw data, but the truncation of the raw data shifts the median two percent to the right of the mode.

If you use the log transform, then you recover the ability to use methods based on least squares. You are better off using a method that accounts for dividends as well. Consider two different stocks, one that pays a dividend of all income and one that pays no dividend. They should have differing distributions.

If the market is in equilibrium, then because stocks are traded in a double auction there is no winner's curse. It follows from this that the logical behavior is to bid your expectation. If there are many buyers and many sellers, then the distribution of bids is the distribution of expectations, so the prices will be bivariate normal around the equilibrium price. In $R^2$ you could think of anywhere as $(0,0)$ via a transformation. In the error space, the equilibrium errors are $(0,0)$. If you integrate around the equilibrium with the above formula, then you will get the ratio of two normal distributions around $(0,0)$, or a Cauchy distribution.

However, consider a stock that pays 100% of its income in cash and let us assume that either $\delta_{t+1}\approx{c}$ or $\delta_{t+1}\approx{\delta_t}$. In either case, the price should be the present value of the dividens and the return from dividends should be $$\frac{\delta_t}{f(\delta_t)},$$ which should just be the discount of the dividends. This is essentially a variable divided by itself in some form. It will tend to have a well-behaved distribution such as a log-normal distribution.

Dividend policy matters.

If you want to solve this for raw returns to get rid of the bias, then you will need to use either a Bayesian method or some version of quantile regression. Theil's method of regression requires independence of the variables and they won't be independent.

The issue of quarterly reporting versus daily reporting isn't a concern. Investors are using quarterly data to form beliefs, along with news data for competitors, vendors and events. Nonetheless, you will just end up with a lot of ties in your independent variable. If you have collected the date data of the disclosure versus the trade, then you can perform a separate analysis of daily data given announcements as events. The challenge is that you have a handful of firms such as Coca Cola that provide daily data via press releases and so investors of firms such as Coca Cola have extensive continuous source data outside the officially promulgated quarterly financials.

If you have access to the date that the financials were promulgated, you could mediate the effect of the ties by including time since reporting as a variable. The quality of old data could be thought of as decaying. If you did this and possibly considered the impact of this decay on daily variables, you could construct a joint variable such as $f(\Delta{t})\times{b}$, to see if this decay is carried in other variables. Again, it will depend in part on what $b$ and $c$ are. I brought up the ratio issue because it can impact you through $b$ and $c$ as well and the idea of decaying information will no longer look the same, though how it looks will depend on what you are actually working with. I cannot provide you assistance there.

See:

Curtiss, J.H. (1941) On the Distribution of the Quotient of Two Chance Variables. Annals of Mathematical Statistics , 12, 409-421.

Ding, P. (2014) Three Occurrences of the Hyperbolic-Secant Distribution. The American Statistician , 68, 32-35.

Fama, E.F. (1963) Mandelbrot and the Stable Paretian Hypothesis. Journal of Business, 36, 420-429.

Fama, E. (1965) The Behavior of Stock Market Prices. Journal of Business , 38, 34-105.

Fama, E.F. and Roll, R. (1968) Some Properties of Symmetric Stable Distributions. Journal of the American Statistical Association, 63, 817-836.

Fama, E.F. and Roll, R. (1971) Parameter Estimates for Symmetric Stable Distributions. Journal of the American Statistical Association, 66, 331-338.

Gurland, J. (1948) Inversion Formulae for the Distribution of Ratios. The Annals of Mathematical Statistics , 19, 228-237.

Harris, D.E. (2017) The Distribution of Returns. Journal of Mathematical Finance, 7, 769-804.

Mandelbrot, B. (1963) The Variation of Certain Speculative Prices. The Journal of Business , 36, 394-419.

Marsaglia, G. (1965) Ratios of Normal Variables and Ratios of Sums of Uniform Variables. Journal of the American Statistical Association, 60, 193-204.

Marsaglia, G. (2006) Ratios of Normal Variables. Journal of Statistical Software , 16, 1-10.

Take a look at MIDAS regression package, it provides tools for estimating time series with mixed frequency.

We're looking for long answers that provide some explanation and context. Don't just give a one-line answer; explain why your answer is right, ideally with citations. Answers that don't include explanations may be removed.

Try using an xts() object to deal with the data. You can merge the different time series, regardless of the mismatching times/dates. Then, you can use na.locf() to roll-forward (not interpolate) the quarterly values down to a daily granularity, while also taking care of any pesky #N/A values in your dataset. This way, you have daily values for the quarterly data, which are simply the most-recently-reported values.

Then, you can use standard lm() to run a regression directly on the xts object. Quite handy, actually.