(supermind量化策略)a1/rsi小于65、今日上涨>1主板、2021年营收除20

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

问财量化选股策略逻辑

本选股策略为:RSI指标小于65,今日上涨幅度大于1%,选择主板股票,要求2021年营收/2018年营收大于1.1。通过选择符合以上条件的股票进行投资,期望在股票涨势稳定的基础上实现长期稳健盈利。

选股逻辑分析

该选股策略在原有技术指标与市场走势的基础上加入了公司基本面数据,更注重公司的长期价值和发展潜力。通过要求2021年营收/2018年营收大于1.1,筛选出具有稳定增长长期性质的公司,可以更好地平衡投资风险和收益,增加盈利空间。

有何风险?

该选股逻辑过于注重基本面数据,可能忽略了市场情况和其他细节因素对于股价走势的影响,带来一定的风险。同时,选股的依据是公司营收情况,不能完全代表企业整体价值,存在营收造假和财报数据调整等因素,需要谨慎操作。

如何优化?

为了更好地平衡基本面数据和市场走势,可以引入其他指标进行筛选,例如,可以考虑筛选稳定的盈利增长率和股东回报率高的公司。并且,可以结合市场热点和趋势,对选股策略进行优化和调整。不断地了解公司的基本面数据和市场情况,分析股票走势与财务表现之间的联系,更好地进行选股操作。

最终的选股逻辑

本选股策略为:RSI指标小于65,今日上涨幅度大于1%,选择主板股票,要求2021年营收/2018年营收大于1.1。在充分考虑市场情况和基本面数据的基础上,选择符合条件的股票,认真研究其实际情况和市场表现,并进行风险控制管理。在选股过程中,坚持价值投资、长期资产理念,注重全面考虑公司的基本面和规模优势。

同花顺指标公式代码参考

// 建立选股语句
SELECT * FROM (
    SELECT STOCKDAYS.*, STRTOTWELVE(STOCKDAYS.CURRENTRATIO) AS RATIO_YEAR_2018, STRTOTWELVE(EVAL("STR(STOCKDAYS.\"YEAR\")>=\"2019\",STR(STOCKDAYS.\"BASEREVNUE\")/STR(STOCKDAYS.\"TOTHOLDEREQY\")*100,0.0)) AS RATIO_YEAR_2021,
    (STOCKDAYS.CLOSE > MAX(STOCKDAYS.CLOSE, 1)) AS IS_HIGHEST,
    (STOCKDAYS.TRADEDATE=DATEADD('D', -1, CURDATE())) AS IS_UP
    FROM STOCKDAYS
    WHERE STOCKDAYS.TRADEDATE=DATEADD('D', -1, CURDATE()) AND STOCKDAYS.CLOSE > STOCKDAYS.OPEN
) FINAL
WHERE RSI(14) < 65 AND FINAL.IS_UP = 1 AND FINAL.IS_HIGHEST = 1 
AND FINAL.RATIO_YEAR_2021/FINAL.RATIO_YEAR_2018 > 1.1 AND FINAL.SECURITYTYPE=1 AND (FINAL.EXCHANGE='SZSE' OR FINAL.EXCHANGE='SSE')
ORDER BY FINAL.CLOSE DESC;

python代码参考

# 导入需要使用的库
import pandas as pd
import tushare as ts
import numpy as np
import talib

# 选股函数
def stock_picking(data):
    # 计算RSI指标、涨幅、是否为两日最高点、2021年营收/2018年营收
    rsi = talib.RSI(data['close'], timeperiod=14)
    daily_return = data['close'].pct_change()
    is_highest = data['close'] == data['close'].rolling(window=2).max()
    revenue_change = data['baserevenue'][data['year']==2021].values[0] / data['holderEquity'][data['year']==2018].values[0]
    
    # 筛选符合条件的股票,并剔除ST和停牌股票
    filter_cond = (rsi < 65) & (daily_return > 0.01) & (is_highest) & 
                  ((data['exchange'] == 'SZSE') | ((data['exchange'] == 'SSE') & (data['market'] == '主板'))) & 
                  (revenue_change > 1.1)
    filter_data = data[filter_cond]
    stock_list = filter_data.index.tolist()
    
    return stock_list
    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

    模板如何使用?

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


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

评论