SuperAlpha自动查找(WQB)

工具 办公软件 案例ID:251676
希斯
1 年经验· 人机(重庆)科技有限公司
微信扫码沟通,客服可协助直接对接工程师;如当前档期不合,也可继续推荐相似案例作者。

案例介绍

我负责的任务:
全部由我个人开发,无团队组合
技术栈和架构:
py3.X+requests+concurrent.futures+collections.deque+random+colorama+json
分四层,BrainAPI类封装所有WQB API调用,EvolutionManager类实现进化算法,Worker Task是多线程工作单元,主程序负责启动和信号控制

实现亮点:
模板系统写入了30个Selection模板,覆盖5种不同流派,适应各种市场条件
进化策略50%探索+50%利用,变异概率经过精心设计的,不是全量替换而是局部改良,保证每次变异都有效
鲁棒性设计,三层保护:限流重试、Session超时重登、相关性检查重试。特别是相关性检查,不是立即查而是重试5次:



难点和坑
SUPERAlpha回测慢,最开始用REGULAR的等待时间(2分钟),大部分Alpha超时放弃。后来看WQB文档,SUPER要算Selection和Combo两步,确实慢3-5倍。改法是把等待循环从24次加到120次,最多等10分钟。
相关性数据延迟,Alpha达标后立即查相关性,经常拿到默认值1.0,误判为超标。后来发现WQB计算完回测后,相关性数据可能几十秒后才就绪。解决方案是加5次重试,只有拿到小于0.99的有效值才返回。
多线程限流,4个线程同时提交,经常429错误。最开始没处理,直接就失败了。后来发现WQB的429响应头里有Retry-After字段,读完睡一会儿再递归重试就好了。
Session超时,程序跑一晚上,第二天所有线程报401。原因是WQB的Session 3小时过期。改法是在所有API调用前检查Session年龄,超了就自动重新登录。

SuperAlpha自动查找(WQB)

工具 · 办公软件 案例ID:251676
联系该工程师
微信扫码,建群沟通
作者: 希斯 - 1年经验- 人机(重庆)科技有限公司

案例介绍

我负责的任务:
全部由我个人开发,无团队组合
技术栈和架构:
py3.X+requests+concurrent.futures+collections.deque+random+colorama+json
分四层,BrainAPI类封装所有WQB API调用,EvolutionManager类实现进化算法,Worker Task是多线程工作单元,主程序负责启动和信号控制

实现亮点:
模板系统写入了30个Selection模板,覆盖5种不同流派,适应各种市场条件
进化策略50%探索+50%利用,变异概率经过精心设计的,不是全量替换而是局部改良,保证每次变异都有效
鲁棒性设计,三层保护:限流重试、Session超时重登、相关性检查重试。特别是相关性检查,不是立即查而是重试5次:



难点和坑
SUPERAlpha回测慢,最开始用REGULAR的等待时间(2分钟),大部分Alpha超时放弃。后来看WQB文档,SUPER要算Selection和Combo两步,确实慢3-5倍。改法是把等待循环从24次加到120次,最多等10分钟。
相关性数据延迟,Alpha达标后立即查相关性,经常拿到默认值1.0,误判为超标。后来发现WQB计算完回测后,相关性数据可能几十秒后才就绪。解决方案是加5次重试,只有拿到小于0.99的有效值才返回。
多线程限流,4个线程同时提交,经常429错误。最开始没处理,直接就失败了。后来发现WQB的429响应头里有Retry-After字段,读完睡一会儿再递归重试就好了。
Session超时,程序跑一晚上,第二天所有线程报401。原因是WQB的Session 3小时过期。改法是在所有API调用前检查Session年龄,超了就自动重新登录。

发布任务

企业点击发布任务,工程师会在任务下报名,招聘专员也会在 1 小时内与您联系确认。

1小时精推人才

需求方专属客服,免费梳理匹配

需求方客服微信二维码
扫码加微信 · 客服人工对接
更多案例
微信沟通 客服 看中这位工程师了?客服帮你 1 小时对接沟通 → ×