(i问财选股策略)换手率_2%且_9%_、收盘价_boll(upper值)且收盘价_bol

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

问财量化选股策略逻辑

这个策略基于以下三个条件来筛选股票:

  1. 至少5根均线重合的股票
  2. 收盘价<boll(upper值)且收盘价>boll(mid值)
  3. 换手率>2%且<9%

选股逻辑分析

这个策略旨在寻找那些具有低换手率和高股价波动性的股票。首先,策略筛选出至少5根均线重合的股票,这表明该股票的价格趋势相对稳定。然后,策略要求股票收盘价在布林带上轨和中轨之间,这表明该股票的价格有上涨潜力。最后,策略要求股票换手率在2%到9%之间,这表明该股票的交易活跃度适中。

有何风险?

这个策略存在以下风险:

  1. 该策略可能无法准确预测股票的价格走势。
  2. 该策略可能无法准确预测股票的换手率。
  3. 该策略可能无法准确预测布林带的上轨和中轨。

如何优化?

为了优化这个策略,可以考虑以下几点:

  1. 使用更多的均线来筛选股票,以提高策略的准确性。
  2. 使用其他技术指标来预测股票的价格走势和换手率。
  3. 调整布林带的参数,以更好地反映股票的价格波动性。

最终的选股逻辑

以下是一个基于以上条件的完整策略:

import talib

def boll_upper(boll):
    return boll[1] + (2 * (boll[2] - boll[1])) + (2 * (boll[3] - boll[2]))

def boll_mid(boll):
    return (boll[1] + boll[2] + boll[3]) / 3

def select_stock():
    stocks = get_stocks()
    filtered_stocks = []
    for stock in stocks:
        ma5 = talib.MA(stock['close'], timeperiod=5)
        ma10 = talib.MA(stock['close'], timeperiod=10)
        ma20 = talib.MA(stock['close'], timeperiod=20)
        ma50 = talib.MA(stock['close'], timeperiod=50)
        upper = boll_upper([ma5, ma10, ma20, ma50])
        mid = boll_mid([ma5, ma10, ma20, ma50])
        if len(ma5) >= 5 and stock['close'] < upper and stock['close'] > mid and stock['volume'] > 2 and stock['volume'] < 9:
            filtered_stocks.append(stock)
    return filtered_stocks

python代码参考

import talib

def boll_upper(boll):
    return boll[1] + (2 * (boll[2] - boll[1])) + (2 * (boll[3] - boll[2]))

def boll_mid(boll):
    return (boll[1] + boll[2] + boll[3]) / 3

def select_stock():
    stocks = get_stocks()
    filtered_stocks = []
    for stock in stocks:
        ma5 = talib.MA(stock['close'], timeperiod=5)
        ma10 = talib.MA(stock['close'], timeperiod=10)
        ma20 = talib.MA(stock['close'], timeperiod=20)
        ma50 = talib.MA(stock['close'], timeperiod=50)
        upper = boll_upper([ma5, ma10, ma20, ma50])
        mid = boll_mid([ma5, ma10, ma20, ma50])
        if len(ma5) >= 5 and stock['close'] < upper and stock['close'] > mid and stock['volume'] > 2 and stock['volume'] < 9:
            filtered_stocks.append(stock)
    return filtered_stocks

如何进行量化策略实盘?

请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

模板如何使用?

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

如果有任何问题请添加 下方的二维码进群提问。

94c5cde12014f99e262a302741275d05.png

收益&风险
源码

评论