问财量化选股策略逻辑
选股逻辑为振幅大于1、圆弧形、昨日竞价换手率大于0.26的股票。
选股逻辑分析
- 振幅大于1可以筛选出成交活跃但不过度的股票,符合短期操作的需求。
- 圆弧形可以筛选出相对于均线波动比较缓和的股票,符合短期操作的需求。
- 昨日竞价换手率大于0.26可以筛选出市场关注度高、交投活跃的股票,符合短期操作的需求。
有何风险?
- 选股逻辑相对单一,容易出现选中垃圾股票的情况。
- 不考虑股票的基本面,存在操作风险。
如何优化?
- 引入更多的技术指标如KDJ等,提高选股策略的可靠性。
- 根据不同股票的基本面加入筛选条件,提高选股策略的可靠性。
最终的选股逻辑
选股逻辑为振幅大于1、圆弧形、昨日竞价换手率大于0.26的股票。
同花顺指标公式代码参考
(HIGH-LOW)/OPEN >= 0.01 AND
ABS(((2*CLOSE+HIGH+LOW)/4-MAX(MA(CLOSE,5),MA(CLOSE,20))))/(MAX(MA(CLOSE,5),MA(CLOSE,20))) <= 0.1 AND
TURNOVER >= 0.0026 AND
((C > O AND VOL > 0) OR (C < O AND VOL > 0)) AND
VOL > 0
其中TURNOVER表示换手率,C表示收盘价,O表示开盘价,VOL表示成交量。
python代码参考
import akshare as ak
def select():
data = ak.stock_zh_a_daily_sina(symbol='sh000001', adjust='qfq')
selected = []
for code in data['symbol'].unique():
code_data = data[data['symbol']==code]
if (code_data['high']-code_data['low'])/code_data['open'] >= 0.01 \
and abs(((2*code_data['close']+code_data['high']+code_data['low'])/4-talib.MAX(code_data['close'].rolling(window=5).mean(), code_data['close'].rolling(window=20).mean())).iloc[-1])/(talib.MAX(code_data['close'].rolling(window=5).mean(), code_data['close'].rolling(window=20).mean())).iloc[-1] <= 0.1 \
and code_data['turnover_rate'].iloc[-2]>=0.026:
selected.append(code)
return selected
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
