问答交流

为什么查询预计算因子(cn_stock_factors)的return_*,avg_volume_*因子都是NaN

由bqzqapfp创建,最终由small_q 被浏览 16 用户


\

评论
  • 数据库不完整
  • 就是说现在预计算因子库是不可用的?什么时候能完整?
  • 收到反馈,我们排查下,既然用到了因子表了,其实你可以自己算这些衍生因子,比如avg_volume_60 ,可以写成 m_avg(volume, 60) ,return_60 可以写成 close / m_lag(close,60) -1 ,这样更自由 ,更具有扩展性
  • 改为调用m函数还是返回NaN:
  • import dai
  • import pandas as pd
  • pd.set_option('display.max_columns', None)
  • pd.set_option('expand_frame_repr', False)  
  • #显示宽度
  • pd.set_option('display.width', 200)
  • pd.set_option('display.max_rows', None)
  • dai.query("""
  •     pragma enable_pushdown_window;
  • select date, instrument, volume, m_avg(volume, 60), close / m_lag(close,60) -1
  •     from cn_stock_factors
  •     where date == '2023-04-28'
  • LIMIT 100""").df()
  • 你用了窗口函数m_avg,但是只查询一天的数据肯定不够啊,把时间改一下就可以了