# Time series regression forecast next month from now (random forest,Lasso,Ridge)

I have a dataset about hedge funds. Its include data from 2010 january to 2019 december. This data are monthly financial ratios of hedge funds such as sharpe,alpha,beta,sortino and monthly returns of hedge funds. I normalized the relative returns of each fund. And I want to estimate these monthly returns. Using these ratios. Now Im using machine learning regression models, I created this function "$$Y_{t+1} = X_{0,t}+...+ X_{12,t}$$" for the regression model. "$$Y_{t+1}$$" shows the normalized relative return of the hedge fund in the following month(t+1)(next/future), "$$X_{0,t}$$" variables show the financial ratios of that fund in the t month(now). I thought about this function to predict future month's returns before data came so I want to predict the next month with the current data.Because the data comes as of the end of the month. I have to guess the return for the next month. As an example, I would like to forecast the return on hegde funds at the end of January 2011 with data from January 2010 to December 2010. Without ever seeing the data for January 2011. Is this regression function written correctly.

Does using $$Y_{t+1}$$ break the model and is there a model or mathematical function that you can suggest? for "predict future month's returns before data came so I want to predict the next month with the current data."

Some additional information there are 2889 months of data, I keep all 27 different funds in a database, and I train a single regression model, not for each fund separately.I used the regression function I showed above($$Y_{t+1} = X_{0,t}+...+ X_{12,t}$$).

But it didn't work well on any algorithm, so the R-square score was negative. why do you think it didn't work and how can I fix it ? I used both sliding window and expanding window as validation. I use dummy variables for fund names/tickers

Sample Data:

• You could use mathjax to write the formulas May 1 '20 at 16:51

You could try to predict difference $$dy = Y_{t+1} - Y_{t}$$, not the $$Y_{t+1}$$ itself. Intuitively, the weather today is good starting prediction for the weather tomorrow.
Lastly, it could be just don't enough data to make good predictions. I don't know what is these indexes exactly, but I'm not sure you can use data from one fund to predict another. This leaves you with about 100 points of training data (8 years monthly) and it's not a lot. I would recommend you to solve 1-d (predict one fund by only it's data) with $$dY$$ trick, then try ARIMA
• The $dY$ is more of a training trick, you could get common values just by $Y_{t+1} = Y_{t} + dY$. You probably don't even need it for the arima. The key restrictions in this problem -- it's a time series and you have not so much data. I would build a arima model per each fund and then compare the predicted values. FYI, there is quite elaborated ranking problem with own algorithms and it's often used by search engines, but I can't say how well would it run with the size of the dataset. May 1 '20 at 17:42
• Thanks again "learn to rank" algorithms are very complex for me. This is my academy project, and I want it to be simple, and They only allowed to use machine learning algorithms such as random forest,lasso reg. I think I'm gonna go your way($dY = Y_{t+1} - Y_{t}$) and try. I don't understand the last one you wrote ?($Y_{t+1} = Y_{t} + dY$). May 1 '20 at 18:58
• I meant, if you know the current month value and the difference, you could easily get the next month absolute value and then rank them as you would do it now. The idea was that with small amount of data it's better to train few small models for each fund, then one complicated. It would be probably easier to train with $dy$, but to compare you need the absolute value. May 1 '20 at 19:08