Abstract

his thesis details the development and implementation of possibly the first agent-based simulated betting exchange, named BBE (Bristol Betting Exchange), whose design principals are laid out in [11]. I prove that one of the main bottlenecks of the design can be tackled through the utilisation of a GPUs parallel processing capabilities, and I provide a detailed break-down on the behaviour exhibited by six implementations of betting agents that adopt some naive strategies. It is hoped that this implementation of BBE could be picked up by academics in order to aid in the research of profitable betting strategies, something that has been traditionally very difficult to do without the existence of an agent based simulator. Many people are familiar with financial exchanges, but far less are aware of the existence of betting exchanges. As a result, the development of profitable betting strategies to deploy on these exchanges, much in the same way automated trading algorithms are deployed on financial exchanges, has gone mostly overlooked. Various tools exist for testing out trading algorithms in a simulated environment such as BSE [8], however there is no equivalent tool for testing betting strategies. Getting access to high resolution historical data from an exchange to back-test a betting strategy is not only costly, but also fails to capture the feedback loops that may form between bettors as a result of the bettor interacting with others in real time on the exchange. In addition, there only exists as much historical data as there has been events that have been bet on, which may not meet the volume of data required to train a Machine Learning model in the hopes of discovering a profitable betting strategy. BBE aims to address this lack of data by generating plausibly realistic synthetic data modelled from the mechanics of a real betting exchange. In my implementation, the parallel processing framework OpenCL is used to relieve one of the core bottlenecks of BBE’s design — the need to simulate many thousands of horse races at regular intervals to simulate the changing of bettor’s opinions during an in-play betting session. I test and compare the run-times from simulating the races sequentially on a CPU and in parallel on a GPU to discover that outsourcing the task of simulating many races on a GPU results in a speed-up of over 100 times. My implementation of BBE is intended to be a gift to academics, which is why it has been made open source. It is hoped that BBE can be used to train a Machine Learning Model from the simulations of many thousands of betting sessions. Making BBE run as efficient as possible was a key focus for me, since I wanted to make BBE more accessible to those who do not have access to powerful servers or super computers for the long periods of time that would be required to train a Machine Learning model on an unoptimized version of BBE.

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.