(iwencai选股策略)集中度70_20%_、三个技术指标同时金叉、今日增仓占比_5%

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

问财量化选股策略逻辑

  • 今日增仓占比>5%
  • 三个技术指标同时金叉
  • 集中度70<20%

选股逻辑分析

  • 今日增仓占比超过5%,说明当前市场资金对该股票较为青睐,有可能出现上涨趋势。
  • 三个技术指标同时金叉,说明该股票的短期趋势和技术指标都较为良好,有利于上涨。
  • 集中度70<20%,说明该股票的筹码较为分散,有利于上涨。

有何风险?

  • 该策略的逻辑是基于市场资金和股票的技术指标,如果市场资金不再青睐该股票或者股票的技术指标出现恶化,该策略可能会失效。
  • 该策略需要实时获取市场数据和股票数据,如果数据出现延迟或者不准确,可能会导致策略失效。

如何优化?

  • 可以考虑加入更多技术指标和市场因素,以提高策略的准确性和稳定性。
  • 可以考虑加入止损机制,以避免策略在出现失效时造成更大的损失。

最终的选股逻辑

  • 今日增仓占比>5%
  • DIF线上穿DEA线,同时MACD柱状图翻红
  • KDJ金叉,且J线位于20以下
  • 集中度70<20%

python代码参考

import talib
import numpy as np

def get_kdj(rsi):
    # 计算RSI的快线和慢线
    fast = talib.RSI(rsi, timeperiod=12)
    slow = talib.RSI(rsi, timeperiod=26)
    
    # 计算KDJ的三个值
    k = talib.STOCHF(rsi, timeperiod=9, fastperiod=3, slowperiod=3)[0]
    d = talib.STOCHF(rsi, timeperiod=9, fastperiod=3, slowperiod=3)[1]
    j = talib.STOCHF(rsi, timeperiod=9, fastperiod=3, slowperiod=3)[2]
    
    # 计算KDJ的交叉点
    if k > d:
        kdn = 'up'
    else:
        kdn = 'down'
    
    if k > j:
        jdn = 'up'
    else:
        jdn = 'down'
    
    return kdn, jdn

def get_bollinger_bands(rsi):
    # 计算Bollinger Bands的上下轨
    upper = talib.BBANDS(rsi, timeperiod=20, std=2)
    lower = talib.BBANDS(rsi, timeperiod=20, std=2)
    
    # 计算Bollinger Bands的中轨
    middle = talib.MA(rsi, timeperiod=20)
    
    return upper, lower, middle

def get_trend_strength(rsi):
    # 计算趋势强度
    trend_strength = talib.MA(rsi, timeperiod=14)
    
    return trend_strength

def get_important_points(rsi):
    # 计算重要点
    important_points = talib.MA(rsi, timeperiod=14)
    
    return important_points

def get_position(rsi, upper, lower, middle, trend_strength, important_points):
    # 计算股票的买入/卖出位置
    if rsi > middle and trend_strength > important_points:
        position = 'long'
    elif rsi < middle and trend_strength < important_points:
        position = 'short'
    else:
        position = 'hold'
    
    return position

def get_kdj_kdn_jdn_position(rsi, upper, lower, middle, trend_strength, important_points):
    # 计算KDJ的买入/卖出位置
    kdn, jdn = get_kdj(rsi)
    if kdn == 'up' and jdn == 'down':
        position = 'long'
    elif kdn == 'down' and jdn == 'up':
        position = 'short'
    else:
        position = 'hold'
    
    return position

def get_bollinger_bands_position(rsi, upper, lower, middle, trend_strength, important_points):
    # 计算Bollinger Bands的买入/卖出位置
    upper, lower, middle = get_bollinger_bands(rsi)
    if upper > middle and trend_strength > important_points:
        position = 'long'
    elif lower < middle and trend_strength < important_points:
        position = 'short'
    else:
        position = 'hold'
    
    return position

def get_trend_strength_position(rsi, upper

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

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

模板如何使用?

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


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

评论