Timeline for How to most optimally perform currency conversions when backtesting on portfolio level?
Current License: CC BY-SA 3.0
4 events
when toggle format | what | by | license | comment | |
---|---|---|---|---|---|
Jul 30, 2013 at 0:27 | comment | added | Matt Wolf | yes that is how I have done it in the end. Run-time wise it would probably have been the cleanest way because I could have read such time series just in an identical way as the other assets' time series. However, in order to realize a bit more of some sort of "separation of concerns" I stored all dollar crosses (assuming USD is base currency) in a separate in-memory database. (very small footprint as I only use 1 update per day). | |
Jul 29, 2013 at 21:06 | comment | added | RaveTheTadpole | @MattWolf Assuming that you are going to be running this thing over and over on the same data as some part of research/optimization, I would definitely take your full fx tick database and pull out a smaller number of ticks. One per second, one per minute, one per day, whatever. Store that in a new database, and only read that thin database when running your analysis. I agree that having every tick in your fx pairs is a performance problem. | |
Jul 26, 2013 at 4:51 | comment | added | Matt Wolf | Thanks for your input. I also update currency conversions in live trading once a day thus I think I will run the strategy profiling on historical tick data on daily fx rate conversion updates as well. Technology wise it is not hard to implement tick based updates, in fact that would be the easiest solution to implement. The issue is with performance degradation in terms of tick throughput/second. Any rate update on 10-20 cross currencies would cost several tens-hundreds of microseconds/tick which explodes when running hundreds of millions of data points. | |
Jul 25, 2013 at 18:31 | history | answered | RaveTheTadpole | CC BY-SA 3.0 |