问财量化选股策略逻辑
选股逻辑为:振幅大于1、现量大于1万手、高开、换手率在2%到9%之间的股票。该策略基于股票价格波动、成交量和市场流通性进行选股。
选股逻辑分析
选股逻辑主要考虑到股票价格波动、成交量和市场流通性等因素。振幅大于1代表着股票价格波动幅度较大,现量大于1万手表示市场交易活跃,可以货币化;同时高开也意味着较大概率进一步上涨。选择2%到9%之间的换手率,意味着该股票在近期有较好的市场流通性。
有何风险?
该选股逻辑主要以技术面指标进行选股,忽视了公司基本面数据以及其他重要因素的影响和分析。在市场流通性的判断中,选取的2%到9%之间可能存在异常波动,需注意风险控制。
如何优化?
为了更全面地衡量股票的选股价值,可以在选股逻辑中加入公司基本面数据和其他行业特征、价格因素等指标进行判断。考虑到市场流通性的波动,可以根据不同市场情况和规模选择合适的流通性范围,或优化指标选取。同时,选股指标的综合判断应该建立在合理预测股票价格走势的基础上。
最终的选股逻辑
选股逻辑为:振幅大于1、现量大于1万手、高开、换手率在2%到9%之间的股票。在基础选股指标上,加入公司基本面数据、行业分析和其他因素,综合判断投资价值,按照投资组合进行选股。
同花顺指标公式代码参考
SZ107:IF(HIGH/LOW>1.01 AND VOL>10000 AND OPEN=REF(OPEN,1) AND TURNRATE>0.02 AND TURNRATE<0.09,1,0);
Python代码参考
import tushare as ts
def get_selected_stocks():
selected_stocks = []
pro = ts.pro_api()
all_stocks = [ts_code for ts_code, name in pro.stock_basic(exchange='', list_status='L', fields='ts_code,name,industry').values.tolist() if name[0]!='S' and name[:3]!='ST']
for ts_code in all_stocks:
daily_data = pro.daily(ts_code=ts_code, start_date=pro.stock_basic(ts_code=ts_code, fields='start_date').iloc[0], end_date='today')
if len(daily_data) < 2 or daily_data['vol'].max() < 10000:
continue
# 处理选股指标筛选条件
sz_data = pro.query('SZ107', ts_code=ts_code, start_date=daily_data.iloc[-2]['trade_date'], end_date=daily_data.iloc[-1]['trade_date'], fields='sz107').iloc[-1]
if sz_data['sz107'] == 1:
selected_stocks.append((pro.stock_basic(exchange='', list_status='L', ts_code=ts_code, fields='name').iloc[0]['name'], ts_code))
selected_stocks.sort()
return selected_stocks
以上为Python代码实现,基于股票价格波动、成交量和市场流通性等因素进行选股,注意指标范围内选股,并注意风险控制,如加入公司基本面数据、行业特征等。对于市场流通性的筛选,需要进行综合判断,如有需要可以加入其他因素进行衡量。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
