Giter VIP home page Giter VIP logo

Comments (3)

perfectra1n avatar perfectra1n commented on May 25, 2024 3

🚀

from monigomani.

Rikj000 avatar Rikj000 commented on May 25, 2024

Instead of the above mentioned fix I decided to tackle this issue a bit differently.

I will automatically override weak signals utilised by HyperOpt at all times.
This also means during the 1st HyperOpt run.
Imagine:

{
    "min_weighted_signal_value": 0,
    "max_weighted_signal_value": 100,
    "search_threshold_weighted_signal_values": 22
}

Currently on your 1st HyperOpt run you have a search space of 0 - 100,
HyperOpt will still use a weak signal ("weight" below 22 in the 1st run) & it will also count as triggered.
But on your 2nd HyperOpt run it would override "weak" signals found with a weight below 22 to 0 to disable "hyperopting" them (aka make them static zero's through the whole HO).
Besides the overrides the refined search space logic also applies during the 2nd HO run.

With my proposed changes: on your 1st HyperOpt run you have a search space of 0 - 100,
HyperOpt will immediately override weak signals (set their "weight" to 0 if the value used for said epoch is below 22 in the 1st run) & it won't count as triggered anymore either.
On your 2nd HyperOpt run it would still override "weak" signals found back to 0 to still disable "hyperopting" them.
Refined search space logic would still be applied during the 2nd HO run.

This would also kind of eliminate the need to do 2 individual HyperOpt runs, because the weak signal & strong signal overrides would already be applied straight from the start, meaning we don't "manually interfere" (overriding weak/strong signals after a HO) anymore after the 1st run results are found (which was/is the reason for the 2nd HO)

from monigomani.

Rikj000 avatar Rikj000 commented on May 25, 2024

Also will reduce the time needed for a HO a bit because I have reduced the search space size 🙂 :
Imagine if you have a search space from 0-100 & a threshold of 22
Currently there would be 22 chances to override to 0 and 22 chances to override to 100 on the 2nd HO run, because we're literally searching between 0 - 100, but the 2nd run overrides anything below/above the threshold value.

With the new changes it will only search between 22 - 78 due to the threshold value of 22 already reducing the search space. But if the outer bounds of the search space are used, then it will automatically override to it's actual search space limits (0 & 100). Thus now instead of 22 chances to hit an override for strong/weak signals, there is only 1 chance to hit it, but it's already applied from the 1st HO run.

This should create a more refined HO (because there's way less values/combinations to go through) right from the initial HO + I truly think this is a cleaner implementation after all, because it's way less hacky with the HO process
It also leads to the fixing above mentioned bug. The backtest results will match again, because the value used can only be one value, while on the current build it can be 22 different values, being overriden once a backtest has been started

from monigomani.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.