(supermind量化投资)task13/a/元宇宙、机构动向大于0、前日实际换手率>3

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

问财量化选股策略逻辑

选股逻辑包括三个条件:选取元宇宙行业的股票、机构动向大于0、前日实际换手率在3%至28%之间的股票。根据这些条件进行选股,进行投资。

选股逻辑分析

该选股策略主要考虑以下三个条件进行选股:

  1. 选取元宇宙行业的股票:选择符合该行业特性的个股;
  2. 机构动向大于0:关注机构对个股的投资热度趋势;
  3. 实际换手率:选取前一日日内实际换手率在3%至28%之间的股票,以期待有一定的流动性和涨跌潜力。
  4. 综合以上条件选出符合要求的股票进行投资。

综合以上条件,选择符合条件的个股进行投资。

有何风险?

  1. 元宇宙行业尚处于发展初期,其股票走势不稳定;
  2. 机构动向具有滞后性,选股策略容易出现误判;
  3. 受市场情况影响,实际换手率变化较大,选股策略容易出现滞后。

如何优化?

  1. 加入更多技术指标,如RSI、MACD等对个股的整体走势进行判断;
  2. 调整选股策略中的条件权重;
  3. 结合行业及个股财务情况进行研判。

最终的选股逻辑

该选股策略选择元宇宙行业中,机构动向大于0且前日实际换手率在3%至28%之间的个股。

同花顺指标公式代码参考

元宇宙行业:GNBK("gnxq")

机构动向:DRS_M("zlltgtzb")

前日实际换手率在3%至28%之间:REF(VOL/FloatShare,1)>=0.03 AND REF(VOL/FloatShare,1)<=0.28

Python代码参考

import pandas as pd 
import tushare as ts 

def stock_selector(): 
    ts.set_token('your_token') 
    pro = ts.pro_api() 
    t = pro.trade_cal(start_date='20210101')
    trade_dates = t[t['is_open'] == 1]['cal_date'].tolist() 

    data_all = pd.DataFrame() 
    for trade_date in trade_dates: 
        data = pro.query('stock_basic', exchange='', is_hs='H') 
        data = data[data['name'].str.contains('元宇宙')] 

        data_inst = pro.moneyflow(ts_code=data['ts_code'].tolist(), start_date=trade_date, end_date=trade_date, fields='ts_code,hgt,mrghgt') 
        data_inst = data_inst.loc[data_inst['hgt'] > 0, ['ts_code', 'hgt', 'mrghgt']] 
        data_inst['is_inst_buy'] = data_inst['hgt'] > data_inst['mrghgt'] 
        data_inst = data_inst.loc[data_inst['is_inst_buy'] == True, ['ts_code']] 
        selected_tics = data_inst['ts_code'].tolist() 

        daily = pro.daily(
            ts_code=','.join(selected_tics),
            start_date=trade_date,
            end_date=trade_date,
            fields='ts_code,trade_date,close,vol'
        ) 
        
        # 计算流通股本
        basic_info = pro.stock_basic(ts_code=','.join(selected_tics), fields='ts_code,float_share')
        basic_info = basic_info.set_index('ts_code')
        daily['float_share'] = daily['ts_code'].map(basic_info['float_share'])

        # 计算实际换手率
        daily['turnover'] = daily['vol'] / daily['float_share']
        daily = daily.drop(['vol', 'float_share'], axis=1)
        data_selected = daily[(daily['turnover'] >= 0.03) & (daily['turnover'] <= 0.28)]
        
        data_all = pd.concat([data_all, data_selected])  
        
    return data_all
    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

    模板如何使用?

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


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

评论