I have purchased data for EOD settlements of options prices for USA futures for personal use. I will not need multiple user access or real time access. I am not an expert programmer but use C# and R fairly regularly. Each future (say SPX) will have several option 'chains' each day. If a single date in the Time Series were May 25, 2016, we may have 3 chains trading . For example, SPM16 (June expiration), SPU16 (September), SPZ16 (December) Each chain will consist of many associated strike prices. Say 50 strike prices per chain (I call these StrikeRecords). Each strike will have an associated Call and Put. I call these individual call and put records SettlementRecords.
I was going to try to use a filesystem method that drobertson had suggested in this thread:
Building Financial Data Time Series Database from scratch
I found it very useful as I am not overly familiar with databases and I think I might end up spending more time on a PostgreSQL learning curve as opposed to studying the data.
He mentioned a file structure for EOD stock data..something in futures space which might look like:
\FutureEOD{YYYY}{Initial}_symbol.json
SPX data for 2016 would be
\FutureEOD\2016\S_SPX.json
Something like this File System structure could work, but I would have many options symbols/strikes contained within this one 2016 file for SPX.
I wondered if this file system might best with the /{YYYY} removed and split up further into options symbols? A separate file for each chain ordered by settlement DateTime? Something like:
\FutureEOD\S\SPX_SPM16.csv
\FutureEOD\S\SPX_SPU16.csv
\FutureEOD\S\SPX_SPZ16.csv
Each of these files would then contain all the strikes for each chain for every day that the contract existed (~2 yrs). I was going to use a SortedList to handle the data in memory and to get sorted back into the ordered TimeSeries.
Am I on the wrong track here?
Also, does it make sense to try to store in flat files as a CSV as opposed to JSON? Any other file structures best for reading speed with C#?
Has anyone tried to store options EOD data in file system? Any advice greatly appreciated.
Thanks