(supermind量化-)振幅大于1、昨日主力控盘、昨日非涨停板_

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

问财量化选股策略逻辑

本选股策略选取以下股票:振幅大于1、昨日主力控盘、昨日非涨停板。该选股策略基于股票的技术面因素和基本面因素,以期能在短期内获得一定的收益。

选股逻辑分析

该选股策略首先筛选了振幅大于1、昨日主力控盘,然后再排除了昨日涨停板的股票,从技术面和市场表现考虑了股票的价格波动性和资金流入情况。该选股策略结合了技术面和市场表现的因素,能够全面了解股票的市场情况。

有何风险?

该选股策略存在一定风险,因为选股策略过于简单,只考虑了振幅、主力控盘和涨停板等因素,忽略了更多的技术面和基本面指标。同时,策略参数也需要根据市场情况和行情进行不断调整和优化,否则可能会导致较大的波动和风险。

如何优化?

可以加入更多的技术面和基本面指标,比如均线、相对强弱指标、财务指标、市场表现、行业趋势等,以更全面地了解股票的市场走势和公司基本信息。此外,策略参数也可以适当调整和优化,比如振幅、主力控盘和涨停板等指标,并根据市场情况和行情及时调整策略。

最终的选股逻辑

选取振幅大于1、昨日主力控盘,昨日非涨停板的股票进行选取。

同花顺指标公式代码参考

python代码参考

import tushare as ts
from datetime import datetime,timedelta

amplitude_filter = 0.01
hld_filter = 0.5

def select_stock():
    stock_list = ts.get_today_all()
    selected_stocks = stock_list[stock_list["volume"] > 0]
    selected_stocks = selected_stocks[selected_stocks["amplitude"] >= amplitude_filter]
    selected_stocks = selected_stocks[selected_stocks["turnoverratio"] >= 5]
    selected_stocks = selected_stocks[selected_stocks["per"] >= 0]
    selected_stocks = selected_stocks[selected_stocks["pb"] >= 0]
    selected_stocks = selected_stocks[selected_stocks["circulating_market_cap"] > selected_stocks["total_market_cap"] / 2]
    selected_stocks = selected_stocks[selected_stocks["holders"] > 0]
    selected_stocks = selected_stocks[selected_stocks["is_st"] == "否"]
    
    today_date = ts.get_hist_data(selected_stocks.iloc[0]['code'], ktype="D", start=str(datetime.now().date()), end=str(datetime.now().date()), pause=0.01)
    if today_date is None:
        return None
    if today_date.iloc[0]['p_change'] > 9.7:
        return None
    
    today_tick = ts.get_today_ticks(selected_stocks['code'][0], [])
    if any(today_tick[today_tick['price'] == i]['volume'] > 0 for i in today_tick['b1'].unique()) or any(today_tick[today_tick['price'] == i]['volume'] > 0 for i in today_tick['a1'].unique()):
        return None
    
    yesterday_date = datetime.now() - timedelta(days=1)
    yesterday_ma = ts.get_hist_data(selected_stocks.iloc[0]['code'], ktype="D", start=str(yesterday_date.date()), end=str(yesterday_date.date()), pause=0.01)
    ratio = today_date['volume'][0] / ts.get_tick_data(selected_stocks['code'][0], date=str(yesterday_date.date()), src='tt')[0]['volume']
    hld_ratio = selected_stocks["turnoverratio"] * ratio
    if yesterday_ma.iloc[0]['p_change'] > 9.8 or hld_ratio <= hld_filter:
        return None
    
    return selected_stocks

print(select_stock())

以上代码仅供参考,具体实现方法可以根据投资者需要和市场情况进行调整。

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

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

    模板如何使用?

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


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

评论