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

Authors

  • Timur Mironov Institute of Engineering Sciences, Pskov State University (RU)
  • Lilia Motaylenko Institute of Engineering Sciences, Pskov State University (RU)
  • Dmitry Andreev Institute of Engineering Sciences, Pskov State University (RU)
  • Igor Antonov Institute of Engineering Sciences, Pskov State University (RU)
  • Mikhail Aristov Institute of Engineering Sciences, Pskov State University (RU)

DOI:

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

Keywords:

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

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.

Downloads

Download data is not yet available.

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.

Downloads

Published

2021-06-17

How to Cite

[1]
T. Mironov, L. Motaylenko, D. Andreev, I. Antonov, and M. Aristov, “COMPARISON OF OBJECT-ORIENTED PROGRAMMING AND DATA-ORIENTED DESIGN FOR IMPLEMENTING TRADING STRATEGIES BACKTESTER”, ETR, vol. 2, pp. 124–130, Jun. 2021, doi: 10.17770/etr2021vol2.6629.