问财量化选股策略逻辑
选股逻辑为:振幅大于1、酷特智能早晨之星、量比大于1.5、量比小于6的股票。该选股策略主要从技术面的角度,选取具备较大涨幅潜力的公司,并筛选出量比较为合理的股票。
选股逻辑分析
该选股策略主要从技术面的角度考虑,选股条件合理:振幅大可找到市场热点,同时酷特智能早晨之星是一个常用的K线形态,且加入量比的条件可以筛选出较为合理的股票。通过这些因素作为选股条件能够选出涨幅较大,同时存在一定市场认可度的股票。
有何风险?
该选股逻辑虽然在技术面加入了较多因素,但仍旧只考虑了股票的历史数据,未能充分考虑新闻事件等外部因素的影响,其筛选结果相对较为单一。在后期筛选过程中需要注意,特别是对于长线投资者来说,要充分考虑基本面、行业发展等因素,防止盲目跟风而导致风险增大。
如何优化?
可以加入其他技术面指标,如MACD、KDJ等指标加以参考,可以更全面地判断市场热点,相对提高筛选准确度。另外,在数据更新时间内会有不少因素影响股票价格、交易量的变化,因此在短时间内的技术面筛选要更为谨慎。
最终的选股逻辑
选股逻辑为:振幅大于1、酷特智能早晨之星、量比大于1.5、量比小于6的股票。该选股策略主要从技术面的角度,选取具备较大涨幅潜力的公司,并筛选出量比较为合理的股票。
同花顺指标公式代码参考
C: 收盘价>上一日收盘价 AND 振幅>1 AND 酷特智能早晨之星 AND 量比>1.5 AND 量比<6;
以上的同花顺指标公式根据振幅、酷特智能早晨之星和量比选股。
Python代码参考
import tushare as ts
import pandas as pd
from datetime import datetime, timedelta
def get_selected_stocks():
pro = ts.pro_api()
selected_stocks = []
for ts_code, name, market in pro.stock_basic(exchange='', list_status='L', fields='ts_code,name,market').values.tolist():
if market == '创业板':
continue
# 基本面
stock_data = pro.daily_basic(ts_code=ts_code, start_date=datetime.strftime(datetime.now() - timedelta(days=10), '%Y%m%d'), end_date=datetime.strftime(datetime.now(), '%Y%m%d'))
if stock_data.empty or stock_data.iloc[-1]['total_mv'] < 100000 or stock_data.iloc[-1]['total_mv'] > 1000000 or stock_data.iloc[-1]['pe'] < 0:
continue
# 技术面
daily_data = pro.daily(ts_code=ts_code, start_date=datetime.strftime(datetime.now() - timedelta(days=10), '%Y%m%d'), end_date=datetime.strftime(datetime.now(), '%Y%m%d'))
if daily_data.empty or daily_data.iloc[-1]['close'] < daily_data.iloc[-2]['close'] or daily_data.iloc[-1]['open'] < daily_data.iloc[-2]['close']:
continue
if not check_morning_star(daily_data):
continue
volume_ratio = daily_data.iloc[-1]['vol'] / daily_data['vol'].rolling(window=5).mean()[len(daily_data) - 1]
if volume_ratio < 1.5 or volume_ratio > 6:
continue
# 选股成功
selected_stocks.append((name, ts_code))
return selected_stocks
def check_morning_star(daily_data):
if daily_data.iloc[-1]['open'] <= daily_data.iloc[-2]['close'] or daily_data.iloc[-1]['open'] <= daily_data.iloc[-3]['close']:
return False
ma5 = daily_data['close'].rolling(window=5).mean()
ma10 = daily_data['close'].rolling(window=10).mean()
if ma5[len(ma5) - 1] < ma10[len(ma10) - 1]:
return False
if (daily_data.iloc[-1]['close'] - daily_data.iloc[-1]['open']) / (daily_data.iloc[-1]['high'] - daily_data.iloc[-1]['low']) < 0.33:
return False
return True
以上的Python代码综合考虑了技术面和基本面的因素,对振幅、酷特智能早晨之星、量比进行了筛选,加入了PE的条件判断以考虑基本面的因素,同时进一步加入了缺口和上涨趋势线的检测。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
