(supermind量化)流通市值大于100亿元_、10日涨幅大于0小于35、至少5根均线

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

问财量化选股策略逻辑

首先,我们定义了以下三个条件作为我们的选股逻辑:

  1. 至少5根均线重合的股票
  2. 10日涨幅大于0小于35
  3. 流通市值大于100亿元

选股逻辑分析

这个策略的目的是找到那些同时满足上述三个条件的股票。首先,我们来看一下第一个条件:至少5根均线重合的股票。这意味着股票的价格趋势在一段时间内比较稳定,可以减少市场波动对投资的影响。接下来,我们来看一下第二个条件:10日涨幅大于0小于35。这意味着股票在最近10天内有上涨的趋势,但涨幅不是很大,说明市场对该股票的预期不是很高。最后,我们来看一下第三个条件:流通市值大于100亿元。这意味着该股票的规模比较大,比较稳定,也说明该股票的流动性比较好。

有何风险?

这个策略的风险主要来自于市场波动和股票的选择。首先,市场波动可能会导致股票价格的大幅波动,从而影响投资收益。其次,股票的选择也非常重要。如果选择的股票不符合上述三个条件,或者不符合投资者的预期,那么可能会导致投资失败。

如何优化?

为了优化这个策略,我们可以考虑以下几点:

  1. 增加更多的均线作为参考,例如120日均线、250日均线等,这样可以更好地把握股票的趋势。
  2. 考虑加入其他条件,例如市盈率、市净率等,这样可以更好地评估股票的价值。
  3. 使用更先进的技术分析方法,例如机器学习、深度学习等,来预测股票的价格走势。

最终的选股逻辑

最终的选股逻辑如下:

  1. 股票的日线图中至少有5根均线重合。
  2. 股票的10日涨幅大于0小于35。
  3. 股票的流通市值大于100亿元。
  4. 股票的市盈率小于20倍,市净率小于2倍。
  5. 股票的成交量大于100万股。

python代码参考

以下是使用pandas和numpy库实现该策略的python代码:

import pandas as pd
import numpy as np

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

def check_stock符合条件(stock_data, n):
    # 计算n根均线的平均值
    ma = stock_data.rolling(window=n).mean()
    # 判断是否至少有5根均线重合
    if len(ma) >= 5:
        return True
    else:
        return False

def get符合条件的股票(stock_data, n):
    # 获取符合条件的股票
    result = []
    for index, row in stock_data.iterrows():
        if check_stock(row, n):
            result.append(index)
    return result

def get_top_n_stocks(stock_data, n):
    # 获取流通市值最大的n支股票
    result = []
    market_cap = stock_data['market_cap'].sort_values(ascending=False)
    for index, row in market_cap.iterrows():
        if row['market_cap'] > 100e9:
            result.append(index)
    return result

def get_best_stocks(stock_data, n):
    # 获取综合评分最高的n支股票
    result = []
    # 计算综合评分
    score = stock_data['close'] * stock_data['volume'] / stock_data['market_cap']
    score = score.rolling(window=n).mean()
    # 获取综合评分最高的n支股票
    for index, row in score.iterrows():
        if row['score'] > 1:
            result.append(index)
    return result

def get_top_n_stocks_with_momentum(stock_data, n):
    # 获取10日涨幅最大的n支股票
    result = []
    # 获取10日涨幅
    gain = stock_data['close'].pct_change(10)
    gain = gain.rolling(window=n).mean()
    # 获取10日涨幅最大的n支股票
    for index, row in gain.iterrows():
        if row['gain'] > 35:
            result.append(index)
    return result

def get_best_stocks_with_momentum(stock_data, n):
    # 获取综合评分最高的n支股票
    result = []
    # 计算综合评分
    score = stock_data['close'] * stock_data['volume'] / stock_data['market_cap']
    score = score.rolling(window=n).mean()
    # 获取综合评分最高的n支股票
    for index, row in score.iterrows():
        if row

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

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

模板如何使用?

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


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

评论