qlib icon indicating copy to clipboard operation
qlib copied to clipboard

因子计算多头收益率时疑似有误

Open wangxk15 opened this issue 2 years ago • 1 comments

如题,qlib.contrib.eva.alpha.py中的calc_long_short_return函数返回了两个结果,分别为(r_long - r_short) / 2和r_avg,看计算过程应该分别是多空收益率和所有股票的等权收益率。

但在qlib.workflow.record_temp.py中SigAnaRecord._generate()在调用calc_long_short_return()函数时将返回结果分别命名为long_short_r和long_avg_r,并在下方输出时直接将long_avg_r作为多头组合收益率。

这会导致最终看到的多头收益率其实是所有样本股等权的平均收益率。

怀疑是自己哪里没理解到位,求答疑。

qlib.workflow.record_temp.py SigAnaRecord._generate()中的片段: image qlib.contrib.eva.alpha.py中的calc_long_short_return中的片段: image

wangxk15 avatar Oct 27 '23 05:10 wangxk15

同样发现这个疑似错误,感觉改为return r_long - r_short, r_long - r_avg 更合理些,对于 / 2 这个操作也不是很确定有没有必要

HaloNee avatar Aug 07 '24 02:08 HaloNee