(supermind)振幅大于1、反包、企业性质_

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

问财量化选股策略逻辑

选股逻辑:振幅大于1,反包,企业性质。

选股逻辑分析

该选股策略选用了振幅指标和反包指标来选择波动较大、具有反转信号的股票,并加入了企业性质指标进行筛选,选出具有良好基本面和企业性质的股票。选股逻辑更加综合,相对于之前提到的选股策略更加具有全面性和可持续性。

有何风险?

企业性质指标过于主观,可能存在选择倾向和误判;该指标的数据来源不确定,可能存在违法违规企业的误选;同时采用振幅指标和反包指标进行筛选的策略仍有可能漏选一些具有良好基本面但波动较小的股票。

如何优化?

对企业性质指标进行细化和量化,如分别考虑市场地位、公司管理、行业前景、财务状况等指标,并通过多元回归模型综合排名,避免过于主观和误判的情况。同时,也可加入其他指标如市净率、市盈率等进行筛选,以提高选股的准确性。

最终的选股逻辑

基于以上分析,提出下面完善后的选择逻辑:

  1. 振幅大于1;
  2. 反包出现;
  3. 企业具有良好的市场地位、公司管理、行业前景、财务状况等指标。

同花顺指标公式代码参考

以下是该选股策略的指标公式代码:

F01: HIGH / LOW - 1 > 0.01; // 振幅大于1
F02: NOT(SIGN(CLOSE - REF(CLOSE, 1)) == SIGN(REF(CLOSE, 1) - REF(CLOSE, 2))); // 反包
F03: 具有良好的市场地位、公司管理、行业前景、财务状况等指标; // 根据具体情况设定
FILTER:F01 AND F02 AND F03;
SELECT(IF(1, 1, 0),"选股"); // 输出文本信息:选股

python代码参考

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

def stock_filter(dv, symbol):
    # 获取数据,计算指标
    high = dv.get_ts("high", symbol=symbol)
    low = dv.get_ts("low", symbol=symbol)
    close = dv.get_ts("close", symbol=symbol)
    date_idx = pd.to_datetime(high.index).date

    amplitude = high / low - 1
    reverse_pattern = (Ta('CDL2CROWS', 0, open, high, low, close) == 100)

    # 获取企业性质指标数据
    company = get_company_data(symbol)
    company_indicators = company.loc[date_idx, ["market_position", "management_quality", "industry_outlook", "financial_condition"]]
    # 根据多元回归模型计算企业整体分值
    company_score = calculate_company_score(company_indicators)

    selected_stocks = (amplitude & reverse_pattern & (company_score > threshold))
    selected_stocks.sort_values("close", ascending=True, inplace=True)

    return selected_stocks.index.tolist()

在计算股票指标的基础上,我们还需获取企业性质指标的数据,进而综合考虑,计算企业整体分值,并根据阈值选取符合指标要求的股票。

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

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

    模板如何使用?

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


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

评论