(supermind量化)连续5年ROE>15%_、10日涨幅大于0小于35、至少5根均线

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

问财量化选股策略逻辑

在问财中,我们可以使用量化策略来筛选股票。下面是一个基于均线和ROE的量化策略逻辑:

  1. 选取至少5根均线重合的股票。这可以减少股票的波动性,使得股票更加稳定。
  2. 选取10日涨幅大于0小于35的股票。这可以筛选出有潜力的股票,但不至于过热。
  3. 选取连续5年ROE大于15%的股票。这可以筛选出盈利能力较强的股票。

选股逻辑分析

这个策略逻辑基于股票的均线和ROE,可以筛选出具有稳定性和盈利能力的股票。但是,需要注意的是,这个策略逻辑没有考虑其他因素,例如公司的财务状况、行业背景等。因此,仅仅依靠这个策略逻辑进行投资可能会存在一定的风险。

有何风险?

这个策略逻辑没有考虑其他因素,例如公司的财务状况、行业背景等。因此,仅仅依靠这个策略逻辑进行投资可能会存在一定的风险。例如,如果公司财务状况不佳,即使均线和ROE符合条件,也可能存在投资风险。此外,如果行业背景不佳,也可能导致股票价格下跌。

如何优化?

为了减少投资风险,我们可以考虑将这个策略逻辑与其他因素相结合。例如,可以考虑公司的财务状况、行业背景等因素,以更加全面地评估股票的投资价值。此外,还可以考虑使用技术分析方法,例如趋势分析、支撑位和阻力位等,以更加准确地预测股票价格走势。

最终的选股逻辑

以下是最终的量化策略逻辑:

  1. 选取至少5根均线重合的股票。
  2. 选取10日涨幅大于0小于35的股票。
  3. 选取连续5年ROE大于15%的股票。
  4. 选取财务状况良好、行业背景稳定、技术分析趋势向上的股票。

python代码参考

以下是基于上述策略逻辑的python代码参考:

import talib
import pandas as pd

def get_stock_data():
    # 获取股票数据
    data = pd.read_csv('stock_data.csv')
    return data

def calculate_moving_average(data, n):
    # 计算n日移动平均线
    ma = talib.MA(data, n)
    return ma

def get_stocks_with_converging_moving_average(data, n1, n2):
    # 获取至少n1日和n2日均线重合的股票
    ma1 = calculate_moving_average(data, n1)
    ma2 = calculate_moving_average(data, n2)
    ma1_diff = ma1[-1] - ma1[0]
    ma2_diff = ma2[-1] - ma2[0]
    stocks = []
    for i in range(len(data)):
        if ma1_diff == ma2_diff:
            stocks.append(data.iloc[i])
    return stocks

def get_stocks_with_positive_trend(data, n):
    # 获取10日涨幅大于0小于35的股票
    data['trend'] = data['close'].pct_change(n)
    stocks = data[(data['trend'] > 0) & (data['trend'] < 0.35)]
    return stocks

def get_stocks_with_high_roe(data):
    # 获取连续5年ROE大于15%的股票
    stocks = data[(data['roe'] > 15) & (data['roe'].shift(1) > 15) & (data['roe'].shift(2) > 15) & (data['roe'].shift(3) > 15) & (data['roe'].shift(4) > 15)]
    return stocks

def get_optimized_stocks(data):
    # 获取财务状况良好、行业背景稳定、技术分析趋势向上的股票
    stocks = get_stocks_with_converging_moving_average(data, 5, 10)
    stocks = get_stocks_with_positive_trend(data, 10)
    stocks = get_stocks_with_high_roe(data)
    return stocks

# 测试
data = get_stock_data()
stocks = get_optimized_stocks(data)
print(stocks)

如何进行量化策略实盘?

请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

模板如何使用?

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

如果有任何问题请添加 下方的二维码进群提问。

94c5cde12014f99e262a302741275d05.png

收益&风险
源码

评论