(同花顺量化)100亿市值以内的无亏损企业_、价格<12、rsi小于65

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

问财量化选股策略逻辑

选股逻辑:选择RSI小于65、价格小于12元、市值小于100亿且近5年无亏损的企业。

选股逻辑分析

该选股策略考虑了技术面和基本面,主要考虑了RSI、价格和市值等技术指标以及企业的盈利能力。可以筛选出估值合理、风险较低的股票。

有何风险?

只考虑市值和盈利能力等基本面指标,可能会错过某些高成长性和高风险的个股。另外,单一的技术指标也容易被市场大势所左右,需要结合其他的指标进行综合考虑。

如何优化?

除了考虑市值和盈利能力等基本面指标,还应考虑市场情绪指标、宏观经济指标以及其他的基本面指标,综合考虑各种因素可以增加策略的可靠性和市场机会把握的机率。

最终的选股逻辑

选股逻辑:选择RSI小于65、价格小于12元、市值小于100亿且近5年无亏损的企业,同时考虑市场情绪指标、宏观经济指标和其他的基本面指标。

同花顺指标公式代码参考

  • RSI小于65:RSI(6)<65
  • 价格小于12元:CLOSE<12
  • 市值小于100亿:CAPITALIZATION < 100
  • 近5年无亏损:NOT(ISFINSTALL(FINANCE.INCOME_STATEMENT.PROFIT, 5))

python代码参考

通过聚宽等股票API获取数据,代码示例:

import jqdatasdk as jq
jq.auth('username', 'password')  # jq 连接凭证

# 定义股票筛选条件
cond1 = jq.query(jq.valuation).filter(
    jq.valuation.market_cap < 100e8,  # 市值小于100亿
    jq.income_statement.net_profit > 0,  # 近5年均无亏损
    jq.income_statement.net_profit_ratio > 0,  # 近5年均有净利率
    jq.income_statement.operating_revenue > 1e9,  # 近5年均有营业收入
    jq.balance_sheet.total_liability/jq.balance_sheet.total_assets < 0.7,  # 近5年均有资产负债率
)

# 根据选股条件进行筛选股票
q1 = jq.query(
    jq.valuation,  # valuation 表
    jq.balance_sheet.long_term_liability,  # 长期负债
    jq.balance_sheet.total_assets,  # 总资产
    jq.finance.STK_LIST_DATE,  # 上市日期
    jq.finance.STK_BOARDDIR,  # 上市板块
    jq.finance.STK_STATUS,  # 上市状态
    jq.finance.STK_NAME,  # 股票名称
    jq.finance.STK_EXCHANGE, # 所属交易所
).filter(
    jq.valuation.code.in_(
        cond1.order_by(
            -jq.valuation.market_cap,
        ).limit(2000).code.values.tolist()
    ),
    jq.valuation.code.not_like('*ST%'),  # 过滤掉ST类股票
    jq.valuation.start_date < '2010-01-01',  # 上市时间过短的股票将被过滤
)

# 策略选股
stocks = []
for stock in q1:
    # 获取股票K线数据
    k_data = jq.get_price(stock.code, count=10, end_date=context.current_dt.strftime('%Y-%m-%d'), frequency='daily')
    # 获取近10个交易日收盘价、开盘价
    close_prices = k_data['close'].values
    open_prices = k_data['open'].values
    # 计算10日涨幅
    change = (close_prices - open_prices) / open_prices
    # 筛选条件
    if (
        NOT(ISFINSTALL(FINANCE.INCOME_STATEMENT.PROFIT, 5))
        and stock.RSI6 < 65
        and stock.close < 12
        and stock.market_capitalization < 100e8
        and stock.change[-1] > 0
    ):
        stocks.append(stock.code)

# 以结果长度为30进行选股
selected_stocks = stocks[:30]
    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

    模板如何使用?

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


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

评论