Spartan Trader - part 10 (H23)

Running Simulations


Goal

By completing this homework you will create functionality to run a full 3-hour Tournament in about 5 minutes. This ability to simulate a Tournament is invaluable for implementing a tweak-'n-test iterative process for improving the performance of your Spartan trader.


Context

source:memegenerator.net

“Stockton Bonds ADORES your program....”  Ms. Tickertracker sounded unusually tentative.
"I feel that there is a 'but' coming, Ms. Tickertracker..."
"Yes there is. Stockton loves your program, but he has trouble testing it. He has so many ideas to try, and each full test at 60 second per day takes three hours... he will never be done! Can we speed it up a little?"
"I was thinking the same and I have an idea. We might use our existing datasets to test our ideas. A run takes three hours because we have to wait for Athens to provide the prices every sixty seconds.  But if we use existing datasets, we can simulate a full run in a shorter time."
"How fast?"
"I think we can do a three hours run in about five minutes."
"Five minutes? A 36x acceleration is GLORIOUS! Stockton will be OVERJOYED! Make it so!"
"I am on it, Boss."


Requirements

This homework enables the Spartan Trader to run full Tournament simulations.  A simulation uses an existing dataset (anyone of the DBs) to recreate a full Tournament.  Make sure that all previous parts work well before starting the new homework.

  • Add five toggle buttons to the Ribbon: Manual, Simulation, Step simulation, Sync, and RoboTrader (these last two to be implemented in the next homework)
  • Simulation runs through an entire tournament in a few minutes (rather than three hours) to test strategy tweaks
  • Step sim allows the user to analyze the simulation step-by-step, for deeper analysis

The vLab contains a demo and instructions. No code is provided this time. It is a good idea to type it to more fully understand how the algorithm works. As before, feel free to change the look and feel of the app.