(iwencai选股策略)今日增仓占比_5%_、换手率_2%且_9%、至少5根均线重合的股

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

问财量化选股策略逻辑

  • 至少5根均线重合的股票
  • 换手率>2%且<9%
  • 今日增仓占比>5%

选股逻辑分析

这个策略基于三个条件来筛选股票。首先,要求至少5根均线重合,这可能意味着股票价格在一段时间内保持了稳定的趋势。其次,要求换手率在2%到9%之间,这意味着股票的交易活跃度适中,没有过度交易或极度低迷的情况。最后,要求今日增仓占比大于5%,这可能意味着机构投资者或主力资金正在积极买入该股票。

有何风险?

这个策略的局限性在于它只考虑了股票的基本面和技术面因素。它没有考虑市场情绪、政策因素等外部因素对股票价格的影响。此外,如果机构投资者或主力资金在买入股票后不久就将其卖出,那么这个策略可能会失去效果。

如何优化?

为了优化这个策略,可以考虑加入更多的条件来筛选股票,例如加入市盈率、市净率等财务指标,或者加入股票的行业、市值等信息。此外,可以考虑加入技术指标,例如布林线、移动平均线等,来更好地判断股票的价格趋势。

最终的选股逻辑

以下是一个优化后的策略,它结合了基本面和技术面因素:

  • 股票价格至少5根均线重合
  • 换手率在2%到9%之间
  • 市盈率低于20倍
  • 市净率高于1倍
  • 布林线在中轨之上
  • 移动平均线多头排列

python代码参考

以下是使用pandas和ta-lib库实现上述策略的python代码:

import pandas as pd
import talib

def get_top筛选条件:
    # 获取股票数据
    df = pd.read_csv('stock_data.csv')
    
    # 筛选条件1:至少5根均线重合
    df['ma5'] = talib.MA(df['close'], timeperiod=5)
    df['ma10'] = talib.MA(df['close'], timeperiod=10)
    df['ma20'] = talib.MA(df['close'], timeperiod=20)
    df['ma30'] = talib.MA(df['close'], timeperiod=30)
    df['ma60'] = talib.MA(df['close'], timeperiod=60)
    df['ma120'] = talib.MA(df['close'], timeperiod=120)
    df['ma250'] = talib.MA(df['close'], timeperiod=250)
    df['ma5 ma10 ma20 ma30 ma60 ma120 ma250'] = df.apply(lambda x: x['ma5'] == x['ma10'] == x['ma20'] == x['ma30'] == x['ma60'] == x['ma120'] == x['ma250'], axis=1)
    df = df[df['ma5 ma10 ma20 ma30 ma60 ma120 ma250'] == True]
    
    # 筛选条件2:换手率在2%到9%之间
    df['turnover'] = df['volume'] / df['close']
    df = df[(df['turnover'] > 2) & (df['turnover'] < 9)]
    
    # 筛选条件3:市盈率低于20倍
    df['pe'] = df['close'] / df['eps']
    df = df[df['pe'] < 20]
    
    # 筛选条件4:市净率高于1倍
    df['pb'] = df['close'] / df['book_value']
    df = df[df['pb'] > 1]
    
    # 筛选条件5:布林线在中轨之上
    df['boll_upper'] = talib.BBANDS(df['close'], timeperiod=20, upperband=2, middleband=1, lowerband=1)
    df = df[df['boll_upper'] > df['close']]
    
    # 筛选条件6:移动平均线多头排列
    df['ma'] = talib.MA(df['close'], timeperiod=5)
    df = df[df['ma'] > df['ma10']]
    df = df[df['ma'] > df['ma20']]
    df = df[df['ma'] > df['ma30']]
    df = df[df['ma'] > df['ma60']]
    df

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

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

模板如何使用?

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


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

评论