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

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

问财量化选股策略逻辑

本选股策略选取振幅大于1,昨日换手率*(今日竞价成交量/昨日成交量)在0.5到2之间,涨幅在-5%到2.6%之间的股票作为投资目标。此策略主要通过技术分析和振幅涨幅限制,筛选出具备上涨趋势和稳健风险控制的股票。

选股逻辑分析

本选股策略主要考虑市场波动和历史交投情况,通过技术分析筛选出具备较好投资价值的股票。振幅和涨幅反映出市场的基本属性,而历史交易量和换手率则反映出市场情绪变化,综合考虑可更好地判断当前市场行情。

有何风险?

本选股策略选股标准较为固定,可能会漏选具备上涨潜力的股票,也有可能选入未来表现较差的股票。此外,市场波动和基本面变化,以及政策、事件等因素可能会对股价带来较大影响,从而引起选股策略的失效或者误判。

如何优化?

为了更好地优化选股策略,可增加其他基本面数据和自定义因子的考量,如市盈率、市净率、资产负债率、ROE等指标,更全面地分析企业财务状况、估值和发展潜力等因素。同时,可以结合基本面分析和市场情绪分析等,以便更好地反映市场情况并降低误判。加强对股票流动性的量化研究,提高选股策略的稳定性。

最终的选股逻辑

本选股策略选取振幅大于1,昨日换手率*(今日竞价成交量/昨日成交量)在0.5到2之间,涨幅在-5%到2.6%之间的股票作为投资目标。在此基础上,加入更多基本面数据和自定义因子的考量,如市盈率、市净率、资产负债率、ROE等指标,更全面地分析企业财务状况、估值和发展潜力等因素,以选出具备良好投资回报潜力和风险可控的股票。

同花顺指标公式代码参考

Python代码参考

import tushare as ts
import pandas as pd

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,list_date,list_status,total_mv')["ts_code"]:
        if 'ST' in code:
            continue
        if float(pro.stock_basic(ts_code=code, fields='circ_mv').iloc[0]) / 100000000 < 50:
            continue
        if float(pro.stock_basic(ts_code=code, fields='circ_mv').iloc[0]) / 100000000 > 100:
            continue
        
        price = pro.query('daily', ts_code=code, start_date='', end_date='', fields='ts_code,trade_date,open,high,low,close').\
                    assign(amplitude=lambda x: (x['high'] - x['low']) / x['pre_close'] * 100).\
                    assign(volume_rate = lambda x: pro.query('quote', ts_code=x['ts_code'].iloc[0], fields='trade_date,vol,turnover_rate,mf_vol,mf_amt').set_index('trade_date').\
                            assign(jjjhl=lambda x:x['mf_vol']/x['vol']).\
                            assign(cjjhl=lambda x:x['turnover_rate']/x['jjjhl']).\
                            assign(diff_cjjhl= lambda x:x['cjjhl'].diff()).\
                            dropna().iloc[-1]['diff_cjjhl']
                                    )
        if price.iloc[-1]['amplitude'] < 1 or price.iloc[-1]['volume_rate'] < 0.5 or price.iloc[-1]['volume_rate'] > 2:
            continue
        jj_price = pro.query('daily', ts_code=code, start_date='', end_date='', fields='ts_code,trade_date,open,close').\
                    assign(price_change=lambda x: x['close'] / x['pre_close'] - 1)
        if jj_price.iloc[-1]['price_change'] < -0.05 or jj_price.iloc[-1]['price_change'] > 0.026:
            continue
        selected_stocks.append(code)
    return selected_stocks[:n]
    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

    模板如何使用?

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


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

评论

需要帮助?

试试AI小助手吧