问财量化选股策略逻辑
- 至少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亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
如果有任何问题请添加 下方的二维码进群提问。


