(同花顺量化)500日内至少2次涨停_、外盘除内盘大于1

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

问财量化选股策略逻辑

  • 今日增仓占比>5%
  • 外盘/内盘大于1.3
  • 500日内至少2次涨停

选股逻辑分析

这个策略的逻辑是基于股票的成交量和换手率来筛选股票。首先,要求今日的增仓占比超过5%,意味着该股票最近有较多的资金流入,表明市场对该股票有较高的关注度。其次,要求外盘/内盘大于1.3,意味着该股票的成交量相对较高,表明市场对该股票的交易活跃度较高。最后,要求500日内至少2次涨停,意味着该股票在过去一段时间内表现较为强势,具有较高的上涨潜力。

有何风险?

这个策略的逻辑基于股票的成交量和换手率,但是这些数据并不一定能够准确反映股票的真实价值。此外,该策略只考虑了股票的短期表现,而忽略了长期趋势和基本面因素。因此,投资者在使用这个策略时需要谨慎,避免盲目跟风。

如何优化?

为了优化这个策略,可以考虑加入更多的基本面因素,例如公司的财务数据、盈利能力、行业地位等。此外,可以考虑加入更多的技术指标,例如价格趋势、均线等,以更准确地判断股票的走势。最后,可以考虑加入更多的量化指标,例如波动率、乖离率等,以更准确地判断股票的风险水平。

最终的选股逻辑

  • 今日增仓占比>5%
  • 外盘/内盘大于1.3
  • 500日内至少2次涨停
  • 基本面良好
  • 技术指标稳定
  • 量化指标风险适中

python代码参考

以下是基于问财的量化策略代码示例:

import talib
import pandas as pd

def get_stock_data(symbol):
    # 获取股票的历史数据
    df = pd.read_csv('stock_data.csv')
    df = df[df['symbol'] == symbol]
    df = df[['date', 'open', 'high', 'low', 'close', 'volume']]
    df = df.set_index('date')
    return df

def get_trend_data(symbol):
    # 获取股票的价格趋势数据
    df = pd.read_csv('trend_data.csv')
    df = df[df['symbol'] == symbol]
    df = df[['date', 'close']]
    df = df.set_index('date')
    return df

def get_volume_data(symbol):
    # 获取股票的成交量数据
    df = pd.read_csv('volume_data.csv')
    df = df[df['symbol'] == symbol]
    df = df[['date', 'volume']]
    df = df.set_index('date')
    return df

def get_rolling_std(symbol, window_size):
    # 获取股票的滚动标准差数据
    df = get_stock_data(symbol)
    df = df['close'].rolling(window_size).std()
    return df

def get_rolling_mean(symbol, window_size):
    # 获取股票的滚动平均数据
    df = get_stock_data(symbol)
    df = df['close'].rolling(window_size).mean()
    return df

def get_rolling_sum(symbol, window_size):
    # 获取股票的滚动和数据
    df = get_stock_data(symbol)
    df = df['close'].rolling(window_size).sum()
    return df

def get_trend_score(symbol):
    # 获取股票的价格趋势得分
    df = get_trend_data(symbol)
    df = df['close']
    trend_score = talib.MA(df, timeperiod=10)
    return trend_score

def get_volume_score(symbol):
    # 获取股票的成交量得分
    df = get_volume_data(symbol)
    df = df['volume']
    volume_score = talib.MA(df, timeperiod=30)
    return volume_score

def get_risk_score(symbol):
    # 获取股票的风险得分
    df = get_stock_data(symbol)
    df = df['close']
    rsi = talib.RSI(df, timeperiod=14)
    ema = talib.EMA(df, timeperiod=20)
    risk_score = (100 - (rsi * ema)) / 100
    return risk_score

def get_signal_score(symbol):
    # 获取股票的信号得分
    df = get_stock_data(symbol)
    df = df['close']
    trend_score = get_trend_score(symbol)
    volume_score = get_volume_score(symbol)
    risk_score = get_risk_score(symbol)
    signal_score = trend_score * volume_score * risk_score
    return signal_score

def get_score(symbol):
    # 获取股票的综合得分
    df = get_stock_data(symbol)
    df = df['close']
    trend_score = get_trend_score(symbol)
    volume_score = get_volume_score(symbol)

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

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

模板如何使用?

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


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

评论