(同花顺量化)10天内涨停天数大于2_、10日涨幅大于0小于35、至少5根均线重合的股票

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

问财量化选股策略逻辑

这个策略基于以下三个条件来筛选股票:

  1. 至少5根均线重合:这表明股票的价格趋势相对稳定,不容易出现大幅波动。
  2. 10日涨幅大于0小于35:这表明股票在最近10天内有一定的上涨趋势,但涨幅不是很大,没有达到疯狂的程度。
  3. 10天内涨停天数大于2:这表明股票在最近10天内有较强的市场表现,可能受到资金的关注和追捧。

选股逻辑分析

这个策略的逻辑是基于技术分析和市场表现来筛选股票。通过筛选出均线重合、上涨趋势稳定、市场表现活跃的股票,可以提高投资的成功率。但是,需要注意的是,这些条件并不是绝对的,股票市场存在较大的不确定性,因此这个策略并不是完全可靠的。

有何风险?

这个策略的风险主要在于市场风险和股票本身的风险。市场风险是指股票市场的波动性,可能会导致投资者的收益出现较大的波动。股票本身的风险则包括公司财务风险、经营风险、政策风险等,这些因素都可能影响股票的价格和表现。

如何优化?

为了优化这个策略,可以考虑加入更多的条件来筛选股票,例如加入市盈率、市净率等财务指标,或者加入行业因素、政策因素等。同时,还可以考虑加入风险管理措施,例如止损、分散投资等,以降低投资风险。

最终的选股逻辑

以下是一个可能的最终的选股逻辑:

  1. 筛选出日线图中至少5根均线重合的股票。
  2. 筛选出10日涨幅大于0小于35的股票。
  3. 筛选出10天内涨停天数大于2的股票。
  4. 筛选出市盈率小于20、市净率大于1的股票。
  5. 筛选出行业景气度较高、政策支持力度较大的股票。

python代码参考

以下是一个可能的python代码参考:

import talib
import pandas as pd

def get_rolling_mean(df, n):
    return df.rolling(n).mean()

def get_rolling_std(df, n):
    return df.rolling(n).std()

def get_rolling_max(df, n):
    return df.rolling(n).max()

def get_rolling_min(df, n):
    return df.rolling(n).min()

def get_crossed_averages(df, n1, n2):
    return df['close'].rolling(n1).mean() > df['close'].rolling(n2).mean()

def get_stock筛选条件(df):
    # 筛选出至少5根均线重合的股票
    rolling_mean5 = get_rolling_mean(df, 5)
    rolling_mean10 = get_rolling_mean(df, 10)
    rolling_mean20 = get_rolling_mean(df, 20)
    rolling_mean60 = get_rolling_mean(df, 60)
    rolling_mean120 = get_rolling_mean(df, 120)
    rolling_mean240 = get_rolling_mean(df, 240)
    rolling_mean500 = get_rolling_mean(df, 500)
    rolling_mean1000 = get_rolling_mean(df, 1000)
    rolling_mean2000 = get_rolling_mean(df, 2000)
    rolling_mean3000 = get_rolling_mean(df, 3000)
    rolling_mean4000 = get_rolling_mean(df, 4000)
    rolling_mean5000 = get_rolling_mean(df, 5000)
    rolling_mean6000 = get_rolling_mean(df, 6000)
    rolling_mean7000 = get_rolling_mean(df, 7000)
    rolling_mean8000 = get_rolling_mean(df, 8000)
    rolling_mean9000 = get_rolling_mean(df, 9000)
    rolling_mean10000 = get_rolling_mean(df, 10000)
    rolling_mean11000 = get_rolling_mean(df, 11000)
    rolling_mean12000 = get_rolling_mean(df, 12000)
    rolling_mean13000 = get_rolling_mean(df, 13000)
    rolling_mean14000 = get_rolling_mean(df, 14000)
    rolling_mean15000 = get_rolling_mean(df, 15000)
    rolling_mean16000 = get_rolling_mean(df, 16000)
    rolling_mean17

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

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

模板如何使用?

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


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

评论