问财量化选股策略逻辑
选股逻辑为:振幅大于1、价格低于12元、20日均线大于120日均线的股票。
选股逻辑分析
该选股逻辑在选择价格低廉、波动性较大的股票的同时,也考虑了技术指标,即选择股票目前处于上涨趋势中的股票。该策略有助于在做好风险控制的同时获取一定的上涨空间。
有何风险?
该选股逻辑存在以下风险:
- 缺乏基本面指标的约束,可能选出一些基本面表现较差的股票;
- 在市场行情走势变化较快的时期,该策略可能无法及时进行调整,导致买入的股票遭受较大的风险;
- 仅考虑了技术指标,而未考虑股票的业绩、估值、行业性质等因素,容易带来不确定性。
如何优化?
为了降低风险,可考虑以下方面进行优化:
- 在选股逻辑中加入部分基本面指标如市盈率、市净率、ROE等因素;
- 考虑将均线策略与其他技术指标结合起来,如MACD、RSI等指标,以降低单一技术指标过度依赖的风险;
- 定期检查与调整选股逻辑,及时识别市场行情变化,对策略进行优化。
最终的选股逻辑
最终的选股逻辑如下:
- 振幅大于1;
- 价格<12元;
- 20日均线大于120日均线。
同花顺指标公式代码参考
使用通达信实现该选股逻辑:
SELECT:LOW < 12 AND MA(CLOSE, 20) > MA(CLOSE, 120) ORDER BY VOLATILITY DESC;
其中,MA为均线指标,CLOSE为收盘价,VOLATILITY为波动率指标。
python代码参考
使用tushare库实现该选股逻辑:
import tushare as ts
def is_selected(code):
# 获取K线数据
kline = ts.get_k_data(code, end='2021-06-30', ktype='D', autype='qfq')
# 判断选股条件是否满足
if len(kline) < 120:
return False
ma_20 = kline['close'].rolling(window=20).mean().iloc[-1]
ma_120 = kline['close'].rolling(window=120).mean().iloc[-1]
if kline.iloc[-1]['low'] < 12 and ma_20 > ma_120:
return True
return False
# 获取股票列表,遍历股票进行选股
stocks = ts.get_stock_basics()
selected_stocks = []
for code, row in stocks.iterrows():
if is_selected(code):
selected_stocks.append(code)
# 利用选股结果进行股票交易
for code in selected_stocks:
pass # 参考其他策略
同样需要注意导入必要的包,并且需要进行验证和过滤机制以降低风险。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
