问财量化选股策略逻辑
选股逻辑包括振幅大于1,10日涨幅大于0小于35,连续5年ROE>15%。
选股逻辑分析
- 振幅大于1、10日涨幅大于0小于35表示股票在短期内有较强的波动性和一定的涨势,具有一定的短期投资价值。
- 连续5年ROE>15%表示公司具有较好的盈利能力和良好的管理水平。
- 综合考虑短期投资价值和公司基本面,选股逻辑相对确保可靠。
有何风险?
- 过于依赖公司基本面,若公司基本面发生变化,可能对选股策略产生重要影响。
- 忽略其他技术指标,容易忽视短期股市风险。
如何优化?
- 结合技术指标进行综合分析,提升选股逻辑的准确性和稳定性。
- 根据股票所处的行业特征进行微调,增加选股逻辑的针对性。
- 强化风险控制策略,合理分散投资,严格执行止损等风险管理措施。
最终的选股逻辑
选股逻辑包括振幅大于1,10日涨幅大于0小于35,连续5年ROE>15%,并结合技术指标进行综合分析。
同花顺指标公式代码参考
ABS(PARTLINE - REF(PARTLINE, 1)) > PARTLINE * 0.007, C >= O, C > REF(C, 1), (C - O) / O * 100 > 0, EVERY(IF(ROE > 0.15,1,0), 5*250) == 1
python代码参考
import akshare as ak
def select():
data = pd.DataFrame()
end_date = datetime.now().strftime("%Y%m%d")
start_date = (datetime.now() - timedelta(days=365)).strftime("%Y%m%d")
for symbol in ak.stock_zh_a_spot_em(symbol="").iloc[:,0].tolist():
try:
k_data = ak.stock_zh_a_daily(symbol=symbol, start_date=start_date, end_date=end_date)
if len(k_data)<1250:
continue
if (k_data['close']-k_data['open'])/k_data['open']*100<=0:
continue
elif (k_data['high']-k_data['low'])/k_data['low']<0.01:
continue
roe = ak.stock_financial_abstract(stock=symbol).iloc[0]['ROE']
if np.isnan(roe):
continue
elif (k_data['low'].iloc[-2:].min()>=talib.MA(k_data['low'], 16).iloc[-2:].min()) and \
(talib.MA(k_data['low'], 16).iloc[-3:].mean()>talib.MA(k_data['low'], 64).iloc[-3:].mean()) and \
(talib.MA(k_data['low'], 64).iloc[-3:].mean()>talib.MA(k_data['low'], 256).iloc[-3:].mean()) and \
(talib.MA(k_data['low'], 256).iloc[-3:].mean()>talib.MA(k_data['low'], 1024).iloc[-3:].mean()) and \
(np.sum(ak.stock_financial_analysis_indicator(stock=symbol).iloc[0,-5:]>0.15)==5):
data = pd.concat([data, k_data.iloc[-2:]])
except:
continue
return data
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
