Different criteria for ARIMA

Course Name: Financial Time Series Analysis for Trading, Section No: 18, Unit No: 11, Unit type: Notebook

Hello, more doubts about ARIMA model and its implementation.

I'm seeing two main differences:

https://i.imgur.com/oEXk9ik.png

1. Signals only considered "buy" positions and not selling.

2. For getting strategy returns we're multiplying yesterday's signal by only 30% of the returns and not total returns.

Why?

Hey Daniel,



We will check this and get back to you.

Okay, thanks.

Hi Daniel,



For the signals, yes we have created a long-only strategy and have generated only buy signals. However, you can experiment and change this to a long-short strategy. As explained in the previous notebooks, all you need to do is change

np.where(data.predicted_price.shift(1) < data.predicted_price, 1, 0)

to this:

np.where(data.predicted_price.shift(1) < data.predicted_price, 1, -1)

For the second point, actually not considering the rolling window of 0.70 would result in incorrect signals. If you print data.iloc[:rolling_window] you will see NaN values in predicted_price column:



With these NaN values we cannot generate a trading signal. Hence we leave out this data and consider only the data that falls after the rolling period:


This has to be added in the previous notebooks (AR and MA model implementation), we are currently working on fixing it. Thankyou for sharing your observations with us :)

Thanks
Rushda

Thanks, so should I replace in all the AR and MA models this new way of generating signals, right?

Yes, that would be the right way