(supermind)振幅大于1、换手率_2%且_9%、100亿市值以内的无亏损企业_

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

问财量化选股策略逻辑

选股逻辑为:振幅大于1、换手率大于2%小于9%、100亿市值以内的无亏损企业。该选股策略主要从波动性、市场交易情况、公司规模和盈利能力等多个角度进行综合考虑。

选股逻辑分析

该选股策略包含了四个条件,分别为振幅大于1、换手率大于2%小于9%、市值不超过100亿以及无亏损企业。振幅大于1可以较好地筛选出波动性较大的股票,换手率大于2%小于9%表明了股票市场的交易活跃程度,市值不超过100亿可以过滤掉部分较大的公司,而筛选无亏损企业则可以较好地剔除一些财务状况不佳的公司。

有何风险?

虽然振幅和换手率等指标一定程度上可以反映出股票的交易活跃程度和波动性,但其对公司基本面和业绩等因素的反映仍不够全面。同时,对市值的限制也可能会忽略一些有潜力的小市值公司。

如何优化?

可以选用更多的综合因子,例如市盈率、市净率、股息率等基本面指标和RSI、MACD等技术指标,对选股策略进行综合考虑和优化。同时,对选用的各个因素进行权重调整,尽可能地平衡各个因素对选股的影响。

最终的选股逻辑

选股条件为:振幅大于1、换手率大于2%小于9%、市值不超过100亿以及无亏损企业。该选股策略主要从波动性、市场交易情况、公司规模和盈利能力等多个角度进行综合考虑。

同花顺指标公式代码参考

选股条件为:振幅大于1、换手率大于2%小于9%、市值不超过100亿以及无亏损企业。

C1: ABS((HIGH/LOW-1)*100)>=1;//振幅大于1
C2: TURNOVER_RATE>2 AND TURNOVER_RATE<=9;//换手率大于2%小于9%
C3: CIRC_MCAP<=100000;//市值不超过100亿
C4: NP_PARENT_COMPANY_2019>0;//无亏损企业
SYMBOL: C1 AND C2 AND C3 AND C4;

python代码参考

import pandas as pd
import tushare as ts

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

    # 获取所有股票数据
    data = pro.stock_basic(exchange='', list_status='L', fields='ts_code,name,market,circ_mvalue')

    # 筛选符合条件的股票
    df_list = []
    for i in range(len(data)):
        code = data.iloc[i]['ts_code']
        # 获取财务数据
        finance_data = pro.fina_indicator(ts_code=code, start_date='20190101', end_date='20191231')
        if finance_data.empty or finance_data['np_parent_company_2019'].iloc[0] <= 0: # 无财务数据或有亏损企业
            continue
        # 判断是否符合要求
        k_data = pro.daily(ts_code=code, start_date='20210101', end_date='20211231')
        if k_data.empty:
            continue
        if abs((k_data.iloc[-1]['high'] / k_data.iloc[-1]['low'] - 1) * 100) < 1: # 振幅小于1
            continue
        turnover_rate = k_data.iloc[-1]['vol'] / (k_data.iloc[-2]['vol'] + k_data.iloc[-3]['vol'] + k_data.iloc[-4]['vol']) * 100 # 换手率
        if turnover_rate < 2 or turnover_rate > 9: # 换手率不在2%~9%之间
            continue
        if data.iloc[i]['circ_mvalue'] > 100000: # 市值超过100亿
            continue
        # 添加符合条件的股票
        info = {}
        info['ts_code'] = code
        info['name'] = data.iloc[i]['name']
        df_list.append(info)

    # 根据个股热度排序
    selected_stocks = pd.DataFrame(df_list)
    selected_stocks = selected_stocks.head(length)
    return selected_stocks

致辞

本次问答为选股逻辑:振幅大于1、换手率大于2%小于9%、100亿市值以内的无亏损企业的问答。该选股策略主要从波动性、市场交易情况、公司规模和盈利能力等多个角度进行综合考虑,建议结合其他技术指标和基本面指标进行综合筛选以提高选股的准确性。所给出的通达信指标公式参考和python代码参考仅供参考,读者可以根据实际情况进行优化和修改。

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

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

    模板如何使用?

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


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

评论

需要帮助?

试试AI小助手吧