问答交流

在输入特征列表模块中,如何计算4个均值的标准差作为因子呢?类似于max(numer1, number2, number3, ..)

由freestyle996创建,最终由freestyle996 被浏览 17 用户

问题:

1、我看到因子表达式中有求最大值的方法 max(numer1, number2, number3, ..),我是否可以这么用 max(ta_sma_5_0, ta_sma_10_0, ta_sma_30_0, ta_sma_60_0),用来求解当天的4条均线的最大值,是否可以这样用?

2、同样,计算标准差的时候,有没有类似于max(numer1, number2, number3, ..)这个求最大值的这个方法一样,来计算标准差的公式,假如 std(numer1, number2, number3, ..) ?如果没有,我该怎么实现求解一日内4条均线值得标准差呢?换句话理解,就是,一天当中有5、10、30、60日4条均线,对应4个值,这4个值进行标准差得求解?

3、如何在输入特征列表模块中,使用python得math模块?

标签

输入特征
评论
  • 1. 是可以这样使用的,max就是求取截面特征; 2. 目前没有求解截面的std表达式,只有将原始因子数据df拿出来之后 通过np.std(df\[\["factor_1", "factor_2", "factor_3", … , "factor_n"\]\], axis=1)来计算 3. math numpy pandas等模块可以直接在输入特征列表模块中使用 \
  • 那么,我如何在输入特征列表中,对这4条均线 ta_sma_5_0, ta_sma_10_0, ta_sma_30_0, ta_sma_60_0 进行截面特征计算呢?该怎么应用。 \
  • 对4条均线进行标准差截面特征计算
  • 我试了一下这种的,但是报错: pd.DataFrame({'a5':ta_sma_5_0, 'a10':ta_sma_10_0, 'a30':ta_sma_30_0}).std(axis=1) ![{w:100}](/wiki/api/attachments.redirect?id=ecea159c-32d7-4cd2-8cdd-cc66f0bbc385)
  • 参考这个notebook: [https://bigquant.com/experimentshare/104fa7bce2f54013abb8b9c540e89e4b](https://bigquant.com/experimentshare/104fa7bce2f54013abb8b9c540e89e4b) \
{link}