加载中...
AI 原生量化投研平台AI-native quantitative research platform
正在打开工作台Opening your workspace
页面仍在加载,可以继续等待,或重新加载。The page is still loading. You can keep waiting or reload.
部分页面资源未能加载,请重新加载。Some page resources could not load. Please reload.
设备当前处于离线状态,恢复连接后可以继续等待或重新加载。Your device is offline. Once connected, you can keep waiting or reload.
因子逻辑
比较20日内 DTM(开盘上涨日的向上力度)与 DBM(开盘下跌日的向下力度)之和,按较大者归一化差值,类似动态买卖气指标 ADTM。取值在-1到1之间,值越大表示买方力量越占优。
因子公式
(SUM(DTM,20)>SUM(DBM,20)?(SUM(DTM,20)-SUM(DBM,20))/SUM(DTM,20): (SUM(DTM,20)=SUM(DBM,20)? 0: (SUM(DTM,20)-SUM(DBM,20))/SUM(DBM,20)))BigQuant SQL
SELECT date, instrument, if(m_lag(open, 1) IS NULL, NULL, if(open<=m_lag(open, 1), 0, greatest(high-open, open-m_lag(open, 1)))) AS _DTM, if(m_lag(open, 1) IS NULL, NULL, if(open>=m_lag(open, 1), 0, greatest(open-low, open-m_lag(open, 1)))) AS _DBM, -1 * ( if(m_sum(_DTM, 20) IS NULL, NULL, if(m_sum(_DTM, 20)>m_sum(_DBM, 20), (m_sum(_DTM, 20)-m_sum(_DBM, 20))/(m_sum(_DTM, 20)), if(m_sum(_DTM, 20)=m_sum(_DBM, 20), 0, (m_sum(_DTM, 20)-m_sum(_DBM, 20))/m_sum(_DBM, 20))))) AS _factor_temp, 1 * _factor_temp AS factorFROM cn_stock_bar1dORDER BY date, instrumentbq examples new strategies/multi_factor.py bqf_10202_strategy.py --name 'Alpha191 #69 选股' \ --set 'TABLES=["cn_stock_factors_alpha_191"]' --set 'FACTORS=["alpha_069"]' --set 'HOLD=30' \ --set 'EVERY=20' --set 'BENCHMARK="000300.SH"' --set 'START="2021-01-01"' \ --set 'END="2026-09-18"' \ && python bqf_10202_strategy.pySELECT date, instrument, alpha_069 FROM cn_stock_factors_alpha_191带入当前因子,在 Cowork 中继续研究。
from bigquant import factor
values = factor.values(["BQF_10202"], "2021-01-01", "2026-09-18")report = factor.analyze( values, start_date="2021-01-01", end_date="2026-09-18", universe=("all", "hs300"), neutralize=(None, "size+industry"), depth="deep",)report.render()