问财量化选股策略逻辑
本选股策略选取振幅大于1、今日均线向上发散和周线MACD在零轴之上的股票作为选股指标,其中振幅大于1和今日均线向上发散可以找到走势较好的股票,而周线MACD在零轴之上则可以反映股价的后续上涨潜力和趋势稳定性。
选股逻辑分析
本选股策略同样通过振幅、均线趋势和MACD指标来综合筛选股票。振幅和今日均线向上发散可以找到具有良好走势且逆势修复的股票,而周线MACD在零轴之上则能在更长期的视角上反映该股票上涨的潜力和趋势的稳定性,从而筛选出更加优质的个股。
有何风险?
本选股策略同样可能存在捕捉到噪声信号或者其他非正常因素的缺陷,同时还有可能被高估的股票一次性影响策略的整体表现,所以需要进行多系统的验证和风险控制。
如何优化?
为了进一步提高选股策略的有效性,可以适当加入一些趋势判断及信号指标,比如均线金叉、超跌阶段发现、RSI等指标,并将这些指标通过机器学习和认知智能等技术进行训练,从而挖掘更深层次的股票筛选规则,提高选股的准确性和稳定性。
最终的选股逻辑
本选股策略选取振幅大于1、今日均线向上发散和周线MACD在零轴之上的股票作为选股指标。
同花顺指标公式代码参考
- 振幅: AMO
- 今日均线向上发散:C > REF(MA(C,5),1) > MA(C,5)
- 周线MACD在零轴之上:DIF - DEA > 0
python代码参考
import tushare as ts
def select_stock():
stock_list = ts.get_stock_basics()
selected_stocks = stock_list[(stock_list["pb"] > 0) & (stock_list["pb"] < 1) & (stock_list["timeToMarket"] <= 240)]
for stock in selected_stocks.index:
data = ts.get_hist_data(stock)
if data is None:
selected_stocks.drop(stock, inplace=True)
continue
if data["amplitude"][-1] < 1:
selected_stocks.drop(stock, inplace=True)
continue
# 今日均线向上发散
ma5 = data["close"].rolling(window=5).mean()
if not (data["close"][-1] > ma5[-2] and ma5[-2] > ma5[-1]):
selected_stocks.drop(stock, inplace=True)
continue
# 周线MACD在零轴之上
macd, signal, _ = talib.MACD(data["close"], fastperiod=12, slowperiod=26, signalperiod=9)
if macd[-1] - signal[-1] < 0:
selected_stocks.drop(stock, inplace=True)
continue
return selected_stocks
print(select_stock())
以上代码仅供参考,实现方法会因投资人情况和市场环境而异。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
