COMPARISON OF OBJECT-ORIENTED PROGRAMMING AND DATA-ORIENTED DESIGN FOR IMPLEMENTING TRADING STRATEGIES BACKTESTER

Timur Mironov, Lilia Motaylenko, Dmitry Andreev, Igor Antonov, Mikhail Aristov

Abstract


This research proposes a way to accelerate backtesting of trading strategies using data-oriented design (DOD). The research discusses the differences between DOD and object-oriented approach (OOP), which is the most popular at the current moment. Then, the paper proposes efficient way to parallelize a backtesting using DOD. Finally, this research provides a performance comparison between DOD and OOP backtester implementations on the example of typical technical indicators. The comparison shows that use of DOD can speed up the process of quantitative features calculation up to 33% and allows for parallelization scheme that better utilizes resources in multiprocessor systems.


Keywords


algorithmic trading, data-oriented design (DOD), high performance computing (HPC), parallel computing

Full Text:

PDF

References


D. H. Bailey, J. M. Borwein, M. Lopez de Prado, and Q. J. Zhu, “The Probability of Backtest Overfitting,” Journal of Computational Finance, 2015. [Online serial]. Available: http://dx.doi.org/10.2139/ssrn.2326253 [Accessed: Mar. 10, 2021].

D. H. Bailey, J. M. Borwein, M. Lopez de Prado, and Q. J. Zhu, “Pseudo-Mathematics and Financial Charlatanism: The Effects of Backtest Overfitting on Out-of-Sample Performance,” Notices of the American Mathematical Society, vol. 61 (5), pp. 458-471, 2014.

D. Andreev, S. Lyokhin, L. Motaylenko, and S. Verteshev, “Models and algorithms for constructing a formalized description of production technologies,” in Environment. Technology. Resources: Proceedings of the 12th International Scientific and Practical Conference on Information Technologies, Rezekne, 2019, vol. II, pp. 21-27.

R. Fabian, Data-oriented design: software engineering for limited resources and short schedules. Printed by the author, 2016.

F. Wang, P. L. Yu, and D. W. Cheung, “Combining technical trading rules using particle swarm optimization,” Expert Systems with Applications, vol. 41, pp. 3016-3026, 2014.

J. Nenortaite and R. Simutis, “Stocks’ Trading System Based on the Particle Swarm Optimization Algorithm,” Lecture Notes in Computer Science, vol. 3039, pp. 843-850, 2004.

P. Kroha and M. Friedrich, “Comparison of Genetic Algorithms for Trading Strategies,” Lecture Notes in Computer Science, vol. 8327, pp. 383-394, 2014.

J. Ni and C. Zhang, “An Efficient Implementation of the Backtesting of Trading Strategies,” Lecture Notes in Computer Science, vol. 3758, pp. 126-131, 2005.

M. Lopez de Prado, Advances in Financial Machine Learning. Wiley, 2018.

M. Lopez de Prado, Machine Learning for Asset Managers (Elements in Quantitative Finance). Cambridge University Press, 2020.

M. F. Dixon, I. Halperin, and P. Bilokon. Machine Learning in Finance: From Theory to Practice. Springer, 2018.

Antonov, I. Bruttan, D. Andreev, and L. Motaylenko, “The method of automated building of domain ontology,” in Environment. Technology. Resources: Proceedings of the 12th International Scientific and Practical Conference on Information Technologies, Rezekne, 2019, vol. II, pp. 34-37.

D. Andreev, S. Lyokhin, V. Nikolaev, and O. Poletaeva, “Development of software for design ontological representations of production technologies,” in Environment. Technology. Resources: Proceedings of the 12th International Scientific and Practical Conference on Information Technologies, Rezekne, 2019, vol. II, pp. 28-33.

D. Wiebusch and M. E. Latoschik, “Decoupling the entity-component-system pattern using semantic traits for reusable realtime interactive systems,” 2015 IEEE 8th Workshop on Software Engineering and Architectures for Realtime Interactive Systems (SEARIS), Arles, France, 2015, pp. 25-32.

“Intel® 64 and IA-32 Architectures Optimization Reference Manual,” 2019. [Online]. Available: https://software.intel.com/sites/default/files/managed/9e/bc/64-ia-32-architectures-optimization-manual.pdf [Accessed: Mar. 10, 2021].

R. D. Blumofe and C. E. Leiserson, “Scheduling multithreaded computations by work stealing,” Journal of the ACM, vol. 46 (5), pp. 720–748, 1999.

T. Mironov, L. Motaylenko, and D. Andreev, “Investigation of the performance of data structures for order book processing,” in proceedings of the international scientific and practical conference on modern innovations in engineering and manufacturing, Pskov, 2021, pp. 144-148. (in Russian)

E. V. Ivanova and L. B. Sokolinsky, “Parallel processing of very large databases using distributed column indexes,” Programming and Computing Software, vol. 43, pp. 131–144, 2017.




DOI: https://doi.org/10.17770/etr2021vol2.6629

Refbacks

  • There are currently no refbacks.


SCImago Journal & Country Rank