问财量化选股策略逻辑
- 至少5根均线重合的股票
- 昨天换手率>8%
- 竞价涨幅>-2<5
选股逻辑分析
- 这个策略基于均线和换手率的结合,寻找那些均线黏合的股票,这些股票通常代表着趋势的转变或整理阶段,同时也需要考虑昨天的换手率是否足够高,以保证市场活跃度。
- 竞价涨幅的限制是为了过滤掉一些虚假的上涨,避免选到一些高开低走的股票。
有何风险?
- 这个策略的局限性在于它只能选出那些均线黏合的股票,而忽略了其他一些因素,例如股票的市值、行业、盈利能力等等。
- 如果市场整体趋势不明确,那么均线黏合的股票可能无法准确反映市场走势,从而导致选出的股票表现不佳。
如何优化?
- 可以考虑加入其他因素,例如市值、盈利能力、行业等等,以更全面地评估股票的价值和潜力。
- 可以通过调整均线的参数来适应不同的市场环境,例如选择不同的均线数量、时间周期等等。
最终的选股逻辑
- 选取至少5根均线黏合的股票
- 过滤掉昨天换手率低于8%的股票
- 选取竞价涨幅在-2到5之间的股票
- 加入市值、盈利能力、行业等因素的评估
- 根据市场环境调整均线的参数
python代码参考
import talib
import numpy as np
def get_moving_average(prices, n):
"""
计算n天的移动平均线
"""
MA = talib.MA(prices, n)
return MA
def get_weighted_moving_average(prices, n, weights):
"""
计算n天的加权移动平均线
"""
MA = talib.MA(prices, n, weights)
return MA
def get_price_change(prices, n):
"""
计算n天的价格变化
"""
price_change = np.diff(prices)
price_change = np.insert(price_change, 0, 0)
price_change = price_change / prices[:-1]
return price_change
def get昨日换手率(prices, n):
"""
计算n天的昨日换手率
"""
close_prices = prices[-n:]
open_prices = prices[:-n]
close_prices = close_prices / open_prices
return close_prices
def get竞价涨幅(prices, n):
"""
计算n天的竞价涨幅
"""
close_prices = prices[-n:]
open_prices = prices[:-n]
return (close_prices - open_prices) / open_prices
def get_5均线黏合(prices, n):
"""
判断n天的5条均线是否黏合
"""
MA1 = get_moving_average(prices, 5)
MA2 = get_moving_average(prices, 10)
MA3 = get_moving_average(prices, 20)
MA4 = get_moving_average(prices, 30)
MA5 = get_moving_average(prices, 60)
if MA1[-1] == MA2[-1] == MA3[-1] == MA4[-1] == MA5[-1]:
return True
else:
return False
def get_stock_scores(prices, n, weights):
"""
计算股票的综合评分
"""
MA1 = get_moving_average(prices, 5)
MA2 = get_moving_average(prices, 10)
MA3 = get_moving_average(prices, 20)
MA4 = get_moving_average(prices, 30)
MA5 = get_moving_average(prices, 60)
price_change = get_price_change(prices, n)
yesterday換手率 = get昨日换手率(prices, n)
竞价涨幅 = get竞价涨幅(prices, n)
if MA1[-1] == MA2[-1] == MA3[-1] == MA4[-1] == MA5[-1]:
return 100
else:
return 100 - (MA1[-1] - MA2[-1]) / (MA1[-1] + MA2[-1]) * (MA3[-1] - MA4[-1]) / (MA3[-1] + MA4[-1]) * (MA5[-1] - MA6[-1]) / (MA5[-1] + MA6[-1
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
