(同花顺量化)2019分红比例>25%_、大单净量排行、至少5根均线重合的股票

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

问财量化选股策略逻辑

  • 至少5根均线重合的股票
  • 大单净量排行
  • 2019分红比例>25%

选股逻辑分析

  • 这个策略基于技术分析和基本面分析。首先,筛选出至少5根均线重合的股票,这表明这些股票的短期和中期趋势一致,有可能出现趋势反转或加速上涨的情况。其次,选择大单净量排行榜,这表明这些股票有较强的市场人气和资金流入,可能更容易上涨。最后,选择2019分红比例>25%的股票,这表明这些公司具有较好的盈利能力,可能更有可能继续上涨。

有何风险?

  • 这个策略可能无法准确预测股票的未来表现。因为技术分析和基本面分析都存在一定的误差和不确定性,因此无法保证这些股票一定会上涨。

如何优化?

  • 可以考虑加入更多的技术指标和基本面指标,以更准确地预测股票的未来表现。例如,可以加入MACD指标、布林线等技术指标,以及市盈率、市净率等基本面指标。

最终的选股逻辑

  • 筛选出至少5根均线重合的股票
  • 选择大单净量排行榜前100名的股票
  • 选择2019分红比例>25%的股票
  • 加入MACD指标、布林线等技术指标
  • 加入市盈率、市净率等基本面指标

python代码参考

import talib
import pandas as pd

def get_stock_data():
    # 获取股票数据
    df = pd.read_csv('stock_data.csv')
    return df

def get_moving_average(df, n):
    # 计算n日移动平均线
    MA = talib.MA(df['close'], n)
    df['MA'] = MA
    return df

def get_bollinger_bands(df, n):
    # 计算n日布林线
    upper, middle, lower = talib.BBANDS(df['close'], n, m=2, upperBandType='upper', lowerBandType='lower')
    df['upper'] = upper
    df['middle'] = middle
    df['lower'] = lower
    return df

def get_volume_data(df):
    # 获取成交量数据
    df['volume'] = df['volume'].diff()
    df['volume'] = df['volume'].fillna(0)
    return df

def get_dividend_data(df):
    # 获取分红数据
    df['dividend'] = df['dividend'].diff()
    df['dividend'] = df['dividend'].fillna(0)
    return df

def get_signal(df):
    # 计算买入/卖出信号
    MA = df['MA']
    upper = df['upper']
    lower = df['lower']
    df['signal'] = np.where((MA > upper) & (MA > lower), 1, 0)
    df['signal'] = np.where((MA < upper) & (MA < lower), -1, df['signal'])
    return df

def get_positions(df):
    # 获取持仓数据
    df['position'] = df['position'].diff()
    df['position'] = df['position'].fillna(0)
    return df

def get_return(df):
    # 计算收益率
    df['return'] = df['close'].pct_change()
    return df

def get_analysis(df):
    # 进行数据分析
    df = get_stock_data()
    df = get_moving_average(df, 5)
    df = get_bollinger_bands(df, 5)
    df = get_volume_data(df)
    df = get_dividend_data(df)
    df = get_signal(df)
    df = get_positions(df)
    df = get_return(df)
    return df

def optimize_analysis(df):
    # 进行优化
    df = get_stock_data()
    df = get_moving_average(df, 5)
    df = get_bollinger_bands(df, 5)
    df = get_volume_data(df)
    df = get_dividend_data(df)
    df = get_signal(df)
    df = get_positions(df)
    df = get_return(df)
    df = get_analysis(df)
    return df

def final_analysis(df):
    # 最终分析
    df = get_stock_data()
    df = get_moving_average(df, 5)
    df = get_bollinger_bands(df, 5)
    df = get_volume_data(df)
    df = get_dividend_data(df)
    df = get_signal(df)
    df = get_positions(df)
    df = get_return(df)
    df

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

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

模板如何使用?

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


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

评论

需要帮助?

试试AI小助手吧