(supermind量化-)振幅大于1、周线MA5金叉MA10、三个技术指标同时金叉_

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

问财量化选股策略逻辑

本选股策略选取符合以下条件的股票:振幅大于1,周线MA5金叉MA10,三个技术指标同时金叉。综合考虑技术面因素,筛选出具有投资价值的股票。

选股逻辑分析

本选股策略以技术面为主,主要考虑了股票价格走势、技术面趋势和市场情绪等因素。通过振幅和MA均线以及三个技术指标的金叉来判断股票价格的走势,寻找具有投资价值的股票。

有何风险?

本选股策略忽略了公司基本面等其他因素,过于关注技术面因素,可能会出现选股波动较大的股票,更容易受到市场风险等不可控因素影响出现回调。

如何优化?

可以考虑在技术面的基础上,加入财务指标等其他因素进行选股,这样可以更全面地分析股票的投资价值。另外,可以结合一些较为严谨的量化方法,例如走势判断等,减少随机性,提高精度。

最终的选股逻辑

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

  1. 振幅大于1;
  2. 周线MA5金叉MA10;
  3. 三个技术指标同时金叉。

在符合以上所有条件的情况下,从选出的符合条件的股票中筛选具有长期投资价值、盈利稳定、财务相对健康的股票。

同花顺指标公式代码参考

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

C1: V > 1
C2: MA(CLOSE,5) > REF(MA(CLOSE,10),1) AND MA(CLOSE,5) < REF(MA(CLOSE,10),1)
C3: CROSS(MA(CLOSE,5), MA(CLOSE,10)) AND CROSS(MA(CLOSE,10), MA(CLOSE,20)) AND CROSS(MA(CLOSE,20), MA(CLOSE,60))
C4: C1 AND C2 AND C3
C5: COUNTC(C4, 1) > 0
SELECTC(C5, C, 1)

其中,C1C2分别代表振幅和MA均线的条件,C3为三个技术指标同时金叉的条件。C4为这三个条件的组合,COUNTC函数计算符合条件的股票数量,最后SELECTC选出符合条件的股票进行操作。

python代码参考

import tushare as ts

# 判断三个技术指标是否同时金叉
def check_golden_cross(code):
    k_data = ts.get_hist_data(code)
    if k_data is None:
        return False
    ma5 = k_data['close'].rolling(5).mean()
    ma10 = k_data['close'].rolling(10).mean()
    ma20 = k_data['close'].rolling(20).mean()
    ma60 = k_data['close'].rolling(60).mean()
    return (ma5 > ma10).iloc[-1] and (ma10 > ma20).iloc[-1] and (ma20 > ma60).iloc[-1]

# 判断当日是否符合条件
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 = k_data['close'].rolling(5).mean()[-1]
    ma10 = k_data['close'].rolling(10).mean()[-1]
    return v > 1 and ma5 > ma10 and check_golden_cross(code)

# 按市值排序并选取符合条件的股票
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 selected_data.sort_values(by='circulating_market_cap', ascending=False).index.tolist()

print(select_stock())

以上代码仅供参考,具体实现应根据实际情况进行调整。其中,使用了 tushare 库获取股票数据, check_todayselect_stock 分别用于筛选符合条件的股票和按市值排序。注意其中的三个技术指标同时金叉的判断方式。

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

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

    模板如何使用?

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


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

评论