End of day data


#1

Hi,
Does anyone have any guidance on how to import EOD listed prices into the standard platform? I can’t find any documentation on the interfaces, implementation requirements. I assume that as this is historic data, I can use a xxMaster implementation and it will get saved? If I do this from a standalone process, how do I inform the running web server context that there is new data available?
Thanks in advance,


#2

+1 for this requirement.
We might do some changes to the historical time series DB from outside to the historical time series and we want OG to know that new data has reached.
Why OG should know is a different question. I am expecting Batches feature to run some tasks after intake of some data. In that case i want OG to know that it can go ahead and run Batches and generate new reports.


#3

Take a look at com.opengamma.examples.marketdata.SimulatedHistoricalDataGenerator in OG-Examples. That generates data using a random walk, but it should you see the calls to add the new time series points. That example only works with adding new series though, not updating series. I have someone developing a utility to make that easier as it currently requires you to check if you need to perform corrections on past data, perform updates to the latest data points (update can only be used to add new points to an existing series). Here’s the bulk of it as a gist


#4

Note that example values for the constants would be:

PRICE_FIELD = “PX_LAST”;
// field could also be e.g. VOLUME etc.
DATA_SOURCE = “BLOOMBERG”;
// Other possibilities “MY_LOADER”, “REUTERS” etc.
DATA_PROVIDER = “CMPL”
// London composite, could be e.g. ICPL for ICAP London.
// Convention is to use “UNKNOWN” if you don’t know or it’s not applicable.
OBSERVATION_TIME = “LONDON_CLOSE”
// a named point it time the sample is taken at. The real close sample may vary in real time slightly from day to day, hence it is an abstract concept rather than an absolute time.

How the system resolves these time series depends on the TimeSeriesResolver, so you don’t have to specify all these parameters from your engine functions.


#5

Hi Jim - used the sample code to get the data that I needed uploaded. There’s an edge condition with the sample where if the timeseries has one element and you try and update that value, the lookup for the series fails as the series thinks that the end date is before the start date.

Thanks for all your help, gradually getting there!


#6

Thanks. I’ll make sure that gets fixed.