问财量化选股策略逻辑
- 至少5根均线重合的股票
- 60开头的股票
- 100亿市值以内的无亏损企业
选股逻辑分析
- 第一条均线是5日均线,表示最近5天的平均价格。
- 第二条均线是10日均线,表示最近10天的平均价格。
- 第三条均线是20日均线,表示最近20天的平均价格。
- 第四条均线是30日均线,表示最近30天的平均价格。
- 第五条均线是60日均线,表示最近60天的平均价格。
当至少5根均线重合时,意味着这些均线在同一个位置,这表明股票的价格趋势相对稳定,有可能出现上涨的趋势。
有何风险?
- 由于均线的周期不同,可能会导致选出的股票数量过多或过少。
- 如果股票的价格波动较大,可能会导致选出的股票不符合实际情况。
如何优化?
- 可以考虑增加均线的周期,例如增加到120日均线,以获得更准确的信号。
- 可以考虑使用其他技术指标,例如MACD、RSI等,以获得更全面的分析。
最终的选股逻辑
- 选取至少5根均线重合的股票
- 选取60开头的股票
- 选取100亿市值以内的无亏损企业
- 选取均线周期为5日、10日、20日、30日、60日的股票
- 选取股票价格波动较小的股票
以下是python代码参考:
import talib
def get_overlapping_moving_average(prices, n):
ma = talib.MA(prices, n)
return ma[-n:]
def get_stable_stock(prices, n):
ma = get_overlapping_moving_average(prices, n)
std = talib.STDDEV(prices, n)
return ma[-n:] > ma[-n-1] + std[-n-1] and ma[-n:] < ma[-n-1] - std[-n-1]
def get_stable_stocks(prices, n):
ma = get_overlapping_moving_average(prices, n)
std = talib.STDDEV(prices, n)
return ma[-n:] > ma[-n-1] + std[-n-1] and ma[-n:] < ma[-n-1] - std[-n-1] and prices[-n:] > prices[-n-1] * 0.9 and prices[-n:] < prices[-n-1] * 1.1
def get_optimized_stocks(prices, n):
ma = get_overlapping_moving_average(prices, n)
std = talib.STDDEV(prices, n)
return ma[-n:] > ma[-n-1] + std[-n-1] and ma[-n:] < ma[-n-1] - std[-n-1] and prices[-n:] > prices[-n-1] * 0.9 and prices[-n:] < prices[-n-1] * 1.1 and prices[-n:] > prices[-n-2] * 0.9 and prices[-n:] < prices[-n-2] * 1.1
def get_stocks(prices, n):
stocks = []
for i in range(len(prices)):
if get_stable_stock(prices, n):
stocks.append(prices[i])
return stocks
如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
如果有任何问题请添加 下方的二维码进群提问。


