问答交流

【代码报错】INTERNAL Error: Comparison on NULL values

由bqp8687s创建,最终由small_q 被浏览 11 用户

突破历史新高

请问老师这个代码要如何实现

评论
  • import dai
  • sql = """
  • WITH ranked_data AS (
  •     SELECT
  •         instrument,
  •         name,
  •         max(high) AS old_high
  •     FROM
  •         cn_stock_prefactors
  •     WHERE
  •         suspended == 0
  •     AND
  •         list_sector !=4
  •     AND
  •         date < '{sd}'
  •     GROUP BY
  •     instrument,name
  •     )
  • SELECT
  •     a.date,
  •     a.instrument,
  •     a.name,
  •     b.old_high,
  •     a.close,
  •     a.sw2021_level2_name
  • FROM
  •     cn_stock_prefactors a
  • JOIN
  •     ranked_data b ON a.instrument = b.instrument
  • WHERE
  •     a.close > b.old_high
  •     """
  • sd = '2000-01-01'
  • ed = '2024-10-28'
  • df = dai.query(sql,filters={'date':[sd,ed]}).df()
  • print(df)
  • 报错
  • InvalidInputException: Invalid Input Error: Attempting to execute an unsuccessful or closed pending query result Error: INTERNAL Error: Comparison on NULL values This error signals an assertion failure within BigDB. This usually occurs due to unexpected conditions or errors in the program's logic.
  • high >= m_max(high,10) 这条件就是突破10日新高呀,你想怎么写,因子可以描述下逻辑
  • 我想构建一个突破历史最高价的因子。
  • if(high>= m_max(high,10),1,0) 这不就是一个非0即1的类型因子咩
  • 上午想了一下逻辑,我尝试用突破几日高点试试,本来想设计一个历史最高价,就是从上市以来的最高价,来做筹码释放判断
{link}