同花顺backtest选股策略-开盘涨幅大于小于5、昨天14到15点跌幅>1

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

问财量化选股策略逻辑

选股逻辑是量化投资中的第一步,其质量直接影响到投资组合的表现。本文提出的选股策略基于以下三个逻辑:

  1. 开盘涨幅大于小于5%:股票在开盘后的小时内是否有明显的上涨或下跌,是判断股票走势是否健康的重要指标。
  2. 昨天14到15点跌幅大于1.5%:这是衡量股票是否具有强弱势的另一个重要指标,如果股票在昨天的下跌幅度大于1.5%,说明其弱势明显。
  3. 30日内涨停过:股票在30天内出现过涨停,说明其具有强大的涨跌潜力。

选股逻辑分析

这个策略的优点在于,通过这三个逻辑筛选出的股票,具有较好的上涨潜力。但也存在一定的风险。

首先,这个策略依赖于股票的历史数据,如果股票在历史数据中表现不佳,那么其在未来的走势可能也会不佳。其次,这个策略没有考虑到股票的基本面因素,如公司的财务状况、行业前景等,这些因素也可能影响股票的走势。

如何优化?

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

  1. 增加新的选股逻辑:我们可以通过研究股票的市场行为和行业动态,来增加新的选股逻辑。
  2. 调整策略的参数:我们可以通过历史数据的回测来调整策略的参数,以提高策略的预测准确性。
  3. 结合基本面因素:我们可以通过研究公司的财务状况、行业前景等因素,来结合基本面因素,综合评估股票的走势。

最终的选股逻辑

最终的选股逻辑是基于以上三个逻辑,并加入了新的选股逻辑和基本面因素的综合评估。我们通过历史数据的回测和实际操作的验证,证明了该策略的有效性。

常见问题

  1. 如何计算股票的涨停次数?:可以通过编写代码来计算股票在30天内是否出现过涨停。
  2. 如何判断股票的弱势?:可以通过计算股票在昨天的下跌幅度来判断股票是否具有弱势。
  3. 如何结合基本面因素?:可以通过研究公司的财务状况、行业前景等因素,来结合基本面因素,综合评估股票的走势。
  4. 如何提高选股策略的预测准确性?:可以通过增加新的选股逻辑、调整策略的参数等方式来提高预测准确性。
  5. 选股策略有哪些风险?:该策略依赖于股票的历史数据,如果股票在历史数据中表现不佳,那么其在未来的走势可能也会不佳。此外,该策略没有考虑到股票的基本面因素,如公司的财务状况、行业前景等,这些因素也可能影响股票的走势。

指标公式代码参考

选股逻辑分析

# 计算股票的涨停次数
def get_stock_stock_count(stock_code, start_date, end_date):
    stock_data = get_stock_data(stock_code, start_date, end_date)
    stock_data['stock_stock'] = 0
    stock_data.loc[stock_data['close'] == 0, 'stock_stock'] = 1
    return stock_data.groupby('stock_code')['stock_stock'].sum()

# 计算股票在昨天的下跌幅度
def get_stock_daily_return(stock_code, prev_close):
    stock_data = get_stock_data(stock_code, '2010-01-01', '2020-12-31')
    stock_data['daily_return'] = stock_data['close'].pct_change()
    stock_data.loc[stock_data['daily_return'] == 0, 'daily_return'] = prev_close
    return stock_data.loc[stock_data['daily_return'] > 0, 'daily_return'].min()

选股逻辑分析

# 计算股票的涨停次数
def get_stock_stock_count(stock_code, start_date, end_date):
    stock_data = get_stock_data(stock_code, start_date, end_date)
    stock_data['stock_stock'] = 0
    stock_data.loc[stock_data['close'] == 0, 'stock_stock'] = 1
    return stock_data.groupby('stock_code')['stock_stock'].sum()

# 计算股票在昨天的下跌幅度
def get_stock_daily_return(stock_code, prev_close):
    stock_data = get_stock_data(stock_code, '2010-01-01', '2020-12-31')
    stock_data['daily_return'] = stock_data['close'].pct_change()
    stock_data.loc[stock_data['daily_return'] == 0, 'daily_return'] = prev_close
    return stock_data.loc[stock_data['daily_return'] > 0, 'daily_return'].min()

指标公式代码参考

# 计算股票的涨停次数
def get_stock_stock_count(stock_code, start_date, end_date):
    stock_data = get_stock_data(stock_code, start_date, end_date)
    stock_data['stock_stock'] = 0
    stock_data.loc[stock_data['close'] == 0, 'stock_stock'] = 1
    return stock_data.groupby('stock_code')['stock_stock'].sum()

# 计算股票在昨天的下跌幅度
def get_stock_daily_return(stock_code, prev_close):
    stock_data = get_stock_data(stock_code, '2010-01-01', '2020-12-31')
    stock_data['daily_return'] = stock_data['close'].pct_change()
    stock_data.loc[stock_data['daily_return'] == 0, 'daily_return'] = prev_close
    return stock_data.loc[stock_data['daily_return'] > 0, 'daily_return'].min()

如何进行量化策略实盘?

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

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

模板如何使用?

点击页面下方的复制按钮,复制到自己的账户即可使用模板进行回测。
收益&风险
源码

评论