问财量化选股策略逻辑
选股逻辑为振幅大于1、量比大于1.5、量比小于6、按个股热度从大到小排序名。
选股逻辑分析
- 振幅大于1可以筛选出波动较大、有较大盈利机会的股票。
- 量比大于1.5、量比小于6可以筛选出成交活跃但不过度的股票。
- 按个股热度排序可以获取市场热点,更有机会捕获市场投机行情。
有何风险?
- 更高的股票波动性可能带来更大的市场风险。
- 市场热点变化较快,可能造成选股策略滞后,错过投资机会。
如何优化?
- 引入其他特征参数如市值、PEG等综合考虑,提高选股的准确性。
- 按个股热度排序需要定期更新,避免过度依赖历史排名造成选择偏差。
最终的选股逻辑
选股逻辑为振幅大于1、量比大于1.5、量比小于6、按个股热度从大到小排序名、市值小于100亿元。
同花顺指标公式代码参考
(HIGH-LOW)/LOW>=0.01
AND (VOL/VOL_MA5>=1.5)
AND (VOL/VOL_MA5<=6)
AND (RANK(VOL)>RANK(VOL)[1])
AND (MKT_CAP<=10000000000)
python代码参考
import akshare as ak
def select():
data = ak.stock_board_industry(symbol="行业板块") # 用于筛选市值低于100亿的股票
codes = list(data['股票代码'])
selected = []
for code in codes:
df = ak.stock_zh_a_daily_sina(symbol=code)
if df.empty:
continue
if (df['high'] - df['low']) / df['low'].iloc[-1] < 0.01 \
and df['volume'].iloc[-1] / df['volume'].rolling(5).mean().iloc[-1] > 1.5 \
and df['volume'].iloc[-1] / df['volume'].rolling(5).mean().iloc[-1] < 6 \
and df['volume'].rank().iloc[-1] > df['volume'].rank().iloc[-2] \
and data['总市值'].loc[data['股票代码'] == code].values[0] < 10000000000:
selected.append(code)
selected = sorted(selected, key=lambda x: ak.stock_zh_a_spot_em(symbol=x)['个股热度'], reverse=True) # 根据个股热度排序
return selected
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
