问财量化选股策略逻辑
选股逻辑:振幅大于1,北京A股除外,流通市值大于100亿元。
选股逻辑分析
该选股策略以股票价格波动、地域分类以及流通市值为主要选股指标,利用振幅选出潜在高涨股票,避免地域风险,挑选出大市值、流通性好的股票。具体逻辑如下:
- 挑选出振幅大于1的股票;
- 排除北京A股,避免地域风险;
- 搜索流通市值大于100亿元的股票。
有何风险?
该选股逻辑存在以下风险:
- 选股逻辑过于依赖规则,忽略其他重要因素的影响;
- 确定流通市值的方式可能过于简单,可能存在漏判的情况;
- 排除北京A股存在局限性,可能存在其他地区的潜在风险。
如何优化?
为了改善选股逻辑中存在的风险问题,可以从以下几个方面进行优化:
- 增加其他指标或者数据的比较和分析,降低单一指标依赖的风险;
- 设定更为科学、客观的流通市值计算方式,避免流通市值的误判;
- 考虑将地域限制从北京A股改为更全面、更科学、更贴近实际的方式。
最终的选股逻辑
改进后的选股逻辑如下:
- 选取振幅大于1的股票;
- 排除特定风险,根据实际情况进行股票的排除;
- 按流通市值优先选取100亿元及以上的股票;
- 合理增加其他指标或数据进行综合比较和分析。
同花顺指标公式代码参考
考虑到此选股逻辑中振幅、地域分类以及流通市值指标的应用,同花顺指标公式代码可以参考以下:
//振幅
A0 = ((HIGH - LOW) / LOW) > 0.01 ;
//流通市值
B0 = CIRCULATION >= 10000000000 ;
//地域
C0 = NAME NOT CONTAIN "北京" ;
//组合
IF(A0 AND B0 AND C0 ,1,0)
python代码参考
选股逻辑的Python代码可以参考以下:
# 指标条件
df['amplitude'] = (df['high'] - df['low']) / df['low']
df['name_condition'] = ~df['name'].str.contains('北京')
df['circulation_condition'] = df['circulation'] >= 10000000000
# 合并条件
df['condition'] = df['amplitude'] > 0.01 & df['name_condition'] & df['circulation_condition']
# 处理结果
exc_stocks = df[df['condition']]
exc_stocks = exc_stocks.sort_values(by="circulation", ascending=False)
exc_stocks = exc_stocks.head(context.configure.pick_num)
注意事项
此回答中的选股逻辑、指标公式和Python代码仅供参考,具体实现需要根据自身投资策略进行相应的调整。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
