【平台使用】一些1.0版本可用的数据在3.0无法抽取
由sunxking创建,最终由small_q 被浏览 19 用户
3.0是不是历史数据不全,有些历史数据1.0可以,但3.0取不出来
问题描述:
在3.0中使用 m_regr_slope(close / m_lag(close,1) - 1, return_000016SH, 60) 计算 beta_sse50_60_0的时候
如果时间设置为2010年1月1日-2010年1月30日,很多股票的数据就无法取出来,例如:000012.SZ就无法取出来,但是1.0中是可以正常取出来的
详见下面的例子:计算('000012.SZ', '600398.SH',)的beta_sse50_60_0,2010年1月1日-2010年1月30日,运行后只有600398.SH可以显示,没有000012.SZ的数据,如果是1.0是可以取出来的,另外如果时间段后移动几个月也是可以两个都取出来的
from bigmodule import M
# <aistudiograph>
# @module(position="-313,-720", comment="""因子特征""", comment_collapsed=False)
m2 = M.input_features_dai.v30(
mode="""表达式""",
expr="""name
m_regr_slope(close / m_lag(close,1) - 1, return_000016SH, 60)
""",
expr_filters="""-- DAI SQL 算子/函数: https://bigquant.com/wiki/doc/dai-PLSbc1SbZX#h-%E5%87%BD%E6%95%B0
-- 数据&字段: 数据文档 https://bigquant.com/data/home
# instrument in ('000001.SZ',)
instrument in ('000012.SZ', '600398.SH',)""",
expr_tables="""cn_stock_prefactors""",
extra_fields="""date, instrument""",
order_by="""date, instrument""",
expr_drop_na=True,
sql="""-- 使用DAI SQL获取数据,构建因子等,如下是一个例子作为参考
-- DAI SQL 语法: https://bigquant.com/wiki/doc/dai-PLSbc1SbZX#h-sql%E5%85%A5%E9%97%A8%E6%95%99%E7%A8%8B
SELECT
-- 在这里输入因子表达式
-- DAI SQL 算子/函数: https://bigquant.com/wiki/doc/dai-PLSbc1SbZX#h-%E5%87%BD%E6%95%B0
-- 数据&字段: 数据文档 https://bigquant.com/data/home
c_rank(volume) AS rank_volume,
close / m_lag(close, 1) as return_0,
-- 日期和股票代码
date, instrument
FROM
-- 预计算因子 cn_stock_factors https://bigquant.com/data/datasources/cn_stock_factors
cn_stock_factors
WHERE
-- WHERE 过滤,在窗口等计算算子之前执行
-- 剔除ST股票
st_status = 0
QUALIFY
-- QUALIFY 过滤,在窗口等计算算子之后执行,比如 m_lag(close, 3) AS close_3,对于 close_3 的过滤需要放到这里
-- 去掉有空值的行
COLUMNS(*) IS NOT NULL
-- 按日期和股票代码排序,从小到大
ORDER BY date, instrument
""",
extract_data=False,
m_cached=False,
m_name="""m2"""
)
# @module(position="-313,-595", comment="""抽取预测数据""", comment_collapsed=False)
m4 = M.extract_data_dai.v17(
sql=m2.data,
start_date="""2010-1-1""",
start_date_bound_to_trading_date=True,
end_date="""2010-1-31""",
end_date_bound_to_trading_date=True,
before_start_days=100,
debug=False,
m_name="""m4"""
)
# </aistudiograph>
\