问财量化选股策略逻辑
选股逻辑为:振幅大于1、9点25分涨幅小于6%、三连阴,选择符合条件的股票作为选股对象。该选股策略主要关注股票价格走势,旨在挖掘有跌势但有可能反弹的股票,做短期投资。
选股逻辑分析
该选股逻辑主要关注短期股票价格走势,该策略选择三连阴作为判断条件,主要考虑到连续下跌之后可能有反弹的机会。但该策略的选股因素仅限于技术面,忽略了企业的基本面因素,如公司业绩、营收、利润等,因此选股效果可能存在不稳定性。
有何风险?
该选股逻辑过于追求短期回报,忽略了市场复杂的内在变化和企业的基本面情况,存在选股效果可能不稳定和实际回报不足的风险。
如何优化?
可以加入一些和个股基本面相关的指标,如市盈率、市净率、净利润率等,更全面地衡量股票的投资价值。同时,可以将连阴作为辅助指标,须结合其他指标一起使用,提高选股策略的稳定性和精准性,进一步筛选符合条件的股票。
最终的选股逻辑
选股逻辑为:振幅大于1、9点25分涨幅小于6%、三连阴,以技术面指标为主选择有反弹机会的股票作为选股对象。该选股策略追求短期回报,但同时会考虑企业的基本面因素。选择股票应该综合考虑多种因素,切勿仅凭一板斧。
同花顺指标公式代码参考
FZ_RANGE > 1 AND LAST<=LAST[1]*0.06 AND EVERY(CLOSE<OPEN, 3)>2
其中FZ_RANGE表示振幅的大小,LAST表示当天的收盘价,LAST[1]表示前一天的收盘价,CLOSE和OPEN分别表示当天的收盘价和开盘价。通过以上指标查找符合条件的股票。
Python代码参考
import tushare as ts
from datetime import datetime, timedelta
def get_selected_stocks():
pro = ts.pro_api()
selected_stocks = []
for ts_code in pro.stock_basic(exchange='', list_status='L', fields='ts_code').values.tolist():
# 振幅大于1
k_data = pro.daily(ts_code=ts_code[0], start_date=(datetime.now()-timedelta(days=30)).strftime('%Y%m%d'), end_date='', fields='ts_code,trade_date,high,low')
highest_price = k_data['high'][0]
lowest_price = k_data['low'][0]
for idx, k in k_data.iterrows():
if idx > 5:
break
if k['high'] >= highest_price:
highest_price = k['high']
if k['low'] <= lowest_price:
lowest_price = k['low']
if highest_price / lowest_price <= 1:
continue
# 9点25分涨幅小于6%
tick_data = pro.tick(ts_code=ts_code[0], date=datetime.now().strftime('%Y%m%d'))
current_price = tick_data[tick_data['time'] == '09:25:00']['price'].values[0]
pre_close = pro.daily(ts_code=ts_code[0], start_date=(datetime.now()-timedelta(days=6)).strftime('%Y%m%d'), end_date='', fields='ts_code,trade_date,close', freq='1D').iloc[1]['close']
if current_price / pre_close >= 1.06:
continue
# 三连阴
k_data = pro.daily(ts_code=ts_code[0], start_date=(datetime.now()-timedelta(days=6)).strftime('%Y%m%d'), end_date='', fields='ts_code,trade_date,open,close')
last_close = k_data.iloc[-1]['close']
is_consecutive_decline = False
for idx, k in k_data.iterrows():
if idx == 0:
continue
if k['close'] < k['open'] and k['close'] < last_close:
last_close = k['close']
is_consecutive_decline = True
else:
is_consecutive_decline = False
break
if not is_consecutive_decline:
continue
selected_stocks.append(ts_code[0])
return selected_stocks
在Python代码中,同样使用tushare库获取股票数据,进而筛选符合条件的股票。通过振幅、涨幅和连阴等判断个股波动性情况和短期走势,根据以上指标寻找有涨幅潜力的股票。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
