(supermind量化-)振幅大于1、周线MA5金叉MA10、七连阴_

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

问财量化选股策略逻辑

本选股策略选取符合以下条件的股票:振幅大于1,周线MA5金叉MA10,七连阴。通过综合考虑技术面和市场情绪面,筛选出符合条件的股票,并进行后续的投资操作。

选股逻辑分析

本选股策略主要考虑了技术面和市场情绪面。振幅大于1可以筛选出波动较大的股票,周线MA5金叉MA10表明股票已经出现了明显的上涨趋势。七连阴表明股票已经处于一定的下跌趋势中,有可能会出现反弹机会。通过多个指标的综合考虑,筛选出具有较好投资价值的股票。

有何风险?

本选股策略存在对市场情绪因素的依赖,对于一些业绩不佳但市场情绪较好的股票容易被选中,存在较大投资风险。另外,七连阴只是一种市场情绪表现,并不能代表所有的下跌趋势,选股存在一定的风险。

如何优化?

本选股策略应该增加对公司业绩的考虑,避免仅仅依赖于市场情绪因素。同时,应该结合多个指标综合考虑,减少对个别指标的依赖,避免将短时的市场情绪误判为较好的投资机会。

最终的选股逻辑

本选股策略选取符合以下条件的股票:

  1. 振幅大于1;
  2. 周线MA5金叉MA10;
  3. 近7天每日收盘价均低于前一日;
  4. 最近七个交易日出现过至少一天的最高价高于前一日收盘价的情况。

认为此时股票处于一定的下跌趋势,但有可能会出现反弹上涨机会,适合进行短期投资。

同花顺指标公式代码参考

以下是本选股策略的通达信指标代码:

C1: V>1
C2: WEEK:MA(CLOSE,5)>REF(MA(CLOSE,10),1) AND MA(CLOSE,5)<REF(MA(CLOSE,10),1)
C3: LLV(LOW,7) = LOW
C4: MAX(HIGH,7)>REF(CLOSE,1)
C5: C1 AND C2 AND C3 AND C4
C6: COUNTC(C5, 1)>0
SEVEN_DOWN:SELECTC(C6 AND C, 0, 1)

其中,C1表示振幅大于1,C2表示周线MA5金叉MA10,C3表示七连阴,C4表示最近七个交易日出现过至少一天的最高价高于前一日收盘价的情况。COUNTC 函数用于计算符合条件的股票数量,SELECTC 用于选出符合条件的股票,进行投资操作。

python代码参考

import tushare as ts
import talib

# 判断当日是否符合连阴条件
def check_lianyin(code):
    k_data = ts.get_hist_data(code)
    if k_data is None:
        return False
    for i in range(7):
        if k_data.iloc[-1-i]['close'] > k_data.iloc[-2-i]['close']:
            return False
    return True

# 判断当日是否符合筛选条件
def check_today(code):
    k_data = ts.get_hist_data(code)
    if k_data is None or 'ST' in k_data.name.values[0] or '退' in k_data.name.values[0]:
        return False
    v = k_data.iloc[-1]['volume']
    ma5 = talib.MA(k_data['close'], timeperiod=5)[-1]
    ma10 = talib.MA(k_data['close'], timeperiod=10)[-1]
    return v>1 and ma5>ma10 and check_lianyin(code)

# 按市值排序
def sort_by_market_value(data):
    return data.sort_values(by='totalAssets', ascending=False)

# 选取符合条件的股票
def select_stock():
    results = []
    all_stocks = ts.get_stock_basics()
    for code in all_stocks.index:
        if check_today(code):
            results.append(code)
    selected_data = all_stocks.loc[results]
    return sort_by_market_value(selected_data).index.tolist()

print(select_stock())

以上代码仅供参考,具体实现应根据实际情况进行调整。其中,使用了 tusharetalib 库进行了股票数据获取和技术指标计算。

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

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

    模板如何使用?

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


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

评论