(supermind量化策略)task17/a/换手率3%-12%、饮料酒进出口、竞价时涨

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

问财量化选股策略逻辑

选股逻辑为:选择换手率在3%-12%、饮料酒进出口并且竞价时涨跌幅买入大单和特大单共计买入量大于0.7千万的股票。

选股逻辑分析

本策略综合考虑了股票交易情况、行业、技术走势以及大单交易情况等多种因素。选取换手率3%-12%较低,有一定的稳健性,而饮料酒进出口则是以行业为主要考虑因素,并通过竞价时涨跌幅买入大单和特大单的共计买入量大于0.7千万等方式以筛选出大单经常进出的股票。

有何风险?

该选股逻辑依然没有很好地考虑到公司基本面质量,同时将竞价时涨跌幅买入大单和特大单共计买入量作为选股依据较为单一,风险依然较大。

如何优化?

可以加入一些基本面指标,如市盈率、市净率、股息率等,以提高选股的准确性和筛选出具有基本面支撑的个股。同时可以加入其他技术指标,如KDJ、RSI、MACD等,以提高技术面的选股效果。另外,可以加入先进的机器学习算法,如深度学习和神经网络算法等。

最终的选股逻辑

选择换手率在3%-12%、饮料酒进出口并且竞价时涨跌幅买入大单和特大单共计买入量大于0.7千万的股票。

同花顺指标公式代码参考

换手率在3%-12%:SELECT(TURN<N>AVG(TURN,N) AND TURN<N>3 AND TURN<N<12)
饮料酒进出口:SELECT(SECTOR('K40')=1)
竞价时涨跌幅买入大单:SELECT(LAST<=OPEN*1.01 AND VOLUME>=LARGE_VOL AND LARGE_AMT>=70000000)
特大单共计买入量大于0.7千万:SELECT(TOTAL_LARGER_VOL>=70000000)
选股:SELECT(CODE AND 换手率3%-12% AND 饮料酒进出口 AND 竞价时涨跌幅买入大单 AND 特大单共计买入量大于0.7千万)

python代码参考

import pandas as pd
import tushare as ts

def select_stocks():
    pro = ts.pro_api()
    df1 = pro.stock_basic(exchange='', list_status='L', fields='ts_code,industry,name,list_date')
    df1 = df1[(df1['industry'].str.contains('饮料') & df1['industry'].str.contains('酒'))]
    df1 = df1[(df1['ts_code'].str.startswith('300')) | (df1['ts_code'].str.startswith('688'))]
    df2 = pro.daily_basic(ts_code='', trade_date='20220105', fields='ts_code,trade_date,turnover_rate,volume_ratio,pe,pb')
    df2 = df2[(df2['turnover_rate'] >= 3) & (df2['turnover_rate'] <= 12)]
    df2 = pd.merge(df2, df1, on='ts_code')
    df3 = pro.moneyflow(ts_code='', trade_date='20220105', fields='ts_code,trade_date,buy_sm_vol,buy_md_vol,buy_lg_vol,buy_elg_vol,buy_value')
    df3['total_larger_vol'] = df3['buy_lg_vol'] + df3['buy_elg_vol']
    df3 = df3[(df3['total_larger_vol'] >= 70000000)]
    df3 = pd.merge(df3, df2, on='ts_code')
    df4 = pro.market_trade(ts_code='', trade_date='20220105', fields='ts_code,trade_price,price_change,large_trade_type,volume,amount')
    df4 = df4[(df4['large_trade_type'].str.contains('买盘')) & (df4['volume'] >= 100000) & (df4['amount'] >= 99999)]
    df4 = df4.groupby('ts_code')['volume'].sum().reset_index()
    df4 = df4[(df4['volume'] >= 70000000)]
    df4 = pd.merge(df4, df3, on='ts_code')
    return df4['ts_code']
    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

    模板如何使用?

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


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

评论