(supermind量化策略)task14/a/元宇宙、圆弧形、主升起动

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

问财量化选股策略逻辑

选股逻辑为:元宇宙行业,圆弧形形态,主升起动股票。

选股逻辑分析

该选股策略综合考虑了行业、形态和趋势因素,筛选出换手率较大、形态符合条件、处在主升浪中的股票,提高了未来涨势的潜力。

有何风险?

该选股逻辑的风险在于其过于依赖主观判断,导致量化效果不明显以及选出的股票过度集中,还存在未来市场、行业和公司自身等风险。

如何优化?

可以加入更多的技术指标或基本面因素,例如RSI、MACD、PE、PB等指标,避免仅依赖形态和趋势判断。同时还可以加入风险控制因素,例如人为干预、风险警示等,以规避风险。

最终的选股逻辑

选股逻辑为:元宇宙行业,圆弧形形态,根据股票的主升起动和技术面指标等进行筛选。

同花顺指标公式代码参考

通达信代码:

SELECT C.SECODE FROM (SELECT SECODE FROM MARKET WHERE
HY = 'C010103'
AND (HIGH-OPEN)/OPEN > 0.01
AND (LOW-OPEN)/OPEN > 0.01
AND (HIGH-LOW)/OPEN > 0.03
AND TURNOVER > 0.05 AND TURNOVER < 0.2
AND COUNT(CLOSE>LCLOSE AND HIGH>LCLOSE, 60) >= 20
AND REF(COUNT(CLOSE>LCLOSE AND HIGH>LCLOSE, 60),1) < 20
ORDER BY TURNOVER DESC) C
WHERE MA(CLOSE,5) > MA(CLOSE,10)
AND LLV(LOW,20) == LOW
AND VOLUME > REF(VOLUME,1) * 1.5;

其中,COUNT(CLOSE>LCLOSE AND HIGH>LCLOSE, 60)表示60天内收盘价高于昨日收盘价并且最高价也高于昨日收盘价的天数。

python代码参考

import tushare as ts
import talib

def get_stock_data():
    gg_stocks = ts.get_zz500s()
    gg_stocks = gg_stocks[gg_stocks['industry'] == '元宇宙']
    df_today = ts.get_today_all()
    df_today = df_today[df_today['code'].isin(gg_stocks['code'])][['name', 'code', 'industry', 'trade', 'pb', 'pe', 'turnoverratio']]
    # 选出圆弧形形态
    close_ma60 = df_today['trade'].rolling(60).mean()
    lclose_ma60 = close_ma60.shift(1)
    df_today['count'] = talib.COUNT((df_today['trade'] > df_today['close'].shift(1)) & (df_today['high'] > df_today['close'].shift(1)), timeperiod=60)
    df_today = df_today[(abs((df_today['high']-df_today['open'])/df_today['open']) > 0.01)
            & (abs((df_today['low']-df_today['open'])/df_today['open']) > 0.01)
            & (abs((df_today['high']-df_today['low'])/df_today['open']) > 0.03)
            & (df_today['turnoverratio'] > 0.05) & (df_today['turnoverratio'] < 0.2)
            & (df_today['count'] >= 20) & (df_today['count'].shift(1) < 20)
            & (close_ma60 > close_ma60.rolling(10).mean())
            & (df_today['low'].rolling(20).min() == df_today['low'])
            & (df_today['volume'] > df_today['volume'].shift(1)*1.5)]
    # 选出主升起动的股票
    close_ma20 = df_today['trade'].rolling(20).mean()
    close_ma10 = df_today['trade'].rolling(10).mean()
    df_today['ma_diff'] = close_ma20 - close_ma10
    df_today = df_today[(df_today['ma_diff'] > 0) & (df_today['ma_diff'].shift(1) < 0)]
    res = df_today[['name', 'code', 'industry', 'pb', 'pe']]
    res = res.rename(columns={'pb': '市净率', 'pe': '市盈率'})
    return res

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

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

    模板如何使用?

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


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

评论