(iwencai量化策略)竞价涨幅>-2<5_、换手率_2%且_9%、至少5根均线重合的股

用户头像神盾局量子研究部
2023-09-01 发布

问财量化选股策略逻辑

  • 至少5根均线重合的股票
  • 换手率>2%且<9%
  • 竞价涨幅>-2<5

选股逻辑分析

  • 该策略通过寻找至少5根均线重合的股票来筛选出可能具有较强趋势的股票。
  • 换手率的限制可以避免高换手率的股票带来的市场噪音和波动。
  • 竞价涨幅的限制可以筛选出有潜力的股票,但同时避免了过于激进的股票。

有何风险?

  • 该策略可能会筛选出一些不具备趋势的股票,导致投资组合的回报率降低。
  • 如果市场波动较大,该策略可能会导致较高的交易成本和交易频率。

如何优化?

  • 可以通过增加均线数量来筛选更具有趋势的股票。
  • 可以通过调整换手率和竞价涨幅的限制来适应不同的市场环境。

最终的选股逻辑

  • 选择至少5根均线重合的股票
  • 换手率>2%且<9%
  • 竞价涨幅>-2且<5

python代码参考

import talib
import pandas as pd

def get_moving_average(prices, n):
    """
    计算n根移动平均线
    """
    ma = talib.MA(prices, n)
    return ma

def get_consecutive_moving_average(prices, n):
    """
    计算n根连续移动平均线
    """
    ma = talib.MA(prices, n)
    consecutive_moving_average = ma[-n:]
    return consecutive_moving_average

def get_reversal_points(prices, ma1, ma2):
    """
    获取反转点
    """
    # 计算短期和长期移动平均线的交叉点
    crossover_points = talib.CROSS(ma1, ma2)
    # 获取反转点
    reversal_points = prices[crossover_points]
    return reversal_points

def get_stock筛选条件(prices, ma1, ma2, ma3, ma4, ma5, n):
    """
    获取股票筛选条件
    """
    # 获取至少5根均线重合的股票
    consecutive_moving_average = get_consecutive_moving_average(prices, n)
    # 获取至少5根均线重合的股票的反转点
    reversal_points = get_reversal_points(prices, ma1, ma2)
    # 获取至少5根均线重合的股票的连续移动平均线的交叉点
    crossover_points = talib.CROSS(consecutive_moving_average, ma3)
    # 获取至少5根均线重合的股票的连续移动平均线的交叉点
    crossover_points = talib.CROSS(consecutive_moving_average, ma4)
    # 获取至少5根均线重合的股票的连续移动平均线的交叉点
    crossover_points = talib.CROSS(consecutive_moving_average, ma5)
    # 获取至少5根均线重合的股票的连续移动平均线的交叉点
    crossover_points = talib.CROSS(reversal_points, ma5)
    # 获取至少5根均线重合的股票的连续移动平均线的交叉点
    crossover_points = talib.CROSS(reversal_points, ma4)
    # 获取至少5根均线重合的股票的连续移动平均线的交叉点
    crossover_points = talib.CROSS(reversal_points, ma3)
    # 获取至少5根均线重合的股票的连续移动平均线的交叉点
    crossover_points = talib.CROSS(reversal_points, ma2)
    # 获取至少5根均线重合的股票的连续移动平均线的交叉点
    crossover_points = talib.CROSS(reversal_points, ma1)
    # 获取至少5根均线重合的股票的连续移动平均线的交叉点
    crossover_points = talib.CROSS(prices, ma1)
    # 获取至少5根均线重合的股票的连续移动平均线的交叉点
    crossover_points = talib.CROSS(prices, ma2)
    # 获取至少5根均线重合的股票的连续移动平均线的交叉点
    crossover_points = talib.CROSS(prices, ma3)
    # 获取至少5根均线重合的股票的连续移动平均线的交叉点
    crossover_points = talib.CROSS(prices, ma4)
    # 获取至少5根均线重合的股票的连续移动平均线的交叉点
    crossover_points = talib.CROSS(prices, ma5)
    # 获取至少5根均线重合的股票的

## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

select_sentence = '市值小于100亿' #选股语句。

模板如何使用?

点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。


## 如果有任何问题请添加 下方的二维码进群提问。
![94c5cde12014f99e262a302741275d05.png](http://u.thsi.cn/imgsrc/pefile/94c5cde12014f99e262a302741275d05.png)
收益&风险
源码

评论