问财量化选股策略逻辑
选股逻辑为:振幅大于1,换手率>2%且<9%,竞价涨幅>-2<5。该选股策略主要以技术面指标为主,即振幅、换手率和竞价涨幅,以筛选出潜在股票走势较强的标的。
选股逻辑分析
该选股逻辑主要以技术面指标为主,通过振幅和换手率来判断股票的走势和市场认可度,同时加入竞价涨幅的要求,以筛选出竞价涨幅在一定范围内的标的,该选股策略较为具有针对性和操作性。
有何风险?
该选股策略也存在一定的风险。首先,单纯依靠技术面指标可能会忽略掉一些股票的基本面因素,也可能会错过一些优质标的。其次,竞价涨幅在一定程度上反映出市场对股票的短期情绪,过度追求竞价涨幅可能导致操作风险增加,容易被市场出现的短期波动所影响。
如何优化?
为减少筛选出来的标的中的误判,可以加入更多的技术面指标,如MACD、RSI等指标,以充分判断股票的走势情况。同时,可以将竞价涨幅的取值范围作为可调节参数,并加入更多的行情判断,以取得更好的结果。
最终的选股逻辑
选股条件为:振幅大于1,换手率>2%且<9%,竞价涨幅>-2<5。同时,加入更加完备的技术面指标,并将竞价涨幅的取值范围作为可调节参数,以更准确地筛选出符合条件的标的。
同花顺指标公式代码参考
选股条件为:振幅大于1,换手率>2%且<9%,竞价涨幅>-2<5。
C1: ABS((HIGH/LOW-1)*100)>=1;//振幅大于1
C2: TURNOVER>2 AND TURNOVER<9;//换手率大于2%小于9%
C3: (OPEN - REF(PRECLOSE,1))/PRECLOSE*100 > -2 AND (OPEN - REF(PRECLOSE,1))/PRECLOSE*100 < 5;//竞价涨幅>-2<5
SYMBOL: C1 AND C2 AND C3;
Python代码参考
import pandas as pd
import tushare as ts
def select_stocks(length):
ts.set_token('your token')
pro = ts.pro_api()
# 获取股票数据
stock_data = pro.stock_basic(list_status='L', exchange='SSE', fields='ts_code,symbol,name,industry,list_date')
current_date = '20220308'
# 筛选符合条件的股票
selected_stocks = []
for index, row in stock_data.iterrows():
code = row['ts_code']
info = {}
info['code'] = code
info['name'] = row['name']
# 排除科创板股票
industry = row['industry']
if industry.startswith('688'):
continue
# 获取技术数据
tech_data = pro.daily(ts_code=code, start_date='20220301', end_date=current_date, fields='high,low,close,vol,open,pre_close')
if tech_data.empty:
continue
# 获取竞价涨幅
jingjia_zhangfu = (tech_data.iloc[-1]['open'] - tech_data.iloc[-2]['close']) / tech_data.iloc[-2]['close'] * 100
if jingjia_zhangfu <= -2 or jingjia_zhangfu >= 5:
continue
# 获取其它技术指标
if tech_data.iloc[-1]['high'] - tech_data.iloc[-1]['low'] <= 0 or tech_data.iloc[-1]['vol'] / pro.stock_basic(ts_code=code).iloc[0]['total_share'] <= 0.02 or tech_data.iloc[-1]['vol'] / pro.stock_basic(ts_code=code).iloc[0]['total_share'] >= 0.09:
continue
if tech_data['close'].rolling(9).max().iloc[-1] == tech_data['high'].rolling(9).max().iloc[-1] and tech_data['close'].rolling(9).min().iloc[-1] == tech_data['low'].rolling(9).min().iloc[-1]:
selected_stocks.append(info)
if len(selected_stocks) >= length:
break
return selected_stocks
致辞
本次问答为问财量化选股策略逻辑的第六十五篇,该选股策略主要以技术面指标为主,加入竞价涨幅的要求,以筛选出竞价涨幅在一定范围内的标的。在未来的选股过程中,应该结合更多的市场因素,建立更全面、更科学的量化分析体系,以获得更好的选股效果。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
