量化交易社区策略-涨幅2%-7%、剔除股价大于50元、roe由大到小

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

问财量化选股策略逻辑

本篇文章将介绍一种选股策略,该策略基于涨幅、市盈率(PE)、市净率(PB)和净资产收益率(ROE)等指标。该策略旨在选出具有较高 ROE 和较低 PE 的股票,以实现长期投资回报。

选股逻辑分析

首先,我们筛选出涨幅在 2% 到 7% 之间的股票,剔除股价大于 50 元的股票。这样可以保证我们只选出具有较好表现的股票。

其次,我们根据市盈率(PE)从大到小对筛选出的股票进行排序。市盈率是评估股票估值的重要指标,低市盈率意味着股票被低估,而高市盈率则意味着股票被高估。

最后,我们根据净资产收益率(ROE)从大到小对排序后的股票进行排序。净资产收益率是衡量公司盈利能力的重要指标,高 ROE 意味着公司盈利能力强。

有何风险?

该策略存在以下风险:

  1. 市场风险:股票价格受市场整体走势影响,可能出现波动。
  2. 行业风险:不同行业的发展前景不同,选股时可能存在风险。
  3. 技术风险:选股策略可能受到技术因素的影响,如计算机错误等。

如何优化?

为了优化该策略,我们可以考虑以下方法:

  1. 增加指标:可以增加其他指标,如市值、股息率等,以提高选股的准确性。
  2. 调整阈值:可以调整筛选股票的指标阈值,如将市盈率门槛调整 lower,或增加净资产收益率门槛。
  3. 降低风险:可以降低投资风险,如通过分散投资、止损等方式。

最终的选股逻辑

综上所述,我们可以得出以下选股逻辑:

  1. 涨幅在 2% 到 7% 之间,剔除股价大于 50 元的股票。
  2. 根据市盈率(PE)从大到小对筛选出的股票进行排序。
  3. 根据净资产收益率(ROE)从大到小对排序后的股票进行排序。

常见问题

  1. 该策略是否适用于所有市场?
    答:该策略适用于可以获取股票市场信息的市场。
  2. 该策略是否需要考虑其他因素?
    答:该策略只是基于指标筛选股票,并不需要考虑其他因素,但实际投资时还需要考虑其他因素,如市场风险、行业风险等。
  3. 该策略的收益如何?
    答:该策略的收益取决于股票的选择和市场走势,存在投资风险。

指标公式代码参考

以下是通达信和同花顺的指标公式代码:

通达信指标公式代码:

NONE
DEFINE VARIA
    SMA1 = SMA(CLOSE, 10);
    SMA2 = SMA(CLOSE, 20);
    SMA3 = SMA(CLOSE, 30);
    SMA4 = SMA(CLOSE, 40);
    SMA5 = SMA(CLOSE, 50);
    SMA6 = SMA(CLOSE, 60);
    SMA7 = SMA(CLOSE, 70);
    SMA8 = SMA(CLOSE, 80);
    SMA9 = SMA(CLOSE, 90);
    SMA10 = SMA(CLOSE, 100);
END;
DEFINE FUNCTION SELECT_STOCK(stock_list *p_stock_list, stock_num *p_stock_num)
    DEFINE i, j, k, roe, pe;
    FOR i = 0 TO p_stock_num - 1 DO
        roe = SELECT(DIVIDE(PAIE, PAPER_AMT), stock_list[i].stock_name);
        pe = SELECT(P_EPEXP, stock_list[i].stock_name);
        IF roe > 0.1 AND pe < 10 THEN
            k = i;
            EXIT;
        END IF;
    ENDFOR;
    RETURN k;
END;

同花顺指标公式代码:

NONE
DEFINE VARI
    SMA1 = SMA(CLOSE, 10);
    SMA2 = SMA(CLOSE, 20);
    SMA3 = SMA(CLOSE, 30);
    SMA4 = SMA(CLOSE, 40);
    SMA5 = SMA(CLOSE, 50);
    SMA6 = SMA(CLOSE, 60);
    SMA7 = SMA(CLOSE, 70);
    SMA8 = SMA(CLOSE, 80);
    SMA9 = SMA(CLOSE, 90);
    SMA10 = SMA(CLOSE, 100);
END;
DEFINE FUNCTION SELECT_STOCK(stock_list *p_stock_list, stock_num *p_stock_num)
    DEFINE i, j, k, roe, pe;
    FOR i = 0 TO p_stock_num - 1 DO
        roe = SELECT(DIVIDE(PAIE, PAPER_AMT), stock_list[i].stock_name);
        pe = SELECT(P_EPEXP, stock_list[i].stock_name);
        IF roe > 0.1 AND pe < 10 THEN
            k = i;
            EXIT;
        END IF;
    ENDFOR;
    RETURN k;
END;

注意:在使用指标公式代码前,请先定义相关变量,并确保正确连接数据库。

如何进行量化策略实盘?

请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

模板如何使用?

点击页面下方的复制按钮,复制到自己的账户即可使用模板进行回测。
收益&风险
源码

评论

需要帮助?

试试AI小助手吧