Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

简化参数优化过程 #129

Open
xiaoluffy opened this issue May 9, 2017 · 5 comments
Open

简化参数优化过程 #129

xiaoluffy opened this issue May 9, 2017 · 5 comments

Comments

@xiaoluffy
Copy link

xiaoluffy commented May 9, 2017

目前参数优化的方法:
http://rqalpha.io/zh_CN/latest/intro/optimizing_parameters.html#id2
建议新增一个优化类来简化这个流程,传入基本配置字典和变量字典。变量字典为一个 变量名:iterator/generator 的字典结构。
比如:

extra_config = {
	'short_period':[1,2,3],
	'long_period':range(5,8)
}
optimizer = Optimizer(basic_config, extra_config, max_workers= multiprocessing.cpu_count() / 2)
results = optimizer.run()
@wh1100717
Copy link
Member

这块 目前没有足够精力去讨论,不过参数调优这块现在确实并不是很显性,需要比较了解才可以做。

这个issue 先放在这里,随时关于参数优化有想法的时候都可以在这里留言,在确定要做这块的时候再决定到底使用什么方案。

@cedricporter
Copy link
Member

参数优化这个最好加上 celery 来做分布式参数调优,毕竟单机调优速度有瓶颈而且没法横向扩展。以后的 Optimizer 底层实现可以考虑加上 celery 做分布式运算。

@xiaoluffy
Copy link
Author

用celery做分布式是个好方法!在参数优化的过程中用到的数据是一样的,同一worker上的tasks没必要多次加载数据,最好Optimizer实现同一worker的内存共享,比如每个worker只启动一个子优化器(可以通过worker限制),加载数据后再启动多个线程来进行回测。

@ruifeng96150
Copy link

这个需求还是很重要的,策略写好后,肯定是需要调参的,而现在的调参很不方便,每次新的参数都需要重新启用新的进程并读取数据,这个很浪费时间啊,请问这个需求什么时候提上日程啊?

@wheniseeyou
Copy link

这个需求还是很重要的,策略写好后,肯定是需要调参的,而现在的调参很不方便,每次新的参数都需要重新启用新的进程并读取数据,这个很浪费时间啊,请问这个需求什么时候提上日程啊?

我认为没有必要加上这个功能,调参就是过拟合的一个过程;好的算法对参数的敏感程度很低;

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants