集合竞价打二板,自动止盈止损
代码是一个量化交易策略脚本,主要用于实现基于昨日涨停股票的交易逻辑。以下是代码的主要功能和逻辑解析:
1. 初始化函数 initialize(context)
• 功能:设置交易策略的基本参数和定时任务。
• 关键参数:(有兴趣的可以私信我)
◦ g.purchase_amount_per_stock:每只股票的购买金额,设置为30000元。
◦ g.take_profit_rate:止盈比例,设置为30%。
◦ g.stop_loss_rate:止损比例,设置为7%。
• 定时任务:
◦ 每天09:24执行集合竞价函数aggregate_auction_am_func。
2. 盘前函数 before_trading_start(context, data)
• 功能:在盘前筛选符合条件的股票。
• 筛选逻辑:
1. 获取全市场股票列表all_stocks。
2. 获取股票的ST状态,剔除ST股票。
3. 获取过去两天的历史数据,包括最高涨停价high_limit和收盘价close。
4. 筛选条件:
■ 昨日涨停(收盘价等于涨停价)。
■ 两天前未涨停(收盘价不等于涨停价)。
5. 剔除已持有的股票。
• 输出:
◦ 将符合条件的股票存储在g.up_limit_stocks中。
3. 集合竞价函数 aggregate_auction_am_func(context)
• 功能:在集合竞价阶段(9:24:50)监控股票并执行买入操作。
• 逻辑:
1. 等待到9:24:50。
2. 获取候选股票的行情快照数据,包括:
■ 前一交易日收盘价preclose_px。
■ 当前最新价last_px。
■ 涨停价up_px。
■ 交易状态trade_status。
3. 遍历候选股票:
■ 如果股票停牌(trade_status == 'STOPT'),跳过。
■ 计算涨幅px_change_rate = last_px / preclose_px。
■ 如果涨幅大于4%,则以涨停价up_px下单买入。
4. 限制买入数量不超过g.max_buy_count。
5. 检查当前持仓股票是否满足止盈或止损条件,满足则卖出。
4. 盘中函数 handle_data(context, data)
• 功能:在盘中持续检查持仓股票是否满足止盈或止损条件。
• 逻辑:
◦ 遍历持仓股票。
◦ 计算当前收益率profit_rate = (current_price - cost_basis) / cost_basis。
◦ 如果收益率大于止盈比例或小于止损比例,卖出全部持仓。
5. 辅助函数 get_limit_rate(stock, ST_flag=True)
• 功能:根据股票代码和ST状态,返回涨停比例。
• 规则:
◦ 科创板(代码以68开头)和创业板(代码以3开头)涨停比例为20%。
◦ 非科创板和创业板的ST股票涨停比例为5%。
◦ 其他股票涨停比例为10%。
代码特点和注意事项
1. 数据获取:
◦ 使用get_history获取历史数据。
◦ 使用get_snapshot获取实时行情快照。
◦ 这些函数可能是特定量化交易平台的API,需要根据实际平台进行调整。
2. 风险控制:
◦ 设置了止盈和止损比例,但止损比例设置为7%可能略高,建议根据实际情况调整。
◦ 限制了买入股票的数量(g.max_buy_count),避免过度集中持仓。
3. 交易逻辑:
◦ 集合竞价阶段以涨停价买入,可能面临无法成交的风险。
◦ 盘中持续监控止盈止损,但未考虑交易成本和滑点
全部 0条评论