(supermind策略)换手率3%-12%、北京A股除外、9点25分涨幅小于6%_

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

问财量化选股策略逻辑

选股逻辑为:在换手率3%-12%,剔除北京A股,同时选出9点25分涨幅小于6%的股票。

选股逻辑分析

该选股策略同样侧重于资金面,使用涨幅指标和换手率指标来筛选股票。限制换手率范围、排除北京A股并同时选出涨幅较小的股票,旨在筛选出流动性较好并具有一定投资价值的股票。

有何风险?

同上,由于仅考虑资金面因素,未考虑其他影响股票价格的因素可能会选出短期热门股而忽略了长期投资价值。同时,选取的时间点和范围也有可能会影响到筛选结果的准确性。

如何优化?

建议结合其他的基本面和技术面指标,如市盈率、市净率、均线、MACD等指标,综合判断选出的股票是否具有投资价值。同时可以适当调整选股策略,如调整时间点和涨幅范围等。

最终的选股逻辑

在换手率3%-12%,剔除北京A股,同时选出9点25分涨幅小于6%的股票,结合基本面和技术面的指标,综合判断选出具有长期投资价值的股票。

同花顺指标公式代码参考

FILTER:SELECTC(((HSL>3) AND (HSL<12) AND (AVERAGE[北京股份]==0) AND ((TODAYOPEN*1.06)>=REF(TODAYOPEN,1))),0,1);

其中,HSL为换手率指标,TODAYOPEN为当日开盘价指标,REF(TODAYOPEN,1)为昨日开盘价指标。

Python代码参考

import tushare as ts

def select_good_stocks():
    ts.set_token('your_token')
    pro = ts.pro_api()

    df1 = pro.stock_basic(exchange='SZSE', list_status='L', fields='ts_code,name,industry,pe,pb,turnover_rate,amount,total_mv,float_mv')
    df1 = df1[(df1['turnover_rate'] >= 3) & (df1['turnover_rate'] <= 12)]
    df1 = df1[(df1['name'].str.contains('ST') == False)]
    df1 = df1[(df1['ts_code'].str.startswith('002') == True) | (df1['ts_code'].str.startswith('000') == True)]
    df1 = df1[df1['float_mv'] >= 10000000000]
    
    df2 = pro.daily_basic(ts_code='', trade_date='20210118', fields='ts_code,trade_date,turnover_rate,pe,pb,cf_mv')
    df2 = df2[(df2['turnover_rate'] >= 3) & (df2['turnover_rate'] <= 12)]
    df2['rise_rate'] = (pro.daily(ts_code='', trade_date='20210118', fields='open,pre_close').set_index('ts_code')['open'] / pro.daily(ts_code='', trade_date='20210115', fields='close').set_index('ts_code')['close']) - 1
    df2 = df2[(df2['rise_rate'] <= 0.06)]
    df2 = df2.set_index('ts_code')

    df3 = df1.join(df2, how='inner')

    df4 = pro.moneyflow(trade_date='20210118', fields='ts_code, buy_sm_vol, sell_sm_vol, buy_md_vol, sell_md_vol, buy_lg_vol, sell_lg_vol')
    df4['net_volume'] = df4['buy_lg_vol'] - df4['sell_lg_vol']
    df4 = df4.set_index('ts_code')

    df5 = df3.join(df4, how='left')
    df5 = df5.sort_values(by=['turnover_rate'], ascending=False)
    df5 = df5.head(20)
    return df5

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

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

    模板如何使用?

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


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

评论