(同花顺量化)20日均线大于120日均线_、KDJ刚形成金叉、至少5根均线重合的股票

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

问财量化选股策略逻辑

  • 至少5根均线重合的股票
  • KDJ刚形成金叉
  • 20日均线大于120日均线

选股逻辑分析

这个策略的逻辑是基于技术分析,寻找股票的买入信号。首先,需要至少5根均线重合,这表明股票价格在不同时间段内的趋势是稳定的,有助于降低买入的风险。其次,KDJ指标刚刚形成金叉,表示股票价格已经进入上升趋势,买入信号较强。最后,20日均线大于120日均线,表示股票价格已经进入长期上升趋势,买入更加安全。

有何风险?

这个策略的买入信号可能过于频繁,导致交易次数过多,增加交易成本和风险。此外,如果股票价格在短期内出现回调,可能会导致投资者出现亏损。

如何优化?

可以考虑加入更多的技术指标,例如布林线、MACD等,以提高策略的准确性和稳定性。同时,可以考虑加入股票的财务数据和基本面分析,以更好地判断股票的价值和未来走势。

最终的选股逻辑

import talib
import pandas as pd

def check_5均线策略(df):
    # 获取股票的收盘价和时间序列
    close_prices = df['close'].values
    time序列 = df['date'].values
    
    # 计算5日、10日、20日、60日和120日均线
    ma5 = talib.MA(close_prices, timeperiod=5)
    ma10 = talib.MA(close_prices, timeperiod=10)
    ma20 = talib.MA(close_prices, timeperiod=20)
    ma60 = talib.MA(close_prices, timeperiod=60)
    ma120 = talib.MA(close_prices, timeperiod=120)
    
    # 检查5日、10日、20日均线是否重合
    if ma5[-1] == ma10[-1] == ma20[-1]:
        return True
    
    # 检查KDJ指标是否金叉
    if talib.KDJ(close_prices[-1], timeperiod=9)[-1] > talib.KDJ(close_prices[-2], timeperiod=9)[-1] and talib.KDJ(close_prices[-1], timeperiod=9)[-1] > talib.KDJ(close_prices[-3], timeperiod=9)[-1]:
        return True
    
    # 检查20日均线是否大于120日均线
    if ma20[-1] > ma120[-1]:
        return True
    
    # 如果以上条件都不满足,则返回False
    return False

python代码参考

import talib
import pandas as pd

def check_5均线策略(df):
    # 获取股票的收盘价和时间序列
    close_prices = df['close'].values
    time_sequence = df['date'].values
    
    # 计算5日、10日、20日、60日和120日均线
    ma5 = talib.MA(close_prices, timeperiod=5)
    ma10 = talib.MA(close_prices, timeperiod=10)
    ma20 = talib.MA(close_prices, timeperiod=20)
    ma60 = talib.MA(close_prices, timeperiod=60)
    ma120 = talib.MA(close_prices, timeperiod=120)
    
    # 检查5日、10日、20日均线是否重合
    if ma5[-1] == ma10[-1] == ma20[-1]:
        return True
    
    # 检查KDJ指标是否金叉
    if talib.KDJ(close_prices[-1], timeperiod=9)[-1] > talib.KDJ(close_prices[-2], timeperiod=9)[-1] and talib.KDJ(close_prices[-1], timeperiod=9)[-1] > talib.KDJ(close_prices[-3], timeperiod=9)[-1]:
        return True
    
    # 检查20日均线是否大于120日均线
    if ma20[-1] > ma120[-1]:
        return True
    
    # 如果以上条件都不满足,则返回False
    return False

如何进行量化策略实盘?

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

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

模板如何使用?

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

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

94c5cde12014f99e262a302741275d05.png

收益&风险
源码

评论

需要帮助?

试试AI小助手吧