(supermind量化投资)task13/a/元宇宙、前日实际换手率>3~28、KDJ刚

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

问财量化选股策略逻辑

该选股策略选取元宇宙行业中,符合以下条件的股票进行投资:前日实际换手率在3%~28%之间、KDJ指标刚形成金叉。

选股逻辑分析

该选股策略的选股条件主要包括:

  1. 选取元宇宙行业中的股票,因为这些企业可能受到元宇宙行业内用户需求的影响,具有潜在的成长性;
  2. 前日实际换手率在3%~28%之间,反映市场对其价值的认可度高且有成交热度,具有投资价值;
  3. KDJ指标刚形成金叉,表示股票可能进入一定的上涨趋势;
  4. 综合考虑上述条件,选出符合条件的具有潜在成长性、市场认可度高、投资价值较大且处于上涨趋势的股票进行投资。

有何风险?

  1. 选股逻辑过于简单,可能存在较大的风险和误判;
  2. KDJ指标是相对滞后的指标,不能完全准确地预测股票走势。

如何优化?

  1. 增加选股条件,如技术指标、财务指标等,综合考虑来筛选具备投资价值的股票;
  2. 配合其他技术分析指标,如RSI、MACD等技术指标,更全面地评估股票投资机会;
  3. 定期评估选股策略的效果,根据市场情况和经验反思总结,持续优化策略。

最终的选股逻辑

该选股策略选取元宇宙行业中,前日实际换手率在3%~28%之间,KDJ指标刚形成金叉的股票进行投资。

具体选股条件为:元宇宙行情为GNXQ,前日实际换手率为TURNOVER(2),KDJ指标中K线上穿D线产生金叉为CROSS(J, K, 20, 5, 5)。

同花顺指标公式代码参考:

  • 元宇宙行情:GNBK('gnxq')
  • 前日实际换手率:TURNOVER(2)
  • KDJ金叉:CROSS(J, K, 20, 5, 5)

Python代码参考:

import pandas as pd
import tushare as ts

def stock_selector():
    ts.set_token('your_token')
    pro = ts.pro_api()
    data1 = pro.query('stock_basic', exchange='SZSE', list_status='L', fields='ts_code, name, industry, list_date, total_share, float_share')
    data1 = data1[data1['industry'].str.contains('元宇宙') & (data1['list_status'].isin(['L', 'N']))]
    data2 = pro.daily_basic(ts_code='', trade_date='20220101', fields='ts_code, turnover_rate_f, volume')
    data2['actual_turnover'] = data2['turnover_rate_f'] * 100
    data3 = data2[(data2['actual_turnover'] > 3) & (data2['actual_turnover'] < 28)]
    data4 = pro.query('daily', ts_code='', trade_date='20220101', fields='ts_code, trade_date, open, high, low, close')
    data5 = pd.DataFrame({'K': talib.KDJ(data4['high'], data4['low'], data4['close'], 9, 3, 3)[0]})
    data6 = pd.DataFrame({'D': talib.KDJ(data4['high'], data4['low'], data4['close'], 9, 3, 3)[1]})
    data7 = pd.DataFrame({'J': talib.KDJ(data4['high'], data4['low'], data4['close'], 9, 3, 3)[2]})
    data8 = pd.concat([data5, data6, data7], axis=1)
    data9 = pd.DataFrame({'KDJ_golden_cross': talib.CROSS(data8['K'], data8['D'], 20, 5, 5)})
    data10 = data9[data9['KDJ_golden_cross'] == 1]
    data11 = pd.merge(data1, data3[['ts_code']], on='ts_code', how='inner')
    data12 = pd.merge(data11, data10[['ts_code']], on='ts_code', how='inner')
    return data12[['ts_code', 'name']]
    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

    模板如何使用?

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


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

评论