Eveince Release, Data Science Team Advances - October 2022
to review our achievements in data science team
These last two months at Eveince, we’ve been busy improving our order placement service and refactoring our backtest library to provide it as an open-source library for the community.
The second version of order placement with enhanced training features and new prediction capabilities has been successfully tested on small data and has shown promising results.
Order placement service is responsible for generating the best plan for placing an order in the market to gain profit with a better volume-weighted average price (VWAP). We have used reinforcement learning for simulating the order placement environment and training agents to create the best placement plans in different markets.
What is different in the second version of order placement?
Compared to our latest version, we have developed some structural changes:
We have addressed “catastrophic forgetting,” Now, our model does not forget its failures.
We found out that agents will only generate experiences with optimized rewards. Hence the model would not replay experiences that lead to failure. In classic ML terms, this is equivalent to training on imbalanced datasets. To ensure that the model can also learn from its failures, a reserved memory is added to the replay component that saves experiences with lower-than-average rewards.
The parameter hub was added to the architecture to orchestrate all components by updating all hyper-parameters.
Now our agents are more experienced!
By refactoring the Bellman equation, our model can choose the best action from an epsilon-greedy strategy, with a 2x increase in experience generation rate.
We are Analyzing backtest more thoroughly.
Several metrics are now being analyzed after the backtest is performed. Some analytics include:
Advantage distribution
Conditional and marginal advantage according to market direction
Advantage and market return correlation
Number of steps statistics
The effects of remaining time and budget on selected actions
Estimated q values distribution
We have also implemented an analytics dashboard to shed light on the performance and logic of the trained model.
We are now preparing to train the new model on our complete datasets.
Backtest generic pipeline is now ready to be open-sourced for data scientists
We had been trying to find the best backtesting platform suited for validating our trading strategies, but we found out there is none. We designed and implemented our backtesting platform to address this challenge to test how our trading decisions would play out using historical data. Considering the responsibility we feel to give out to the community, we’ve decided to make our backtesting solution an open-sourced one.
For now, we have given out access to some practitioners to test the project and send us their feedback. We are going to release the first version and announce it soon.