问财量化选股策略逻辑
选股逻辑:振幅大于1%, 北京A股除外,资金强度由大到小。
选股逻辑分析
该选股策略以振幅、地域和资金强度作为筛选条件,振幅是选股的关键条件,地域风险受限,资金强度则是判断股票的投资情况。该选股策略旨在发掘具备较大投资潜力的股票。
有何风险?
该选股逻辑可能存在以下风险:
- 忽略公司基本面、行业发展趋势和财务状况等因素,可能导致错误判断股票的投资价值;
- 过于依赖资金流向、资金强度等指标,存在市场操纵的风险;
- 忽视板块轮动、市场趋势等因素,无法适应市场变化。
如何优化?
为了改进该选股策略,可以考虑以下方面:
- 引入公司财务指标、行业趋势和管理能力等多因素分析,以提高选股的综合性和判断力;
- 加入板块轮动和市场趋势等指标,以适应市场变化;
- 考虑资金净流入而非强度,避免市场操纵风险;
- 基于机器学习算法建立预测模型,为选股提供有效参考;
- 在技术指标不足以判断股票趋势时,加入其他手段辅助判断。
最终的选股逻辑
经过改进后的选股逻辑如下:
- 振幅大于1%,北京A股除外;
- 选择资金净流入排名前50%的股票;
- 引入公司财务指标、行业趋势和管理能力等多因素分析,以提高选股的综合性和判断力;
- 加入板块轮动和市场趋势等指标,以适应市场变化;
- 增加风控措施,通过设置止盈止损限制风险。
同花顺指标公式代码参考
选股逻辑的同花顺指标公式如下:
振幅:ABS((HIGH-LOW)/REF(CLOSE,1))>0.01;
资金净流入排名:SORTBY(AVG(CAPITAL_FLOW_NET_IN_5)/MEAN_VOLUME_5, 50);
非北京A股:(AREA!='北京') AND (BOARD!='创业板') AND (BOARD!='科创板');
选股公式:振幅 AND 资金净流入排名 AND 非北京A股;
python代码参考
选股逻辑的python代码如下:
def momentum_picker(context):
# 振幅大于1%,北京A股除外
narrow_stocks = context.narrow_stocks[((context.narrow_stocks.high / context.narrow_stocks.low) - 1) > 0.01]
exclude_bj_stocks = narrow_stocks[(narrow_stocks.area != '北京') & (narrow_stocks.board != '创业板') & (narrow_stocks.board != '科创板')]
# 资金净流入排名
capital_flow = ts.get_money_flow(exclude_bj_stocks.code, start_date=context.current_date, end_date=context.current_date)
capital_flow['net'] = capital_flow['buy_sm_vol'] - capital_flow['sell_sm_vol'] # 小单净流入
capital_flow['rank'] = capital_flow['net'].rank(pct=True) # 计算排名
high_flow_stocks = exclude_bj_stocks[capital_flow['rank'] > 0.5] # 取排名前50%的股票
# 加入财务数据
pe_ratio = high_flow_stocks['pe_ratio']
pb_ratio = high_flow_stocks['pb_ratio']
roe = high_flow_stocks['roe']
selected = high_flow_stocks[(pe_ratio > 0) & (pe_ratio < pe_ratio.quantile(rate)) &
(pb_ratio > 0) & (pb_ratio < pb_ratio.quantile(rate)) &
(roe > 0) & (roe < roe.quantile(rate))]
return selected.index.tolist()
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
