(supermind量化策略)a1/rsi小于65、外盘除内盘大于1

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

问财量化选股策略逻辑

选股逻辑包括:RSI指标小于65、外盘/内盘比值大于1.3、市值小于100亿且最近净利润为正的企业。

选股逻辑分析

该选股策略综合考虑了技术面和基本面因素。其中RSI指标和外盘/内盘比值的筛选条件为技术面指标,市值和净利润为基本面指标。通过加入对市值和净利润的考虑,可以为选股策略增加更多的基本面支撑,降低风险。相对于仅根据技术面指标进行选股,该策略的长期收益更具有可靠性。

有何风险?

该选股策略可能存在一定风险。一方面100亿市值以内的上市公司相对于整个A股市场而言数量较多,对于初学者和没有经验的投资者来说可能不易进行精准筛选;另一方面,由于当前市场环境和行业发展很难预测,市值和净利润对股票的影响相对较小,筛选方案分类较为单一,缺乏多维度的指标综合分析。同时,该选股方案仅仅考虑了市值和净利润为正,可能没有考虑到欠发达地区的潜力和成长性。

如何优化?

为了进一步完善该选股策略,可以考虑以下方面进行优化:

  1. 将市值和净利润等基本面指标替换为更具有代表性的因子,如市盈率、市净率等,增加维度的筛选,提高选股质量。
  2. 建立起科学的指标分析体系,参考和借鉴国内外权威学者的选股思路,对市场环境进行先期分析和预判,确保选股策略可靠性和稳定性。
  3. 利用人工智能和量化投资等先进技术对选股策略进行优化和测试,应用机器学习技术,提高选股策略的智能化和可靠性。

最终的选股逻辑

选股逻辑包括:RSI指标小于65、外盘/内盘比值大于1.3、市值小于100亿,最近净利润为正的公司,同时综合考虑其他因素,例如市盈率、市净率等。

同花顺指标公式代码参考

无特定技术指标,只需要获取股票的RSI、内外盘比值、市值、净利润等数据并进行简单筛选即可。

python代码参考

import akshare as ak

# 获取当前A股股票列表
stock_list = ak.stock_zh_a_spot_em()

picked_stocks = []
for stock_code in stock_list.index:
    # 获取股票代码和市值
    if not str(stock_code).startswith("6") and not str(stock_code).startswith("0"):
        continue
    try:
        _, quote = ak.stock_zh_a_spot(stock_code)
        market_value = float(quote.iloc[0]["市值"])
    except Exception:
        continue
    if market_value > 100:
        continue
    # 获取净利润
    finance = ak.stock_financial_statement_sina(stock_code, year=2020, quarter=4)
    if finance is None or finance.empty:
        continue
    profit = float(finance.loc["净利润"]["归属于母公司股东的净利润"])
    if profit <= 0:
        continue
    # 获取股票数据
    history_quotes = ak.stock_zh_a_daily(stock_code, start_date="20210101")
    if history_quotes is None or len(history_quotes) < 10:
        continue
    ten_day_chg = (history_quotes.iloc[-1]["close"] - history_quotes.iloc[-10]["close"]) / history_quotes.iloc[-10]["close"] * 100
    if ten_day_chg <= 0 or ten_day_chg >= 35:
        continue
    rsi = ak.stock_zh_index_daily_tx(stock_code, start_date="20210101")
    if rsi is None or len(rsi) < 14 or rsi.iloc[-1]["rsi14"] >= 65:
        continue
    quotes_snap = ak.stock_zh_a_quote_sina(stock_code)
    if quotes_snap is None or " Outer" not in quotes_snap["in_out_ratio"]:
        continue
    out_in_ratio = float(quotes_snap["in_out_ratio"].split()[0])
    if out_in_ratio <= 1.3:
        continue
    picked_stocks.append({"code": stock_code, "name": stock_list.loc[stock_code]["名称"]})
# 输出符合条件的股票代码和名称
for stock in picked_stocks:
    print(f"{stock['code']}、{stock['name']}")

在原有的基础上,增加了市值和最近净利润为正的筛选条件,同时保留了10日涨幅、RSI和内外盘比值等技术面指标,以及股票实时行情的监测,避免选出即将下跌的股票。

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

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

    模板如何使用?

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


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

评论