问财量化选股策略逻辑
选股逻辑为:振幅大于1、流通市值大于100亿元、股票K线K值小于20。该选股策略考虑了个股市值和波动性因素,同时使用K线指标作为筛选条件,以挑选出短期内出现超卖情况的个股。
选股逻辑分析
该选股逻辑同样考虑了股票的市值和波动性,但在选股逻辑上增加了使用K线指标来筛选超卖的股票。超卖的股票意味着市场情绪可能过度悲观,存在一定的投资机会。因此,该选股策略旨在从市值较大、波动性强并短期内出现超卖情况的个股中挑选可能具有投资潜力的标的。
有何风险?
与其他基于技术指标的选股策略类似,该选股逻辑同样存在一定的风险。首先,K线指标只是技术分析的一个工具,不能完全代表企业的实际价值。其次,选股逻辑忽略了诸如利润、估值等其他基本面因素,有可能导致股价风险过高。最后,该选股逻辑选取股票数量相对较少,不具备良好的分散投资特性,需要用户进行研究和衡量风险。
如何优化?
在该选股逻辑的基础上,可以引入更多的基本面指标,如市盈率、市净率等,对个股进行综合评估。同时,可以考虑将K线指标与其他技术指标(如均线、MACD等)进行印证,以提高筛选准确性和策略的稳定性。
最终的选股逻辑
选股逻辑为:振幅大于1、流通市值大于100亿元、股票K线K值小于20。该选股策略旨在从市值适中、波动性强、近期内出现超卖情况的个股中挑选出可能具有一定投资潜力的标的。
同花顺指标公式代码参考
CIRC_MARKET_CAP >= 100 AND REF(HIGH/LOW, 1) > 1 AND KDJ_J < 20
其中,CIRC_MARKET_CAP表示流通市值大小,REF(HIGH/LOW, 1) > 1 表示昨日的振幅大于1,KDJ_J < 20表示KDJ指标中,J值小于20。通过此公式进行筛选后,即可得到符合条件的股票。
Python代码参考
import tushare as ts
def get_selected_stocks():
pro = ts.pro_api()
selected_stocks = []
for ts_code in pro.stock_basic(exchange='', list_status='L', fields='ts_code,circ_mv').ts_code:
stock_data = pro.query('stock_basic', ts_code=ts_code)
if stock_data.iloc[0]['circulating_market_cap'] < 100 or stock_data.iloc[0]['area'] == '北京':
continue
# 判断K线指标是否满足条件
daily_data = pro.daily(ts_code=ts_code, start_date='20210101', end_date='', fields='trade_date, open, high, low, close')
if len(daily_data) < 9:
continue
k, d = talib.STOCH(daily_data.high.values, daily_data.low.values, daily_data.close.values, 9, 3, 0, 3, 0)
if k[-1] >= 20:
continue
# 判断振幅是否满足条件
if max(daily_data['high'] / daily_data['low']) <= 1:
continue
selected_stocks.append(ts_code)
return selected_stocks
其中,在Python代码中使用了Talib库计算K线指标中的K和D值,计算方法与通达信中的KDJ指标一致。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
