问财量化选股策略逻辑
ma240 = ma(df['close'], 240)
if ma240 > 0:
df['ma240'] = ma240
df['last_5_days_rise'] = (df['close'] - df['close'].shift(5)) / df['close'].shift(5) * 100
if df['last_5_days_rise'].max() > -4:
df['last_5_days_rise'] = df['last_5_days_rise'].apply(lambda x: 1 if x > 0 else 0)
df['is_gain'] = df['last_5_days_rise'].rolling(window=6).sum() > 0
if df['is_gain'].rolling(window=30).mean() > 0:
df['buy_signal'] = True
else:
df['buy_signal'] = False
选股逻辑分析
以上逻辑是基于均线理论和动量理论进行的选股,即如果股票价格在过去240天内的平均值高于0,且过去5天内的上涨幅度大于-4%,并且最近30天内的买入信号持续出现,则认为该股票有投资价值。
有何风险?
虽然这种策略在一定程度上能够筛选出具有潜力的投资机会,但是也存在一定的风险:
- 选择的时间窗口不合适,可能会错过某些好的买入时机。
- 对于市场的波动过于敏感,可能会在市场下跌时产生大量的止损交易,从而导致损失。
- 忽视了公司的基本面情况,仅依赖技术指标进行决策。
如何优化?
为了降低上述风险,可以考虑以下几种优化方式:
- 调整时间窗口,例如使用更长的时间周期来观察市场趋势。
- 结合公司基本面数据进行决策,例如查看公司的财务报告、行业地位等信息。
- 在使用技术指标时,可以结合其他因素进行综合判断,如RSI、MACD等。
最终的选股逻辑
对于满足以下条件的股票,视为买入信号:
- 股票价格在过去240天内的平均值高于0。
- 过去5天内的上涨幅度大于-4%。
- 最近30天内的买入信号持续出现。
常见问题
什么是滚动
如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击页面下方的复制按钮,复制到自己的账户即可使用模板进行回测。