0
$\begingroup$

I have a time-series dataset for each month for the past three years which represent quoted prices for the same product but with different delivery month.

Curve

For example, Jul-19 is a dataset consisting of a time-series of the dates of quoted prices for a product with delivery in July 2019. Prices for July 2019 delivery are quoted daily starting from several months before its delivery, and once it is July 2019 the quotes stop since the delivery date has passed. A dataset for July 2019 might look like this:

Date of Quote / Delivery Date Jul 2019
05/02/2019 70.11
06/02/2019 71.23
... 71.24
31/05/2019 72.36

Each delivery month will have a dataset like that but with different quote dates depending on delivery month.

I would like to extrapolate this overall curve and find prices for months beyond Jan 2020, so I would be interested in modelling this overall curve. However the confusing bit is that each delivery month is a time-series itself, and I am not sure how to put it all together in a format ready for VAR/SARIMAX or similar models?

$\endgroup$
1
  • $\begingroup$ This reminds me of modeling the futures curve (or the forward curve). There is a large academic literature on that. You will find both journal articles and textbook chapters if you look for it. $\endgroup$ Commented Dec 16, 2021 at 7:21

1 Answer 1

1
$\begingroup$

This reminds me of modeling the futures curve (or the forward curve). There is a large academic literature on that. You will find both journal articles and textbook chapters if you look for it.

If we were not to involve any subject-matter theory, one option would be to use a VAR model on transformed data.

  • You would define a time series of one-month-ahead prices: the price of February delivery in January followed by the price of March delivery in February followed by ...
  • You would do that for two-months-ahead prices: the price of March delivery in January followed by the price of April delivery in February followed by ...

You would do that for several more months, so you get a bunch of time series that have a shared time index. (If some series start a bit earlier than others or end a bit later than others, you could discard the ends that are sticking out so that the time index is shared among all series.) These could be modelled by a VAR model, possibly allowing for cointegration (so there would be a VEC representation of the model).

$\endgroup$
7
  • $\begingroup$ Just to confirm I understood well - I would then end up with a dataset where each column represents month to expiry, so the first column contains all the quotes for nearest month to expiry (relative to quote date), the second column for 2nd nearest month, 3rd column for 3rd nearest month etc? $\endgroup$ Commented Dec 16, 2021 at 10:45
  • $\begingroup$ If by column you mean a time series corresponding to one variable in a VAR model, then yes. $\endgroup$ Commented Dec 16, 2021 at 10:50
  • $\begingroup$ Yes exactly. I have missing data all over the place, especially towards the far end of the curve (as expected), i.e. for further months. I need to take log returns or difference my series before running VAR, however I am unsure of the right approach to differencing if NaN's exist. One option is to replace NaN's with 0 and then difference, however I am afraid I will introduce bias that way. Any advice? $\endgroup$ Commented Dec 16, 2021 at 11:19
  • 1
    $\begingroup$ @MilTom, if we are talking about prices, replacing NaN with 0 does not sound like a good idea. Replacing it with the previous price or the average of the previous and next prices would be more logical, though still not ideal. (Ideally, the NaN values would be treated as parameters to be estimated, but that requires advanced models and fitting techniques such as EM algorithm, Kalman filtering and the like.) Taking logarithms is probably harmless, but differencing is not. You should only difference a time series if it contains a unit root and is not cointegrated with the other series. $\endgroup$ Commented Dec 16, 2021 at 11:46
  • 1
    $\begingroup$ @MilTom, I think these are nuanced questions that do not have obvious answers. Some common sense and some trial and error may be in order. Consider posting them separately on new threads to keep some order around here. $\endgroup$ Commented Dec 16, 2021 at 17:34

Your Answer

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

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.