(iwencai选股策略)今日上涨_1主板_、10日涨幅大于0小于35、至少5根均线重合的

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

问财量化选股策略逻辑

  • 至少5根均线重合的股票
  • 10日涨幅大于0小于35
  • 今日上涨>1主板

选股逻辑分析

这个策略的逻辑是基于技术分析的,通过分析股票的均线、涨幅和主板情况来筛选出符合条件的股票。其中,至少5根均线重合的股票意味着股票的短期和中期趋势比较稳定,而10日涨幅大于0小于35则表示股票近期有一定的上涨趋势,但涨幅不是很大,符合稳健投资的需要。今日上涨>1主板则表示股票所在板块整体表现良好,有助于股票的上涨。

有何风险?

这个策略的逻辑相对简单,但仍然存在一定的风险。首先,技术分析并不是完全可靠的,因为股票价格的走势受到多种因素的影响,包括市场情绪、公司业绩等。其次,即使股票符合策略的条件,也不一定能够带来收益,因为股票市场的波动性很大。最后,如果策略的参数设置不当,可能会导致误选股票,从而增加投资风险。

如何优化?

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

  • 选择更多的均线作为参考,例如12日、26日等,以更好地反映股票的中期趋势。
  • 适当调整策略的参数,例如涨幅和主板条件的限制,以适应不同的市场环境。
  • 结合其他因素,例如公司的财务数据、行业发展趋势等,以更全面地评估股票的投资价值。

最终的选股逻辑

  • 筛选出至少5根均线重合的股票
  • 筛选出10日涨幅大于0小于35的股票
  • 筛选出今日上涨>1主板的股票
  • 结合财务数据、行业发展趋势等其他因素,对股票进行综合评估

python代码参考

以下是基于pandas和ta-lib库的Python代码实现:

import pandas as pd
import talib

def get_rolling_ma(df, n):
    """计算股票的n日滚动平均值"""
    ma = pd.Series(df['close'].rolling(n).mean(), name='rolling_ma_' + str(n))
    df = df.join(ma)
    return df

def get_bollinger_bands(df, n):
    """计算股票的n日布林线"""
    upper, middle, lower = talib.BBANDS(df['close'], timeperiod=n, Bands=[0.2, 0.5, 1.0])
    df = df.join(pd.DataFrame({'upper': upper, 'middle': middle, 'lower': lower}))
    return df

def get策略数据(df):
    """筛选出符合条件的股票"""
    ma5 = get_rolling_ma(df, 5)
    ma10 = get_rolling_ma(df, 10)
    ma20 = get_rolling_ma(df, 20)
    ma60 = get_rolling_ma(df, 60)
    ma120 = get_rolling_ma(df, 120)
    ma252 = get_rolling_ma(df, 252)
    upper = get_bollinger_bands(df, 3)
    middle = get_bollinger_bands(df, 10)
    lower = get_bollinger_bands(df, 20)
    df = df.join(pd.DataFrame({'ma5': ma5['rolling_ma_5'], 'ma10': ma10['rolling_ma_10'], 'ma20': ma20['rolling_ma_20'], 'ma60': ma60['rolling_ma_60'], 'ma120': ma120['rolling_ma_120'], 'ma252': ma252['rolling_ma_252'], 'upper': upper['upper'], 'middle': middle['middle'], 'lower': lower['lower']}))
    return df

def get策略数据筛选后的数据(df):
    """筛选出符合条件的股票"""
    df = df[df['ma5'] > 0 and df['ma10'] > 0 and df['ma20'] > 0 and df['ma60'] > 0 and df['ma120'] > 0 and df['ma252'] > 0 and df['upper'] < 3 and df['middle'] < 3 and df['lower'] < 3]
    return df

如何进行量化策略实盘?

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

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

模板如何使用?

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

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

94c5cde12014f99e262a302741275d05.png

收益&风险
源码

评论