问财量化选股策略逻辑
选股逻辑为:在换手率为3%-12%、10日涨幅大于0小于35的基础上,选择非ST股票并使用五部涨停战法选股。(在10点之前选股票。)
选股逻辑分析
该选股策略具有一定的技术面和基本面考量。通过限定换手率和涨幅的条件筛选出具有潜力的股票,选择非ST股票在基本面上降低风险。加入五部涨停战法后通过技术面手法选股,增加选股的准确性。
有何风险?
选股在10点之前完成,可能会受到盘前消息和大盘波动的影响,选股策略也可能受到算法的过拟合风险。同时,五部涨停战法也存在一定的不确定性和风险,需要配合其他方法进行选股。
如何优化?
可以通过添加其他指标来提高选股的准确性。如加入资金流向指标、MACD技术指标、相对强弱指标等等。同时,可以考虑调整选股时间,加入盘中的因素,提高选股精度。
最终的选股逻辑
在换手率为3%-12%、10日涨幅大于0小于35的基础上,选择非ST股票并使用五部涨停战法选股。为提高选股精度,可以结合其他条件,如资金流向指标、MACD技术指标、相对强弱指标等等,综合考虑股票的基本面和技术面因素,调整选股时间,加入盘中的因素,提高选股精度。
同花顺指标公式代码参考
该选股策略可能用到的指标包括:即时行情、ST标识、涨跌幅、换手率、五部涨停战法等,请根据具体需求自行查询同花顺指标公式,并进行修改与适配。
Python代码参考
import tushare as ts
def get_good_stocks():
good_list = []
# 获取正常股票
ts.set_token('your token')
pro = ts.pro_api()
stock_list = pro.stock_basic(exchange='', list_status='L')['ts_code']
for ts_code in stock_list:
if ts_code.startswith('300'): # 筛选创业板股票
continue
elif pro.daily(ts_code=ts_code, start_date='20211015', end_date='20211020').empty: # 筛选数据存在日期
continue
elif pro.namechange(ts_code=ts_code) and pro.namechange(ts_code=ts_code)['name'].iloc[0].find('ST') >= 0: # 筛选非ST股票
continue
# 筛选出涨幅大于0小于35、换手率在3%至12%之间的股票
limit_up = pro.limit_list(ts_code=ts_code, trade_date='20211020')['up_limit'][0]
daily_data = pro.daily(ts_code=ts_code, start_date='20211020', end_date='20211020')
if limit_up == daily_data.iloc[0]['close']: # 筛选当天未涨停的股票
continue
elif daily_data.iloc[0]['pct_chg'] not in range(0, 35):
continue
elif daily_data.iloc[0]['turnover_rate'] < 0.03 or daily_data.iloc[0]['turnover_rate'] > 0.12:
continue
# 选取当天买入的股票
data = pro.new_share(start_date='20211015', end_date='20211020', ts_code=ts_code)
if data.empty or data.iloc[0]['list_date'] > data.iloc[0]['apply_date']:
continue
elif data.iloc[0]['apply_type'] == "网上申购" and data.iloc[0]['apply_code'].find('01911') > -1: # 筛选某些开户材料的股票
continue
good_list.append(ts_code)
return good_list
good_stocks = get_good_stocks()
print(good_stocks)
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
