问财量化选股策略逻辑
本选股策略选取振幅大于1、今日均线向上发散、三个技术指标同时金叉的股票。选取这些指标的原因是为了找到价格波动较大、市场关注度较高、股价趋势向上的股票,具备一定的上涨潜力。
选股逻辑分析
本选股逻辑选取了振幅、今日均线向上发散、三个技术指标同时金叉作为选股指标,从价格波动、市场关注度、趋势等方面筛选股票,以期找到具备上涨潜力的股票。
有何风险?
本选股策略同样存在一定的市场风险。由于只考虑了价格和技术指标方面的因素,可能忽略了其他重要的基本面等指标,存在较大的市场波动风险。另外,由于所选指标过于简单,容易被业内人士和普通投资者广泛适用,留下的选择机会较少,造成市场竞争活跃度不高的问题。
如何优化?
可以结合引入其他技术指标和基本面指标来判断股票的投资价值。同时,标准可以更加灵活地设定,如附加其他的均线、技术指标等来达到更细致的筛选。另外,还可以考虑引入量价因素等其他指标作为选股依据,以期增强选股的准确性和有效性。
最终的选股逻辑
本选股策略选取振幅大于1、今日均线向上发散、三个技术指标同时金叉的股票。
同花顺指标公式代码参考
- 振幅: AMO
- 今日均线向上发散: C > REF(MA(C,5),1) > MA(C,5)
- 三个技术指标同时金叉: MACD(MACD() > MACD(DEA)) AND DMA(DMA(10) > DMA(50)) AND CURROPER(EXPMA(C,10) > EXPMA(C,30))
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)]
hist_data = ts.get_hist_data(selected_stocks.index)
selected_stocks = selected_stocks[(hist_data["amplitude"] > 0.01)]
# 今日均线向上发散
for stock in selected_stocks.index:
data = ts.get_hist_data(stock)
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)
# 三个技术指标同时金叉
for stock in selected_stocks.index:
data = ts.get_hist_data(stock)
macd, signal, hist = talib.MACD(data["close"].values, fastperiod=12, slowperiod=26, signalperiod=9)
dma_short = talib.SMA(data["close"].values, timeperiod=10)
dma_long = talib.SMA(data["close"].values, timeperiod=50)
if not ((macd[-1] > signal[-1]) and (dma_short[-1] > dma_long[-1]) and (data["close"][-1] > talib.EMA(data["close"].values, timeperiod=30)[-1])):
selected_stocks.drop(stock, inplace=True)
# 筛选流通市值在50-100亿元之间的股票
selected_stocks = selected_stocks[(selected_stocks["nmc"] >= 5000000000) & (selected_stocks["nmc"] <= 10000000000)]
return selected_stocks
print(select_stock())
以上代码仅供参考,具体实现方法可以根据投资者需要和市场情况进行调整。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
