(iwencai量化策略)酷特智能早晨之星_、企业性质、振幅大于1

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

问财量化选股策略逻辑

选股逻辑为:振幅大于1,企业性质良好,酷特智能出现早晨之星

选股逻辑分析

该选股逻辑在振幅和企业性质的基础上,结合了技术分析指标早晨之星,可有效筛选出股票价格下跌后的反弹机会,同时振幅大于1能够保证有一定的投资机会,良好的企业性质则可以更好地保障公司的财务状况和投资价值。

有何风险?

该选股逻辑若过分依赖技术分析指标,而导致忽略公司的基本面状况,可能会错过了一些有潜力的投资机会。同时,早晨之星虽然是一种有效的技术分析指标,但并不能保证其在所有股票和市场情况下都能得到较佳效果。

如何优化?

可以将技术分析指标和基本面指标相结合,选取符合策略的股票,更全面地对股票进行评估和估值,提高选股策略的准确性。同时,对于早晨之星指标,可以在选取股票时使用其他支撑指标进行佐证,加强判断。可以考虑技术指标、基本面指标和公司业务模式等各个方面进行综合判断。

最终的选股逻辑

综合以上分析,最终的选股逻辑如下:

  • 振幅大于1;
  • 企业性质良好,包括但不限于:盈利能力强,稳定的财务状况,成长性,市值,ROE等;
  • 出现酷特智能的早晨之星指标;
  • 根据市场情况和个人风险偏好,选择适当的振幅范围;
  • 结合技术指标和基本面指标等多个方面进行综合判断,选取符合策略的股票。

同花顺指标公式代码参考

该选股逻辑的同花顺指标公式如下:

/* 选股公式 */
A:(HIGH-LOW)/REF(CLOSE,1)>0.01;
B:XX企业性质;
C:STREN( KTECH, Z) = 5;
A AND B AND C <= N; /* N为排名范围 */

其中,A:(HIGH-LOW)/REF(CLOSE,1)>0.01 表示振幅大于1,B:XX企业性质 表示企业性质良好, C:STREN( KTECH, Z) = 5 表示出现早晨之星指标,A AND B AND C <= N 表示逻辑与且排名不高于N。

Python代码参考

适用于tushare库的Python选股代码如下:

import tushare as ts
import numpy as np

def is_selected(code, eps=1, rank_range=(1, 50)):
    # 判断股票是否满足选股逻辑
    df_basic = ts.get_stock_basics()
    if not XX企业性质:
        return False
    df_hist = ts.get_hist_data(code)
    if (df_hist['high'] - df_hist['low']).mean() / df_hist['close'].iloc[-1] <= 0.01:
        return False
    Kline = ts.get_k_data(code)
    Kline['MA5'] = pd.rolling_mean(Kline['close'], 5)
    Kline['MA10'] = pd.rolling_mean(Kline['close'], 10)
    Kline['MA20'] = pd.rolling_mean(Kline['close'], 20)
    Kline['MA30'] = pd.rolling_mean(Kline['close'], 30)
    Kline['preClose'] = Kline['close'].shift(1)  # 昨收
    Kline['preLow'] = Kline['low'].shift(1)  # 下影线
    Kline['preHeight'] = Kline['high'] - Kline['preClose']  # 上影线
    Kline['preHeight2'] = Kline['preClose'] - Kline['preOpen']  # 前一根K线实体
    Kline['height'] = Kline['high'] - Kline['low']  # K线实际长度
    Kline['preHeightPer'] = (Kline['high'] - Kline['preClose']) / Kline['preClose'] * 100  # 上影线比率
    Kline['preHeight2Per'] = (Kline['preClose'] - Kline['preOpen']) / Kline['preClose'] * 100  # 前一K线实体比率
    Kline['heightPer'] = Kline['height'] / Kline['close'] * 100  # K线实体比率
    Kline['upper'] = Kline['preClose'] + (Kline['preLow'] - Kline['preClose']) * 0.5
    Kline['lower'] = Kline['preClose'] - (Kline['preClose'] - Kline['preOpen']) * 0.5
    Kline['gap'] = Kline['open'] - Kline['preClose']  # 开盘漂移
    Kline['gapPer'] = Kline['gap'] / Kline['preClose'] * 100  # 开盘漂移比率

    if Kline['preHeightPer'].iloc[-3] > 10 and Kline['preHeight2Per'].iloc[-3] < 1 \
            and Kline['heightPer'].iloc[-2] < 6 and Kline['preHeight2Per'].iloc[-2] > 1 \
            and Kline['close'].iloc[-2] > Kline['open'].iloc[-2] and Kline['close'].iloc[-1] < Kline['open'].iloc[-2] \
            and Kline['gap'].iloc[-1] < 3 and Kline['gapPer'].iloc[-1] < 3:
        return True

    rank = ts.top_list(df_hist.index[0])['code'].tolist().index(code) + 1
    if rank < rank_range[0] or rank > rank_range[1]:
        return False
    return False

# 获取热度排名前N的股票列表,遍历股票进行选股
stocks = ts.top_list()
selected_stocks = []
for i in range(N):
    code = stocks['code'].iloc[i]
    if is_selected(code, rank_range=(1, N)):
        selected_stocks.append(code)

# 利用选股结果进行股票交易
for code in selected_stocks:
    pass # 参考其他策略

其中需要根据选股策略修改参数,通过tushare库获取股票的基本面和历史行情进行计算判断,利用选股结果进行股票交易。

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

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

    模板如何使用?

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


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

评论