(supermind)振幅大于1、机器人概念且流通市值小于100亿、60开头的股票_

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

问财量化选股策略逻辑

选股逻辑:振幅大于1, 机器人概念且流通市值小于100亿, 60开头的股票。

选股逻辑分析

该选股策略选择了波动性较大、具有机器人概念、流通市值小于100亿且股票代码以60开头的股票。这种选股策略更关注企业的技术面特征而非基本面,因此投资者需仔细评估其风险和回报,不可一味追求高收益而忽略公司业绩和财务表现等实质因素。

有何风险?

该选股策略忽略了企业的财务表现等实质因素,因此在选择投资标的时存在着较大的风险。此外,选择开头为60的股票可能导致投资集中于某些板块和行业,容易被行业风险影响。还有可能因为仅仅关注技术面而忽略其他股市因素导致投资偏差。

如何优化?

该选股策略可优化如下:在关注企业的技术面特征的同时,加入更多的基本面指标,如PE、市净率、ROE、营收、净利等有助于评估企业的业绩、财务状况和估值情况,避免股票被高估或低估。同时,在股票代码的选择上,可以扩大区间范围,避免选择过于局限于特定的板块和行业。

最终的选股逻辑

经过改进后,我们提出以下选股逻辑:

  1. 振幅大于1;
  2. 机器人概念且流通市值小于100亿;
  3. 股票代码以60开头;
  4. 综合考虑技术面和基本面指标;
  5. 扩大区间范围,避免选择过于局限于特定的板块和行业。

同花顺指标公式代码参考

以下是通达信指标的代码示例:

F01:HIGH / LOW - 1 > 0.01; // 振幅大于1
F02:CONCEPT("机器人概念"); // 机器人概念
F03:CAPITALIZATION < 10000000000; // 流通市值小于100亿
F04:LEFT(DATE, 2) = "60"; // 股票代码以60开头
// 加入更多的基本面指标,如PE、市净率、ROE、营收、净利等
F05:PE < 50 AND PB < 10 AND ROE > 0 AND REVENUE > 0 AND NP > 0;
// 扩大区间范围
F06:INDUSTRY(M41) in (IndustryList(-1)); // 所有投资类行业

FILTER:F01 AND F02 AND F03 AND F04 AND F05 AND F06;
SYMBOL_SORT("热度", SORT_DESCEND);
SELECT IF(F07, 1, 0) AS GOTO;

python代码参考

以下是用 Python 代码实现该策略的选股逻辑:

def stock_filter(dv, symbol):
    high = dv.get_ts('high', symbol=symbol)
    low = dv.get_ts('low', symbol=symbol)
    concept_robot = dv.get_ts('concept', symbol=symbol).apply(lambda x: "机器人" in x)
    circulation_market_cap = dv.get_ts('circulation_market_cap', symbol=symbol)
    code_prefix = dv.get_ts('code', symbol=symbol).apply(lambda x: x[:2] == "60")
    year = dv.get_ts('year', symbol=symbol)
    revenue = dv.get_ts('revenue', symbol=symbol)
    np = dv.get_ts('np', symbol=symbol)
    pe_ratio = dv.get_ts('pe_ratio', symbol=symbol).rolling(60).apply(lambda x: x[0])
    pb_ratio = dv.get_ts('pb_ratio', symbol=symbol).rolling(60).apply(lambda x: x[0])
    roe = dv.get_ts('roe', symbol=symbol).rolling(60).apply(lambda x: x[0])

    # 计算标志:振幅大于1、流通市值小于100亿、机器人概念、以60开头、PE、PB、ROE、营收、净利均大于0、所有投资类行业
    selected_stocks = (
        (high / low - 1 > 0.01).any(axis=0) &
        concept_robot &
        (circulation_market_cap < 10000000000) &
        code_prefix &
        (pe_ratio < 50) &
        (pb_ratio < 10) &
        (roe > 0) &
        (revenue > 0) &
        (np > 0) &
        (dv.get_ts('industry_citic', symbol=symbol) in dv.get_industries(-1)["industry_name"].tolist())
    )

    # 按照热度排名进行排序
    selected_stocks = selected_stocks[selected_stocks].sort_values(by='heat_rank', ascending=False)

    return selected_stocks.index.tolist()

该代码示例使用了 Python 实现该选股逻辑,加入了更多的基本面指标,同时扩大区间范围,避免选择过于局限于特定的板块和行业。

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

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

    模板如何使用?

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


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

评论