Skip to content
This repository has been archived by the owner on Feb 16, 2020. It is now read-only.

Brute forcer proof of concept (Work in progress or As Inspiration) #1204

Closed
wants to merge 4 commits into from
Closed

Brute forcer proof of concept (Work in progress or As Inspiration) #1204

wants to merge 4 commits into from

Conversation

DavidValin
Copy link

@DavidValin DavidValin commented Oct 13, 2017

  • What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
    Unfinished feature to test ranges of strategy params permutations. This will allow to find out the most profitable strategy params for a dataset.

  • What is the current behavior? (You can also link to an open issue here)
    Renders the top 10 strategy params tested until now based on their profits (ranges of values to test are hardcoded still)

  • What is the new behavior (if this is a feature change)?
    It should render a list of results sorted by most profitable params combination in the backtest view from a test params configuration form

  • Other information:
    I started playing around this this but unfortunately I don't have time to complete the feature. I hope someone can use it as inspiration or pick it up and finish it.

captura de pantalla 2017-10-30 a las 2 40 02

@DavidValin
Copy link
Author

DavidValin commented Oct 19, 2017

Wishlist:

  • Setup the param ranges to brute force from the ui using ui sliders
  • Move params combinations generation to the server
  • Implement a websocket service that broadcasts the reports to the client in chunks
  • Persist the results into db
  • Add machine learning algorithm to oscillate between the steps of param combinations efficiently avoiding sequential order
  • Display trades when clicking in "Show trades" under each strategy params report
  • [add your feature]

@neridonk
Copy link

this is genius good job

@Svobikl
Copy link

Svobikl commented Dec 3, 2017

How this can be used? I changed all files according @DavidValins last commit, but I do not see the bruteforce output while backtesting.

@dlasher
Copy link

dlasher commented Dec 6, 2017

+1 can't wait to see this live.

@Shootle
Copy link

Shootle commented Dec 6, 2017

I have just been able to build this successfully. How do I implement the use from Gekko UI or rather, Is it possible to use this build from Gekko UI?

@jjhesk
Copy link

jjhesk commented Dec 12, 2017

this is totally possible. i have added to my wish list.

@hoshsadiq
Copy link

Any updates on the progress?

@DavidValin
Copy link
Author

DavidValin commented Dec 26, 2017

There is a checkbox, below the parameters form. Once you check that out you will see some results from params variations. Currently those ranges offsets are hardcoded, feel free to help me to implement the UI components to setup ranges of values

paramValue = dotPos != -1 ? eval('params["'+paramNames[i].slice(0, dotPos)+'"]["'+paramNames[i].slice(dotPos+1, paramNames[i].length)+'"]') : params[paramNames[i]];
paramsConfig.push({
name: paramNames[i],
from: paramValue - 2, // TODO: this has to be dynamic and valid
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The idea is to read this offset from UI components

paramsConfig.push({
name: paramNames[i],
from: paramValue - 2, // TODO: this has to be dynamic and valid
to: paramValue + 2, // TODO: this has to be dynamic and valid
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The idea is to read this offset from UI components

@stale
Copy link

stale bot commented Oct 24, 2018

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. If you feel this is very a important issue please reach out the maintainer of this project directly via e-mail: gekko at mvr dot me.

@stale stale bot added the wontfix label Oct 24, 2018
@stale stale bot closed this Oct 31, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants