请求修复表cn_stock_factors_base中的北交所数据
由xxbiao创建,最终由xxbiao 被浏览 3 用户
# 查询代码 cn_stock_factors_base
import dai
sql = """
SELECT instrument, date, suspended
FROM cn_stock_factors_base
WHERE instrument LIKE '%.BJ'
"""
# 查询数据
df = dai.query(sql, filters={"date": ["2024-08-01", "2024-08-01"]}).df()
print(f"共{len(df)}只, '92'开头共{df['instrument'].str.startswith('92').sum()}只")
#结果
#共249只, '92'开头共7只
#使用默认的基础选股,过渡停牌会联表查询 cn_stock_factors_base, 从而产生不正确结果
import dai
sql = """
CREATE TABLE _t_8ff57be0c63a4efeade77dfd3c0c8dad AS SELECT
date,
instrument
FROM
cn_stock_bar1d
JOIN cn_stock_basic_info USING (instrument)
JOIN cn_stock_status USING(date, instrument)
JOIN cn_stock_factors_base USING(date, instrument)
WHERE
(cn_stock_bar1d.instrument LIKE '%.BJ')
AND cn_stock_basic_info.list_sector IN (4,)
AND cn_stock_status.st_status IN (0,)
AND cn_stock_factors_base.suspended IN(0,)
QUALIFY
1 = 1
ORDER BY date, instrument;
SELECT
c_rank(total_market_cap)*1 as score,
date,
instrument,
total_market_cap
FROM cn_stock_prefactors
JOIN _t_8ff57be0c63a4efeade77dfd3c0c8dad USING(date, instrument)
QUALIFY
st_status = 0
AND list_days >= 40
AND is_risk_warning == 0
AND COLUMNS(*) IS NOT NULL
ORDER BY date, instrument
"""
dai.query(sql, filters={"date": ["2024-08-01", "2024-08-01"]}).df()
\