After a week of toiling, troubleshooting and designing the Gdax-Sim node module is ready for general use.

The simulator will now store the past 300 candles for all granularities.  I did not implement an ability to query specific date ranges yet, but this will come in time as I begin to use more advanced methods to store data. For now it will just return the most recent candles up to 300.

The readme file has also been updated, though it will be getting a major overhaul with more example in the not too distant future.

I plan to use this program to do some walk-through testing of various strategies as well as some general market research on everyone’s favorite digital currency. It is designed to help smooth out research on the “larger” time frames as mention in the previous post. The idea being that though the data derived from the minutely candles is accurate only in general price movement, the further one is to zoom out the more accurate the analysis can become as there is more data representing say an hourly candle then just the open, high, low, and close, as that candle is now represented by 60 estimated minutes.

The real advantage comes from the intended ability to take a program designed in the lab, and with minimum code changes deploy it the actual environment. Though the real would will be much cruller as any number of variables such as losing WebSocket connection, computer crashes and Coinbase going down for maintenance can all play a huge role in long term performance.  

Who knows maybe in the future I can implement such events and better sub out the simulated Api to include proper WebSocket handling.

So, what’s next you ask? Draft up and back test a few strategies and start trading away? Far from it. Personally, I am still several weeks if not month’s out from deploying an actual bot, for now I will just stick to paper trading my prospective algorithms and continue to write some hopefully helpful software. I will most definitely be covering the  

One last thing. Please whatever you do with this tool be responsible. At the end of the day I am not responsible for you, you are responsible for your actions with this software. (This may be the first, but it won’t be the last time you hear this)