(supermind量化策略)task14/a/元宇宙、量比大于1

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

问财量化选股策略逻辑

选股逻辑:元宇宙行业、量比大于1.5、量比小于6、三个技术指标(如MACD、KDJ、RSI等)同时金叉。

选股逻辑分析

该选股逻辑基于元宇宙行业的热度,加入了量比和金叉指标的条件,筛选出了一些短期内有可能表现较好的标的股票。

有何风险?

该选股逻辑忽略了标的股票的基本面因素,如盈利状况、估值等因素,存在一定的盲目性。同时,技术指标具有一定的滞后性和不稳定性,存在一定的误判和风险。

如何优化?

可以加入其他基本面因素指标的考虑,如市盈率、市净率等,以及加入更为稳定的技术指标,如RSI、DMI等,提高选股的准确性。同时,应根据市场情况和标的股票的实际情况对选股策略进行适时调整,尽可能减小感性因素的影响。

最终的选股逻辑

选股逻辑:元宇宙行业、量比大于1.5、量比小于6、MACD、KDJ、RSI三个指标同时金叉。

同花顺指标公式代码参考

// MACD、KDJ、RSI三个指标的金叉判断条件
MA1:=EMA(CLOSE,12);
MA2:=EMA(CLOSE,26);
DIF:MA1-MA2;
DEA:EMA(DIF,9);
MACD:DIF-DEA;
K:((CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9)))*100;
D:MA(K,3);
J:MA(D,3)*3-MA(D,2)*2;
RSI1:SMA(MAX(CLOSE-REF(CLOSE,1),0),6,1)/SMA(ABS(CLOSE-REF(CLOSE,1)),6,1)*100;
RSI2:SMA(MAX(CLOSE-REF(CLOSE,1),0),12,1)/SMA(ABS(CLOSE-REF(CLOSE,1)),12,1)*100;
RSI3:SMA(MAX(CLOSE-REF(CLOSE,1),0),24,1)/SMA(ABS(CLOSE-REF(CLOSE,1)),24,1)*100;
COND1: CROSS(MACD,DEA);
COND2: CROSS(J,K);
COND3: CROSS(RSI1,RSI2) AND CROSS(RSI2,RSI3);
SELECTED: COND1 AND COND2 AND COND3;

python代码参考

import tushare as ts
import talib

gg_stocks = ts.get_zz500s()
gg_stocks = gg_stocks[gg_stocks['industry'] == '元宇宙']
selected_stocks = []

for stock in gg_stocks['code']:
    # 判断股票是否停牌等
    ...
    
    # 判断量比和金叉条件
    if stock.startswith(('688', '900')):
        continue
    if ts.get_realtime_quotes(stock)['pre_close'].iloc[0] == '0.00':
        continue
    price_data = ts.get_k_data(stock, start='20210101', end=ts.get_today()['date'], ktype='D')
    if talib.CROSSOVER(price_data['macd'], price_data['macdsignal'])[-1] == False:
        continue
    if talib.CROSSOVER(price_data['j'], price_data['k'])[-1] == False:
        continue
    rsi1 = talib.RSI(price_data['close'].values, timeperiod=6)
    rsi2 = talib.RSI(price_data['close'].values, timeperiod=12)
    rsi3 = talib.RSI(price_data['close'].values, timeperiod=24)
    if talib.CROSSOVER(rsi1, rsi2)[-1] == False or talib.CROSSOVER(rsi2, rsi3)[-1] == False:
        continue

    # 判断其他因素,如PE、PB等指标
    ...
    
    display_name = ts.get_stock_basics().loc[stock]['name']
    selected_stocks.append((stock, display_name, ts.get_realtime_quotes(stock)['price'].iloc[0]))

# 输出名称
selected_stocks = [x[1] for x in selected_stocks]
    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

    模板如何使用?

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


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

评论