(同花顺量化)2019分红比例>25%_、股价为18

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

问财量化选股策略逻辑

首先,我们需要找到至少5根均线重合的股票。这可以通过计算股票的均线数量来实现。我们可以使用以下代码:

def count均线数量(df):
    # 计算股票的均线数量
    num均线 = df['close'].rolling(window=5).apply(lambda x: x.count())
    return num均线

接下来,我们需要找到股价为18.5元的股票。这可以通过筛选股票的收盘价来实现。我们可以使用以下代码:

def find_price_185(df):
    # 筛选出收盘价为18.5元的股票
    price_185 = df['close'].apply(lambda x: x == 18.5)
    return price_185

然后,我们需要找到2019分红比例>25%的股票。这可以通过筛选股票的分红比例来实现。我们可以使用以下代码:

def find_dividend_ratio(df):
    # 筛选出分红比例大于25%的股票
    dividend_ratio = df['dividend'].apply(lambda x: x / df['close'] * 100 > 25)
    return dividend_ratio

最后,我们需要将以上三个筛选条件组合在一起。我们可以使用以下代码:

def combine筛选条件(df):
    # 将三个筛选条件组合在一起
    result = df[(count均线数量(df) >= 5) & (find_price_185(df)) & (find_dividend_ratio(df))]
    return result

选股逻辑分析

以上策略通过计算股票的均线数量、筛选收盘价为18.5元的股票、筛选分红比例大于25%的股票,从而找到至少5根均线重合、股价为18.5元、2019分红比例大于25%的股票。该策略可能有助于找到具有稳定趋势和高分红潜力的股票。

有何风险?

该策略可能无法考虑到其他因素,例如公司的财务状况、行业发展趋势等。此外,该策略可能无法准确预测股票的未来表现。

如何优化?

我们可以尝试加入其他筛选条件,例如公司的市盈率、市净率等,以更好地评估股票的价值。此外,我们还可以尝试使用不同的技术指标来筛选股票,例如移动平均线、布林线等。

最终的选股逻辑

最终的选股逻辑如下:

def final_selection(df):
    # 计算股票的均线数量
    num均线 = df['close'].rolling(window=5).apply(lambda x: x.count())
    # 筛选出收盘价为18.5元的股票
    price_185 = df['close'].apply(lambda x: x == 18.5)
    # 筛选出分红比例大于25%的股票
    dividend_ratio = df['dividend'].apply(lambda x: x / df['close'] * 100 > 25)
    # 将三个筛选条件组合在一起
    result = df[(count均线数量(df) >= 5) & (find_price_185(df)) & (find_dividend_ratio(df))]
    return result

python代码参考

def count均线数量(df):
    # 计算股票的均线数量
    num均线 = df['close'].rolling(window=5).apply(lambda x: x.count())
    return num均线

def find_price_185(df):
    # 筛选出收盘价为18.5元的股票
    price_185 = df['close'].apply(lambda x: x == 18.5)
    return price_185

def find_dividend_ratio(df):
    # 筛选出分红比例大于25%的股票
    dividend_ratio = df['dividend'].apply(lambda x: x / df['close'] * 100 > 25)
    return dividend_ratio

def combine筛选条件(df):
    # 将三个筛选条件组合在一起
    result = df[(count均线数量(df) >= 5) & (find_price_185(df)) & (find_dividend_ratio(df))]
    return result

def final_selection(df):
    # 计算股票的均线数量
    num均线 = df['close'].rolling(window=5).apply(lambda x: x.count())
    # 筛选出收盘价为18.5元的股票
    price_185 = df['close'].apply(lambda x: x == 18.5)
    # 筛选出分红比例大于25%的股票
    dividend_ratio = df['dividend'].apply(lambda x: x / df['close'] * 100 > 2

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

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

模板如何使用?

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


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

评论