kuzetsa / gekko

A GHS reinvestment bot written in node.js
GNU Affero General Public License v3.0
15 stars 4 forks source link

Question: what was the problem with backtrading? #7

Open jkp opened 9 years ago

jkp commented 9 years ago

Hey

A question: (I couldn't find a mail address) - what was the problem with backtesting? Is there a reason no-one is spending any time on it?

Cheers

kuzetsa commented 9 years ago

There was a total rewrite of the engine about 9-12 months ago. This rewrite completely 100% entirely broke any backtesting support which was ever present in gekko. This engine rewrite was before I created my fork. I do not have plans to convert the old backtesting code to work on the new engine.

The primary reason I do not have any plans to convert the old backtesting code to be compatible with the newer engine is that it was never designed for calculating how reinvestment would work with cex.io GHS cloud mining. There's simply no good way to accurately simulate hypothetical rewards from the GHS cloud mining (to say nothing of predicting any future change in the price they charge for hardware upkeep per GHS)

I feel like it is a bad idea to attempt re-implementing backtesting support in the new engine, mainly because it's not the sort of thing which is relevant to how I personally use gekko (reinvestment of mining income into more GHS)... I don't like writing code which I don't use, and therefore haven't got any good way of testing to prove it's valid or not.

I'm open to the possibility of having someone else (at least 1 person with the time and interest to make sure it's done right) to develop and/or test backtesting support and make sure it works as desired. I don't know enough to know what sort of features it should have, or how most people would be using it, etc.

jkp commented 9 years ago

Thanks for the response - I appreciate the detailed information (and maybe others will in the future).

Totally understand about not writing code that will rot - makes sense. Your use-case is different from mine - I'm looking at backtesting some strategies against historic data which having looked at the code would require quite significant changes to make it work. Instead I've opted to develop a new module that does just that - once it's done and working I'll post a link here in case other folks are interested in doing the same thing.