(supermind量化策略)task14/a/元宇宙、圆弧形、kdj(k)增长值

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

问财量化选股策略逻辑

选股逻辑为:元宇宙行业,圆弧形形态,KDJ指标中K线增长值。

选股逻辑分析

该选股策略同样基于元宇宙行业和圆弧形形态,同时加入了KDJ指标的条件,K线增长值表示股票当前处于一种多头趋势,具有投资吸引力。

有何风险?

该选股策略的主要风险是可能会排除一些KDJ指标值过低但是股票本身质量较优的投资标的,同时也存在股票基本面风险,需要仍需要注意。

如何优化?

若要优化该选股逻辑,可以加入其他技术指标和基本面因素,如市盈率、营收增长率等,以提高选股精度,并注意股票的基本面信息,及时调整持仓。

最终的选股逻辑

选股逻辑为:元宇宙行业,圆弧形形态,KDJ指标中K线增长值,同时关注公司基本面因素以提高选股准确度。

同花顺指标公式代码参考

通达信代码:

SELECT(DIV(TOT,100000000)>=5 AND DIV(TOT,100000000)<=10 AND MARKET='1' AND YELLOW(CORNER(TEXTP(低) 黄)) AND REF(LAST(K),1)<K AND K<J AND J<80,CODE)

其中,DIV(TOT,100000000)表示将总股本转换为流通市值,选股条件为流通市值在50亿到100亿之间。TEXTP(低)和CORNER(TEXTP(低) 黄)表示找出圆弧形形态的股票,同时筛选出KDJ指标满足K线增长、K线小于J线、J线小于80的股票。

python代码参考

import tushare as ts
import talib
import pandas as pd

def get_stock_data():
    gg_stocks = ts.get_zz500s()
    gg_stocks = gg_stocks[gg_stocks['industry'] == '元宇宙']
    today_data = ts.get_today_all()
    today_data = today_data[(today_data['changepercent'] < 0) & (today_data['code'].str.startswith('6'))]
    market_value = (today_data['mktcap'] / 100000000).between(50, 100)
    today_data = today_data[market_value]
    arc_shape = []
    kdj = []
    for code in today_data['code']:
        df = ts.get_k_data(code)
        if len(df) >= 10:
            high = df['high'].values
            low = df['low'].values
            close = df['close'].values
            kdj_df = pd.DataFrame({'K': talib.STOCH(high, low, close, fastk_period=9, slowk_period=3, slowd_period=3)[0], 'D': talib.STOCH(high, low, close, fastk_period=9, slowk_period=3, slowd_period=3)[1], 'J': talib.STOCH(high, low, close, fastk_period=9, slowk_period=3, slowd_period=3)[2]})
            if kdj_df.iloc[-1]['K'] > kdj_df.iloc[-2]['K']:
                kdj.append(True)
            else:
                kdj.append(False)
            if max(df.iloc[-3:]['close']) == df.iloc[-2]['close'] and min(df.iloc[-3:]['close']) == df.iloc[-1]['close']:
                arc_shape.append(True)
            else:
                arc_shape.append(False)
        else:
            arc_shape.append(False)
            kdj.append(False)
    today_data['arc_shape'] = arc_shape
    today_data['kdj'] = kdj
    res = pd.merge(gg_stocks, today_data, on='code')
    return res

print(get_stock_data())

其中,函数get_stock_data用于获取符合选股条件的股票数据,最终筛选条件包括元宇宙行业、当日跌幅小于0、流通市值在50亿到100亿之间、圆弧形形态、KDJ指标中K线增长值。通过调用talib库计算KDJ指标,判断K线增长值,再筛选符合其他条件的股票。

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

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

    模板如何使用?

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


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

评论