尾盘买入策略

用户头像mx_****812vcb
2026-02-28 发布

自测公式1

评论

用户头像
2026-02-28 20:20:23

为了实现尾盘买入策略,我们可以利用 history 函数获取股票的历史行情数据,并在尾盘时根据特定条件(如收盘价)进行买入操作。以下是一个简单的示例,展示如何在尾盘时根据收盘价买入股票:

import pandas as pd

def init(context):
    # 设置要交易的标的
    context.stock = '000001.SZ'
    # 设置交易手续费
    set_commission(PerShare(cost=0.0002))
    # 设置最大成交比例
    set_volume_limit(daily=0.25, minute=0.5)

def handle_bar(context, bar_dict):
    # 获取当前bar的收盘价
    current_close = get_current([context.stock])[context.stock].close
    
    # 获取过去5个bar的收盘价数据
    history_close = history([context.stock], ['close'], 5, '1d', False, 'pre', True, True)
    
    # 尾盘买入条件:如果当前收盘价高于过去5天的平均收盘价
    if current_close > history_close[context.stock]['close'].mean():
        # 计算买入数量
        order_value(context.stock, context.portfolio.cash * 0.1)
        log.info(f"买入 {context.stock},当前收盘价:{current_close}")

# 示例:获取当前bar的行情数据
current_data = get_current([context.stock])
log.info(f"当前bar的收盘价:{current_data[context.stock].close}")

代码解释:

  1. 初始化函数 init

    • 设置要交易的标的为平安银行(000001.SZ)。
    • 设置交易手续费为0.02%。
    • 设置最大成交比例为25%(日线)和50%(分钟线)。
  2. 处理bar函数 handle_bar

    • 获取当前bar的收盘价。
    • 获取过去5个bar的收盘价数据。
    • 判断当前收盘价是否高于过去5天的平均收盘价,如果满足条件,则买入股票。
    • 买入股票的数量为账户现金的10%。
  3. 获取当前bar的行情数据

    • 用于调试和验证当前bar的收盘价。

注意事项:

  • 确保在回测环境中运行此策略。
  • 根据实际需求调整买入条件和买入金额。
  • 该策略仅在尾盘时执行,因此需要确保在尾盘时有足够的数据来判断买入条件。

通过上述代码,您可以实现一个简单的尾盘买入策略。

评论