(supermind量化投资)task13/a/元宇宙、机构动向大于0、换手率>2%且<9

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

问财量化选股策略逻辑

选股逻辑包括三个条件:选择元宇宙行业的股票、机构动向大于0、换手率在2%和9%之间。根据这些条件进行选股,进行投资。

选股逻辑分析

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

  1. 选取元宇宙行业中的股票,因为元宇宙领域具有较高的成长性和隐含收益;
  2. 机构动向具有预测性和引导作用,选择机构买入股票可以获得较好的资本回报;
  3. 换手率在2%和9%之间可以筛选出市值中等和流动性较好的个股,有望获得较好的收益。

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

有何风险?

  1. 行业投资的风险因素较大,选股策略难以捕捉行业整体动向;
  2. 机构资金流向并不能完全代表市场交易情况,存在流动性不足等问题;
  3. 换手率有可能被短线投机行为驱动,选择的股票可能存在较高风险。

如何优化?

  1. 加入其他行业、板块和市场因素,以更全面的方式掌握市场情况;
  2. 区分机构持股和短线投机资金的影响,优化机构资金的选股策略;
  3. 加入其他技术指标和基本面数据进行综合考虑股票的投资价值。

最终的选股逻辑

该选股策略选择元宇宙行业中,机构动向大于0,换手率在2%和9%之间的股票进行投资。

同花顺指标公式代码参考

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

机构动向:DRS_M("zlltgtzb");

换手率:TURNOVERRATE();

选股公式:GNBK("gnxq") AND DRS_M("zlltgtzb") AND TURNOVERRATE()>2 AND TURNOVERRATE()<9

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='', list_status='L', fields='ts_code,name,industry') 
    data1 = data1[(data1['name'].str.contains('元宇宙')) & (data1['industry'] != '银行')] 

    data2 = pro.query('fii_lgt_list', start_date='20220308', end_date='20220308', fields='ts_code, buy_value, sell_value, net_value') 
    data2 = data2.groupby(by='ts_code').sum() 
    data2['net'] = data2['net_value'] / 1e8 
    data2 = data2.sort_values(by='net', ascending=False) 
    data2 = data2.iloc[0:100, :] 
    data2['rank'] = range(1, 101) 
    data2 = data2.loc[:, ['rank']] 

    data3 = pro.query('fina_mainbz', ts_code='', end_date='20220308', fields='ts_code,main_business_profit') 
    data3 = data3[data3['main_business_profit'] > 0] 

    data4 = pro.query('daily_basic', trade_date='20220307', fields='ts_code, close,turnover_rate_f') 
    data4 = data4[(data4['turnover_rate_f'] > 0.02) & (data4['turnover_rate_f'] < 0.09)] 

    data5 = pro.moneyflow(trade_date='20220308', fields='ts_code, trade_date, buy_sm_vol, sell_sm_vol, buy_md_vol, \
    sell_md_vol, buy_lg_vol, sell_lg_vol, buy_elg_vol, sell_elg_vol, buy_value, sell_value, net_mf_vol') 
    data5 = pd.concat([data5.loc[:, 'ts_code'], data5.loc[:, 'net_mf_vol']], axis=1) 
    data5.columns = ['ts_code', 'net_inst_buy'] 
    data5 = data5.loc[data5.net_inst_buy > 0, :] 

    data6 = pro.cctv_news(date='20220306') 
    data6 = data6.iloc[0, :] 
    hs_300 = data6['hs_300_code'] 

    data7 = pro.query('daily_basic', trade_date='20220307', ts_code='', fields='ts_code, float_share') 
    data7 = data7.groupby(by='ts_code').sum() 
    data7 = data7.sort_values(by='float_share', ascending=False) 
    data7 = data7.iloc[0:100, :] 
    data7['rank'] = range(1, 101) 
    data7 = data7.loc[:, ['rank']] 

    data8 = pd.concat([data1.loc[:, 'ts_code'], data2, data3.loc[:, 'main_business_profit'], data4.loc[:, ['turnover_rate_f']], \
    axis=1) 
    data8.columns = ['ts_code', 'ddjlr_rank', 'main_business_profit', 'turnover_rate_f'] 
    data8 = pd.merge(data8, data5, on='ts_code') 
    data8 = pd.merge(data8, data7, on='ts_code') 
    data8 = data8[data8['ts_code'] != hs_300] 
    data8 = data8.sort_values(by='ddjlr_rank', ascending=True) 
    data8 = data8.iloc[0:50, :] 

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

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

    模板如何使用?

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


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

评论