集合竞价打三板,自动止盈止损

开心果
开心果 打板

1 人点赞了该文章 · 380 浏览

代码集合竞价打三板量化交易策略的实现,主要逻辑是基于股票的涨停情况和集合竞价期间的价格变化来进行买卖操作。以下是对代码的详细解析和说明:

1. 初始化函数:initialize(context)
• 功能:设置交易策略的基本参数和定时任务。
• 关键参数:(有兴趣的可以私信我)

◦ context.purchase_amount_per_stock:每只股票的购买金额,设置为50,000元。
◦ context.take_profit_rate:止盈比例,设置为30%。
◦ context.stop_loss_rate:止损比例,设置为15%。
• 定时任务:
◦ 每天09:24执行集合竞价函数aggregate_auction_am_func。

2. 盘前处理函数:before_trading_start(context, data)
• 功能:在开盘前筛选出昨日涨停的股票,并剔除已持有的股票。
• 关键逻辑:
1. 获取全市场股票列表all_stocks。
2. 获取股票的ST状态st_status。
3. 获取最近4天的历史数据,包括high_limit(涨停价)和close(收盘价)。
4. 筛选条件:
■ 最近两天连续涨停,且三天前未涨停。
■ 上个交易日涨停价等于收盘价,且涨幅为10%。
5. 剔除ST股票和已持有的股票。
• 输出:
◦ context.up_limit_stocks:昨日涨停且符合条件的股票列表。
◦ context.position_last_map:当前持仓股票列表。

3. 检查止盈止损函数:check_profit_loss(context, position)
• 功能:检查持仓股票是否达到止盈或止损条件。
• 逻辑:
◦ 计算当前收益率profit_rate。
◦ 如果收益率大于止盈比例或小于止损比例,则卖出全部持仓。

4. 集合竞价函数:aggregate_auction_am_func(context)
• 功能:在集合竞价期间(09:24:50)监控昨日涨停股的涨幅,符合条件时买入。
• 关键逻辑:
1. 等待到09:24:50。
2. 获取股票行情快照数据snapshot_info。
3. 遍历context.up_limit_stocks,检查涨幅是否大于4%。
4. 如果涨幅大于4%,则以涨停价下单购买。
5. 每次最多买入context.max_buy_count只股票。
• 持仓处理:
◦ 更新持仓列表context.position_last_map。
◦ 检查持仓股票是否达到止盈或止损条件。

5. 盘中处理函数:handle_data(context, data)
• 功能:在盘中检查持仓股票是否达到止盈或止损条件。
• 逻辑:
◦ 遍历持仓股票列表,调用check_profit_loss函数检查止盈止损条件。

6. 涨停比例计算函数:get_limit_rate(stock, ST_flag)
• 功能:根据股票代码和ST状态,计算涨停比例。
• 规则:
◦ 科创板(68开头)和创业板(3开头)涨停比例为20%。
◦ ST股票涨停比例为5%。
◦ 其他股票涨停比例为10%。

代码逻辑总结
1. 盘前:
◦ 筛选昨日涨停且符合条件的股票。
◦ 剔除ST股票和已持有的股票。
2. 集合竞价:
◦ 在09:24:50监控昨日涨停股的涨幅。
◦ 如果涨幅大于4%,则以涨停价买入。
3. 盘中:
◦ 持续检查持仓股票是否达到止盈或止损条件。
◦ 如果满足条件,则卖出全部持仓。

发布于 2025-03-05 15:24

免责声明:

本文由 开心果 原创发布于 百果量化交流平台 ,著作权归作者所有。

登录一下,更多精彩内容等你发现,贡献精彩回答,参与评论互动

登录! 还没有账号?去注册

暂无评论