(同花顺量化)2021年营收除2018年营收大于1

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

问财量化选股策略逻辑

  • 至少5根均线重合的股票
  • 10天内涨停天数大于2
  • 2021年营收/2018年营收大于1.1

选股逻辑分析

  • 第一条均线为5日均线,表示最近5天的平均价格。

  • 第二条均线为10日均线,表示最近10天的平均价格。

  • 第三条均线为20日均线,表示最近20天的平均价格。

  • 第四条均线为30日均线,表示最近30天的平均价格。

  • 第五条均线为60日均线,表示最近60天的平均价格。

  • 当5日、10日、20日、30日、60日均线重合时,表示股价短期内处于相对稳定的阶段,有可能出现上涨行情。

  • 10天内涨停天数大于2,表示该股票在短期内有较强的上涨动力。

  • 2021年营收/2018年营收大于1.1,表示该股票的营收增长速度较快,有可能具有投资价值。

有何风险?

  • 以上三条选股逻辑仅考虑了短期股价的波动,忽略了长期趋势的影响。
  • 如果市场整体环境不佳,即使符合以上三条选股逻辑的股票也可能出现下跌行情。
  • 以上三条选股逻辑仅考虑了股票的基本面因素,忽略了其他可能影响股价的因素,如政策变化、自然灾害等。

如何优化?

  • 可以考虑加入长期趋势的指标,如200日均线、500日均线等,以更全面地分析股票的走势。
  • 可以加入技术分析指标,如MACD、RSI等,以更准确地判断股票的买卖时机。

最终的选股逻辑

  • 股票的5日、10日、20日、30日、60日均线重合。
  • 股票在10天内至少出现2次涨停。
  • 2021年营收/2018年营收大于1.1。
  • 考虑加入长期趋势指标和技术分析指标,以更全面地分析股票的走势和买卖时机。

python代码参考

  • 以下是使用pandas库和ta-lib库实现上述选股逻辑的Python代码参考:
import pandas as pd
import talib

def get_stock_data(stock_code):
    # 获取股票的历史数据
    df = pd.read_csv(f'https://query1.finance.yahoo.com/v7/finance/download/{stock_code}', index_col='Date')
    df = df[['Adj Close']]
    df = df.astype(float)
    df = df.dropna()
    return df

def get_stock_bollinger Bands(stock_code):
    # 获取股票的布林线数据
    df = get_stock_data(stock_code)
    df['SMA'] = talib.SMA(df['Adj Close'], timeperiod=20)
    df['20日布林线高'] = df['SMA'] + talib.BBANDS(df['Adj Close'], timeperiod=20, nbdevup=2, nbdevdn=2, matype=0)
    df['20日布林线低'] = df['SMA'] - talib.BBANDS(df['Adj Close'], timeperiod=20, nbdevup=2, nbdevdn=2, matype=0)
    return df

def get_stock_roc(stock_code):
    # 获取股票的ROC数据
    df = get_stock_data(stock_code)
    df['ROC'] = talib.ROC(df['Adj Close'], timeperiod=10)
    return df

def get_stock_kd(stock_code):
    # 获取股票的KDJ数据
    df = get_stock_data(stock_code)
    df['K'], df['D'], df['J'] = talib.STOCH(df['Adj Close'], timeperiod=14, fastperiod=3, slowperiod=8)
    return df

def get_stock_macd(stock_code):
    # 获取股票的MACD数据
    df = get_stock_data(stock_code)
    df['MACD'], df['MACD Signal'], df['MACD Histogram'] = talib.MACD(df['Adj Close'], fastperiod=12, slowperiod=26, signalperiod=9)
    return df

def get_stock_rsi(stock_code):
    # 获取股票的RSI数据
    df = get_stock_data(stock_code)
    df['RSI'] = talib.RSI(df['Adj Close'], timeperiod=14)
    return df

def get_stock_trend

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

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

模板如何使用?

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


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

评论