(supermind量化-)振幅大于1、(昨日换手率_(今日竞价成交量除昨日成交量))_0

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

问财量化选股策略逻辑

本选股策略选取振幅大于1,昨日换手率*(今日竞价成交量/昨日成交量)在0.5到2之间,并且股票2021年营收/2018年营收比值大于1.1的股票作为投资目标。综合考虑了股票价格、成交量、市场走势和公司基本面等因素,选取具备成长性和投资回报的股票。

选股逻辑分析

本选股策略除了综合考虑了股票价格、成交量、市场走势等因素外,还引入了公司的营收历史数据作为重要的参考指标,关注股票的成长性和未来发展空间。同时,该策略挖掘的股票具有一定的成交量和市场热度,有较好的投资价值。

有何风险?

本选股策略依赖于股票市场的热度、成交量和公司基本面等因素,因此在市场情况波动较大的时期可能会存在一定的风险。同时,该策略过于依赖于公司的营收数据,可能忽略了其他细节因素对股票走势的影响,存在一定的投资风险。

如何优化?

本选股策略可以加入其他成长性的指标,如分析公司的利润情况、市场占有率、毛利润率等因素,以更全面、准确地判断股票的投资价值。同时,建议与其他短期、中期选股策略进行配合,综合判断股票的投资价值和安全性。

最终的选股逻辑

本选股策略选取振幅大于1,昨日换手率*(今日竞价成交量/昨日成交量)在0.5到2之间,并且股票2021年营收/2018年营收比值大于1.1的股票作为投资目标。结合其他成长性的指标和市场趋势进行分析,以综合评估股票的成长性和投资价值,选取投资回报高且风险可控的股票。

同花顺指标公式代码参考

Python代码参考

import tushare as ts
import time

pro = ts.pro_api()

def select_stocks(n):
    selected_stocks = []
    for code in pro.query('stock_basic', exchange='', list_status='L', fields='ts_code,name,industry,market,area,pe,pb,circ_mv')['ts_code']:
        if 'ST' in code:
            continue
        if '科创板' in pro.fina_mainbz(ts_code=code, year=2020, quarter=1)['bz_item']:
            continue
        df = pro.bar(ts_code=code, freq='15min', start_date='', end_date='')
        if df.iloc[:-2]['high'].max() <= df.iloc[-1]['high'] and (df.iloc[-1]['open'] - df.iloc[-1]['low']) / df.iloc[-1]['high'] > 0.01:
            vol_rate = pro.moneyflow(ts_code=code, start_date='', end_date='', fields='ts_code,trade_date,turnover_rate,vol,amount')
            vol_rate = vol_rate.set_index('trade_date')
            vol_rate['turnover_rate'] = (vol_rate['turnover_rate']*(df.iloc[-1]['amount']/vol_rate['vol'])).rolling(5).mean() # 5日平均换手率
            if vol_rate.iloc[-2]['vol'] > 0 and (vol_rate.iloc[-2]['turnover_rate']) > 0.5 and (vol_rate.iloc[-2]['turnover_rate']) < 2:
                revenue = pro.income(ts_code=code, start_date='', end_date='', fields='ts_code,f_ann_date,ann_date,end_date,report_type,total_revenue')
                revenue = revenue[revenue['report_type']==2] # 只取年报数据
                if revenue['f_ann_date'].str.contains('2020').any() and revenue['f_ann_date'].str.contains('2018').any():
                    rev_2021 = revenue[revenue['f_ann_date'].str.contains('2020')]['total_revenue'].iloc[0]
                    rev_2018 = revenue[revenue['f_ann_date'].str.contains('2018')]['total_revenue'].iloc[0]
                    if rev_2021 / rev_2018 > 1.1:
                        price_now = pro.realtime_quotes(code).iloc[0]['price']
                        money_flow = pro.moneyflow(ts_code=code, start_date='', end_date='', fields='buy_sm_amount,sell_sm_amount,buy_md_amount,sell_md_amount,buy_lg_amount,sell_lg_amount')
                        money_flow_total = money_flow.sum().sum()
                        if money_flow_total > 0:
                            selected_stocks.append([code, price_now, money_flow_total])
    selected_stocks = sorted(selected_stocks, key=lambda x: x[2], reverse=True)
    return [x[0] for x in selected_stocks][:n]
    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

    模板如何使用?

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


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

评论

需要帮助?

试试AI小助手吧