Download historical futures prices for Nordic power (ENO) and Germany (TRD) via API

I want to download historical futures prices for Nordic power (ENO) and Germany (TRD), and later other markets.

I want historical ticker prices to calculate hold-to-delivery returns and keep track of when the products go to delivery. I want to download the data via my python API using the get_timeseries() function. In the browser, this works well for recent products (e.g., ENOFBLYZ3^2) and for some historical prices (e.g., ENOFBLYF6^1) but not with the API (e.g., tmp=ek.get_timeseries('ENOFBLYF6^1', fields=['CLOSE']).


Questions:


1: How long back in time can I download historical futures prices for ENO and TRD?

2: Can I always download the data I can access via WS via the API?

3: My understanding of the notation of historical futures prices is that they follow the following structure: (ENO+++ (then M, Q or Y), then a month letter depending on delivery (c("F", "G", "H", "J", "K", "M", "N", "Q", "U", "V", "X", "Z")), then a date notation (e.g., 6^1, i.e., 2016). Can you share a script that loops over the different parts of the tickers/identifiers so I can download all historical data?

Best Answer

  • @jens.sorlie.kvaerner Thanks for your question - we have written an article for working with expired futures contracts you can find that here and we also have another article for expired options here.

    You can pretty much download most data you can see in WS via the API. To see the range of data available please use the Data Item Browser app (type DIB into the launcher). You can add an instrument and even see the values for the different fields.

    You can also use the CodeBook app (type CODEBK into launcher) and go to the examples/data_retrieval folder and you will see lots of examples of how to get different data programatically. This can greatly speed up your workflow imo. I hope this can help.