(supermind量化)流通市值50-100亿_、9点25分涨幅小于6%、至少5根均线重

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

问财量化选股策略逻辑

  • 至少5根均线重合的股票
  • 9点25分涨幅小于6%
  • 流通市值50-100亿

选股逻辑分析

  • 该策略基于技术分析,通过寻找均线重合的股票来筛选潜力股。
  • 非常依赖于技术分析的假设和模型,因此可能无法准确预测市场走势。
  • 该策略可能过于简单,无法充分考虑公司的基本面和行业趋势等因素。

有何风险?

  • 技术分析的假设和模型可能不准确,导致筛选出的股票表现不佳。
  • 该策略可能过于依赖于市场走势,因此在市场出现极端行情时可能表现不佳。
  • 该策略可能无法充分考虑公司的基本面和行业趋势等因素,导致筛选出的股票表现不佳。

如何优化?

  • 可以考虑加入更多的技术指标和分析方法,以提高策略的准确性和稳定性。
  • 可以考虑加入公司的基本面和行业趋势等因素,以更全面地评估股票的价值和潜力。
  • 可以考虑加入风险管理措施,例如止损策略和风险分散等,以降低投资风险。

最终的选股逻辑

  • 选取至少5根均线重合的股票。
  • 选取9点25分涨幅小于6%的股票。
  • 选取流通市值50-100亿的股票。
  • 在满足以上条件的基础上,加入公司的基本面和行业趋势等因素进行综合评估。
  • 最终选择表现良好、具有潜力的股票进行投资。

python代码参考

  • 由于该策略需要结合技术分析和基本面分析,因此需要使用多个数据源和分析工具。
  • 以下代码仅供参考,实际使用时需要根据具体情况进行调整和优化。
import talib
import yfinance as yf

# 获取股票数据
def get_data(ticker):
    data = yf.Ticker(ticker).history(period='1y')
    return data.Close

# 计算均线
def calculate_ma(data, n):
    ma = talib.MA(data, n)
    return ma

# 选取均线重合的股票
def select_cross_moving_average(data, n1, n2):
    ma1 = calculate_ma(data, n1)
    ma2 = calculate_ma(data, n2)
    if ma1[-1] * ma2[-1] > 0:
        return True
    else:
        return False

# 选取涨幅小于6%的股票
def select_gain(data, gain_percent):
    data['gain'] = data.Close.pct_change()
    return data.loc[data.gain < gain_percent]

# 选取流通市值50-100亿的股票
def select_market_cap(data):
    data['market_cap'] = data['Close'] * data['Volume'] / 100000000
    return data.loc[data.market_cap >= 500000000 and data.market_cap <= 1000000000]

# 综合评估股票
def evaluate_stock(data):
    # 计算股票的综合评分
    # 可以根据具体情况进行调整和优化
    score = data['CrossMovingAverage'].sum() + data['Gain'].sum() + data['MarketCap'].sum()
    return score

# 选取表现良好的股票
def select_best_stocks(data):
    return data.sort_values(by='evaluate_stock', ascending=False).index[:10]

# 进行投资
def invest(ticker):
    data = get_data(ticker)
    ma1 = calculate_ma(data, 5)
    ma2 = calculate_ma(data, 10)
    ma3 = calculate_ma(data, 20)
    ma4 = calculate_ma(data, 60)
    ma5 = calculate_ma(data, 120)
    if select_cross_moving_average(data, ma1[-1], ma2[-1]) and select_gain(data, 6) and select_market_cap(data):
        print(f"投资 {ticker}!")
    else:
        print(f"{ticker} 不符合筛选条件。")

# 运行程序
invest('AAPL')

如何进行量化策略实盘?

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

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

模板如何使用?

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

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

94c5cde12014f99e262a302741275d05.png

收益&风险
源码

评论