(supermind策略)换手率3%-12%、100亿市值以内的无亏损企业、收盘价_bol

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

问财量化选股策略逻辑

选股逻辑为:在换手率3%-12%、市值100亿以内、无亏损的A股中选择股票,并且当日收盘价高于布林带的上轨值且低于中轨值。

选股逻辑分析

该逻辑主要根据股票行情和技术指标进行选股。根据市值、换手率等基本面指标选取优质股票,然后基于布林带指标进行筛选,只选取当日收盘价高于布林带上轨值且低于中轨值的个股。这种投资策略更注重股票的波动性,具有较高的短期赚钱效果,但也存在一定的市场风险。

有何风险?

该选股策略过于注重短期价格波动,有可能忽略股票长期投资价值。同时,布林带指标具有时间段的依赖性,选股策略过度依赖此指标也存在风险。此外,选股逻辑选股依据单一的技术指标,可能导致投资组合的多样性不足,不利于降低整体风险。

如何优化?

可以综合考虑各种基本面数据和技术指标的影响,比如通过融合市盈率、财务报表等基本面数据,加强对股票内在价值的分析。同时,可以将多个技术指标结合使用,提高选股策略多元化和合理性,更好地捕捉股票行情趋势和波动。

最终的选股逻辑

在符合换手率3%-12%、市值100亿以内、无亏损的A股中选择股票,并在此基础上,综合考虑基本面数据和多种技术指标的变化趋势,筛选出符合条件且不同类型的股票投资组合。选股逻辑应包含充分考虑股票内在价值、波动性等因素,以稳健的投资理念为基础。

同花顺指标公式代码参考

选股公式:(TBD = 0 AND YDNZ < 1.0 AND HSL >= 0.03 AND HSL <= 0.12 AND CIRCMV <= 10000000000 AND MARKET in ('深交所主板') AND CLOSE > BOLLUPPER(CLOSE, 20) AND CLOSE < BOLLMA(CLOSE, 20)) ORDER BY GPJD DESC

Python代码参考

import pandas as pd
import tushare as ts
import talib

def get_good_stocks():
    good_list = []

    ts.set_token('your_token')
    pro = ts.pro_api()

    # 获取股票列表
    stock_list = pro.stock_basic(exchange='', list_status='L', fields='ts_code, name, industry, market, list_date')
    
    for ts_code in stock_list['ts_code']:
        # 判断该股票是否亏损
        income_data = pro.income(ts_code=ts_code, start_date='20190101', end_date='20211231')
        if income_data[income_data.report_type == '1'].iloc[-1]['n_income'] < 0:
            continue

        # 判断该股票的市值、换手率是否符合条件
        market_data = pro.daily_basic(ts_code=ts_code, start_date='20220215', end_date='20220218', fields='ts_code, circ_mv, total_mv, turnover_rate')
        if market_data[market_data['circ_mv'] > 10000000000].empty:
            continue
        if market_data[market_data['turnover_rate'] < 0.03].empty or market_data[market_data['turnover_rate'] > 0.12].empty:
            continue
        
        # 判断该股票的收盘价是否在布林带上下轨值之间
        k_data = pro.daily(ts_code=ts_code, start_date='20220101', end_date='20220218', fields='ts_code, trade_date, close')
        upper, mid, lower = talib.BBANDS(k_data['close'], timeperiod=20)
        if k_data.iloc[-1]['close'] >= upper[-1] or k_data.iloc[-1]['close'] <= mid[-1]:
            continue

        good_list.append(ts_code)

    return good_list

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

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

    模板如何使用?

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


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

评论