Devlog #5 - Contango
Hyperparameter Cartesian grid search
Apparently this isn’t easy to design! Who could have thought? Not me!
Jokes aside, this has been a miserable experience. I’ve created two different designs so far. The first one failed outright - far in, I realized that having mutable objects in a nested grid search breaks all of the results, and it wasn’t easy to integrate Callable types with what I had already created, so I scrapped it.
Another massive hurdle was trying to find out how to parameterize the rules that indicators must follow (i.e. close crosses above middle bollinger band crosses). The idea here is to have a set of rules, and have each and every one of them parameterized amongst each other to find the best rules in the subset.
My current design uses callables to generate fresh instances of both the parameters and indicators used in the hyperparameter grid search.
However, another issue has become known to me - how do you derive unique, dynamically created names for each individual parameterized result? My thought is to derive the name of the indicators from the caller (which I have been doing), but on top of that, force all rule-based modules in my codebase to implement an ABC & override repr. This has not been formally implemented yet.
Future
- Finish & finalize the hyperparameter Cartesian grid search strategy.
- Create unit tests for it.
- Genuinely take some time to look over the codebase, see what may be confusing for any users, & implement fixes for them (whether it be documentation, simplifying concepts, or creating abstractions for modules).
- Add quite a lot of documentation.
- Ship.
Comments 0
No comments yet. Be the first!
Sign in to join the conversation.