问财量化选股策略逻辑
选股逻辑为:振幅大于1、价格低于12元、10天内涨停天数大于2的股票。
选股逻辑分析
该选股逻辑以价格、波动性、市场行情等方面作为考虑因素,同时考虑了股票在较短时间内的涨停情况,认为多次涨停后股票具有较大的上涨潜力。该策略主要面向短期持有的投资者,可能会带来一定的投机性。
有何风险?
该选股逻辑存在以下风险:
- 选股标准相对主观,可能存在过度乐观或悲观,容易产生错误的预测;
- 反复触及涨停板并不一定意味着股票一定会出现更高的涨势;
- 该策略关注短期涨势,可能存在信息不对称、短期谣言等决策误导现象;容易受到市场大环境较大的影响。
如何优化?
为了降低风险,可考虑以下方面进行优化:
- 为选股逻辑加入更多基本面、估值等因素作为约束条件,以提高选股逻辑的基本精度;
- 规范选股标准,将选股逻辑的各个条件加权处理,让不同条件下的股票之间具有可比性;
- 对于涨停天数作为选股依据的条件,可以考虑对择时进行更精准的优化,对多次涨停合理分布的股票加大权重。
最终的选股逻辑
最终的选股逻辑如下:
- 振幅大于1;
- 价格<12元;
- 10天内涨停天数大于2。
同花顺指标公式代码参考
使用通达信实现该选股逻辑:
SELECT:LOW < 12 AND ZTGCOUNT(10) > 2 ORDER BY VOLATILITY DESC;
其中,ZTGCOUNT(10)返回了10天内涨停板数量,LOW为股票最低价,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')
# 判断选股条件是否满足
zt_count = sum(kline.iloc[-10:]['pct_chg'] >= 9.5)
if kline.iloc[-1]['low'] < 12 and zt_count > 2:
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亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
