(同花顺量化)2021年_、KDJ刚形成金叉、至少5根均线重合的股票

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

问财量化选股策略逻辑

在问财量化选股策略中,我们采用了至少5根均线重合的股票作为筛选条件。具体来说,我们选取了5日、10日、20日、60日和120日均线,当这些均线在某一支股票的K线图上重合时,我们认为该股票可能具有较好的投资价值。

接下来,我们选取了KDJ指标作为另一个筛选条件。KDJ指标是一种常用的技术分析工具,用于判断股票的超买和超卖情况。当KDJ指标的三条线(K、D、J)形成金叉时,我们认为该股票可能具有较好的买入机会。

选股逻辑分析

这个策略的逻辑是基于技术分析的,因此存在一定的局限性。首先,技术分析只能作为参考,而不能完全依赖于它来做出买入或卖出的决策。其次,技术分析需要一定的经验和技巧,如果投资者没有足够的知识和经验,可能会在选股时出现误判。

此外,这个策略还存在一定的风险。首先,如果股票的价格波动较大,可能会导致投资者在买入或卖出时出现较大的损失。其次,如果投资者没有足够的耐心和毅力,可能会在等待均线重合和KDJ金叉的过程中错失投资机会。

如何优化?

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

  1. 增加更多的均线作为筛选条件,例如30日、90日、180日均线等,以提高策略的准确性和可靠性。

  2. 尝试使用其他技术分析工具或指标,例如MACD、布林线等,以增加策略的多样性和准确性。

  3. 考虑加入基本面分析的因素,例如公司的财务状况、盈利能力、市场竞争力等,以提高策略的长期投资价值。

最终的选股逻辑

以下是最终的选股逻辑:

  1. 选取至少5根均线重合的股票,包括5日、10日、20日、60日和120日均线。

  2. 选取KDJ指标的三条线(K、D、J)形成金叉的股票。

  3. 在满足以上两个条件的情况下,选取股票的收盘价和成交量等指标,以确定股票的买入和卖出时机。

python代码参考

以下是使用pandas和ta-Lib库实现上述策略的python代码:

import pandas as pd
import talib

def get_stock_data(symbol):
    # 获取股票的历史数据
    df = pd.read_csv('stock_data.csv')
    df = df[df['symbol'] == symbol]
    df = df[['date', 'open', 'high', 'low', 'close']]
    return df

def get_rolling_average(df, n):
    # 计算股票的n日滚动平均值
    rolling_mean = df['close'].rolling(n).mean()
    return rolling_mean

def get_kdj(df):
    # 计算KDJ指标
    df['K'] = talib.KDJ(df['close'], df['high'], df['low'], timeperiod=3)
    df['D'] = talib.KDJ(df['close'], df['high'], df['low'], timeperiod=3)
    df['J'] = talib.KDJ(df['close'], df['high'], df['low'], timeperiod=3)
    df['D1'] = talib.KDJ(df['close'], df['high'], df['low'], timeperiod=1)
    df['D2'] = talib.KDJ(df['close'], df['high'], df['low'], timeperiod=2)
    df['D3'] = talib.KDJ(df['close'], df['high'], df['low'], timeperiod=3)
    df['D4'] = talib.KDJ(df['close'], df['high'], df['low'], timeperiod=4)
    df['D5'] = talib.KDJ(df['close'], df['high'], df['low'], timeperiod=5)
    df['D6'] = talib.KDJ(df['close'], df['high'], df['low'], timeperiod=6)
    df['D7'] = talib.KDJ(df['close'], df['high'], df['low'], timeperiod=7)
    df['D8'] = talib.KDJ(df['close'], df['high'], df['low'], timeperiod=8)
    df['D9'] = talib.KDJ(df['close'], df['high'], df['low'], timeperiod=9)
    df['D10'] = talib.KDJ(df['close'], df['high'], df['low'], timeperiod=10)
    df['D11'] = talib.KDJ(df['close'], df['high'], df['low'], timeperiod=11)
    df['D1

## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

模板如何使用?

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


## 如果有任何问题请添加 下方的二维码进群提问。
![94c5cde12014f99e262a302741275d05.png](http://u.thsi.cn/imgsrc/pefile/94c5cde12014f99e262a302741275d05.png)
收益&风险
源码

评论