I run backtesting for options trading as a hobby and storing EOD tick data, querying it and extracting it is a pain. I dl my source data currently from a retail historical data provider, then store it in MongoDB in AWS. What would you recommend tech stackwise to do backtesting on time seriea data?
I also first used MongoDB but I switched to cassandra and I find it much better.
MongoDB was bad for this case because it devours memory and it lacks a primary key (so saving a tick that's already creates a second tick).
cassandra is better (it has a PK, although it's a bit weird because of its distributed-first attitude) but in the long run I think postgres would be even better (because it's space efficient).
Apart from that I use some Java libraries and clojure/incanter and program the rest around it myself.