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

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

问财量化选股策略逻辑

本选股策略选取振幅大于1,昨日换手率*(今日竞价成交量/昨日成交量)在0.5到2之间,竞价涨幅在-2%到5%之间的股票作为投资目标。通过技术分析和市场流动性因素相结合,筛选出具备上涨趋势和良好资金流动性的股票。

选股逻辑分析

本选股策略综合考虑市场波动和流动性两个方面来选股,包括振幅、换手率、流动性和竞价涨幅等指标。振幅和涨幅反映出市场的基本属性,涨幅范围也有一定限制,可以避免选出不确定性太大的股票。同时,通过流动性指标来考虑交易必要性,以及基本面分析和市场情绪分析等因素,以便更好地反映市场情况并降低误判。

有何风险?

本选股策略选股标准较为固定,可能会漏选一些有潜力的股票。同时,选股标准的限定,可能会剔除有一些短线资金增量的股票。此外,市场波动和基本面变化也可能极大地影响股价,从而引起本选股策略的失效或者误判。

如何优化?

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

最终的选股逻辑

本选股策略选取振幅大于1,昨日换手率*(今日竞价成交量/昨日成交量)在0.5到2之间,竞价涨幅在-2%到5%之间的股票作为投资目标。在此基础上,加入更多基本面数据和自定义因子的考量,综合判断股票的财务状况、行业竞争力,以及市场情绪等因素,以选出具备良好投资回报潜力和风险可控的股票。

同花顺指标公式代码参考

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('market_daily', ts_code=code, start_date='', end_date='', fields='ts_code,trade_date,open,close').\
                    assign(cjj=lambda x:x['close']/x['pre_close'] * 100 - 100)
        if jj_price.iloc[-1]['cjj'] < -2 or jj_price.iloc[-1]['cjj'] > 5:
            continue
        selected_stocks.append(code)
    return selected_stocks[:n]
    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

    模板如何使用?

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


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

评论

需要帮助?

试试AI小助手吧