问财量化选股策略逻辑
- 今日增仓占比>5%
- 流通市值50-100亿
- 换手率>2%且<9%
选股逻辑分析
- 今日增仓占比>5%:说明该股票在近期有较多的主力资金流入,表明市场对该股票较为看好,有利于股票的上涨。
- 流通市值50-100亿:流通市值适中,说明该股票的流通性较好,不会因为流通市值过小而出现流动性问题,也不会因为流通市值过大而出现流动性过剩的问题。
- 换手率>2%且<9%:换手率表示股票的活跃程度,换手率>2%说明该股票的交易较为活跃,有利于股票的流动性,而换手率<9%则说明该股票的交易并不活跃,可能存在流动性问题。
有何风险?
- 今日增仓占比>5%:虽然说明市场对该股票较为看好,但是也可能是因为主力资金的短期行为,而不是长期看好该股票。
- 流通市值50-100亿:虽然适中,但是也可能因为该股票的流通市值较小,导致流动性不足。
- 换手率>2%且<9%:虽然有利于股票的流动性,但是也可能是因为该股票的交易过于活跃,导致股票价格波动较大。
如何优化?
- 可以考虑加入更多因素,例如市盈率、市净率等,以更加全面地评估股票的价值和风险。
- 可以考虑加入技术分析因素,例如均线、MACD等,以更加准确地判断股票的趋势和买卖时机。
最终的选股逻辑
- 今日增仓占比>5%
- 流通市值50-100亿
- 换手率>2%且<9%
- 市盈率<20倍
- 市净率>1.5倍
python代码参考
import talib
import numpy as np
def get_strategy_data():
# 获取所有股票的数据
data = get_stock_data()
# 计算今日增仓占比
data['今日增仓占比'] = data['净流入额'] / data['流通市值'] * 100
# 计算流通市值
data['流通市值'] = data['流通盘'] * data['收盘价']
# 计算换手率
data['换手率'] = data['成交量'] / data['流通市值'] * 100
# 过滤条件
data = data[(data['流通市值'] >= 50) & (data['流通市值'] <= 100) & (data['换手率'] > 2) & (data['换手率'] < 9)]
# 计算市盈率和市净率
data['市盈率'] = data['当前价'] / data['eps'] * 100
data['市净率'] = data['当前价'] / data['pb']
# 返回策略数据
return data
def get_stock_data():
# 获取所有股票的数据
data = yf.download('600036.SZ', start='2021-01-01', end='2021-12-31')
# 数据处理
data = data[['净流入额', '流通盘', '收盘价', '成交量']]
data = data.rename(columns={'净流入额': '净流入额', '流通盘': '流通市值', '收盘价': '当前价', '成交量': '成交量'})
return data
如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
如果有任何问题请添加 下方的二维码进群提问。


