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

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

问财量化选股策略逻辑

该选股策略选取元宇宙行业中,前日实际换手率在3%~28%之间,同时10天内涨停天数大于2的股票,进行投资。

选股逻辑分析

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

  1. 选取元宇宙行业中的股票,因为这些企业可能受到元宇宙行业内用户需求的影响,具有潜在的成长性;
  2. 前日实际换手率在3%~28%之间,反映市场对其价值有所认可;
  3. 10天内涨停天数大于2,反映股票短期上涨趋势强劲。

综合考虑上述条件,选出符合条件的具有强劲短期上涨趋势的股票进行投资。

有何风险?

  1. 涨停天数大于2难以预测和持久,可能存在泡沫风险;
  2. 前日实际换手率在3%~28%之间复杂背景下可能变动频繁,导致选股策略不稳定性;
  3. 股票实际交易情况可能有异常波动,导致选股策略的不稳定性;
  4. 企业业绩和市场情况变动可能导致策略的不稳定性。

如何优化?

  1. 引入更严谨、科学的股票筛选条件和算法,聚焦企业核心竞争力,从多个维度挖掘具有潜力的个股;
  2. 对股票交易信息进行多方面的调研和了解,了解股票的具体板块、市场动向、公司财务等信息,提高选股的准确性和稳定性;
  3. 在涨停天数大于2的条件中引入其他技术指标,如成交量、MACD等进行多策略验证;
  4. 定期评估和更新选股策略,及时剔除无效的选股标准,优化股票投资组合。

最终的选股逻辑

该选股策略选取元宇宙行业中,前日实际换手率在3%~28%之间,同时10天内涨停天数大于2的股票,进行投资。

具体选股条件为:元宇宙行情为 GNXQ,前日实际换手率为 TURNOVER(2),10天内涨停天数为 COUNT(CLOSE = REF(MAX(CLOSE, 1), 1), 10) > 2。

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

  • 元宇宙行情:GNBK('gnxq')
  • 前日实际换手率:TURNOVER(2)
  • 10天内涨停天数:COUNT(CLOSE = REF(MAX(CLOSE, 1), 1), 10) > 2

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')
    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, turnover_rate_f, close')
    data2['actual_turnover'] = data2['turnover_rate_f'] * 100
    data2 = data2[(data2['actual_turnover'] > 3) & (data2['actual_turnover'] < 28)]
    data3 = pd.merge(data1, data2[['ts_code', 'actual_turnover', 'close']], on='ts_code', how='inner')
    data4 = pro.daily(ts_code='', start_date='20220221', fields='ts_code, trade_date, close')
    data4['date'] = pd.to_datetime(data4['trade_date'])
    data5 = data4.groupby('ts_code')['close'].rolling(window=10, min_periods=1).max().reset_index()
    data6 = (data4['close'] == data5['close']).astype(int)
    data7 = pd.concat([data4['ts_code'], data6], axis=1)
    data8 = data7.groupby('ts_code').rolling(window=10, min_periods=1).sum().reset_index()
    data8 = data8[data8[0] > 2]
    data9 = pd.merge(data3, data8[['ts_code']], on='ts_code', how='inner')
    data9 = data9.sort_values(by='actual_turnover', ascending=False)
    return data9[['ts_code', 'name']]
    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

    模板如何使用?

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


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

评论