精华帖子

策略测试方法--自定义买卖价设置教程

由bq9e696k创建,最终由bq9e696k 被浏览 9 用户

一、引言

1.1 说明

以往的回测中,本平台默认使用的是open和close即开盘价和收盘价作为买卖价格,本平台开发了一种方式,可以让各位投资者自定义买卖价,满足各位投资者的测试需求。

该功能将改变以往的买卖价下单的设置,将按照各位投资者设置的价格进行下单。

为展示该功能的作用,我将展示以150元的价格(近期的价格的十分之一)作为买入价买入茅台,正常价格作为卖出价。(下图的回测仅是功能测试,不是策略真实表现)


从交易情况来看,该功能以150元每股的价格在2024年2月19日买入了贵州茅台股票,实现了自定义价格买卖

1.2 情景应用

该功能有多种运用场景,本帖子将展示其中一种方法——抗压测试

在交易策略的研发过程中,如何验证策略的真实盈利能力是关键问题。该功能可以帮各位投资者快速判断策略的 “抗压性”。


   常规的回测往往基于历史平均价格,但真实市场中,滑点、延迟等因素可能导致成交价大幅偏离预期。因此,我们采用反向极限测试法:刻意以历史 K 线中的最高价买入、最低价卖出,模拟最糟糕的成交情况。比如在一段震荡行情中,某策略原本测算年化收益 20%,但在极端测试下仍能保持 5% 以上正收益,说明该策略具备较强的容错空间和抗风险能力。


    这种测试的核心逻辑是:如果策略在 “买在山顶、卖在谷底” 的极端场景下仍能盈利,那么在正常交易环境中的表现大概率会更优。它能有效暴露策略的潜在缺陷,比如过度依赖精准点位、缺乏止损机制等问题。不过需要注意,极端测试结果需结合多周期、多品种验证,避免单一数据误导。

二、自定义买卖价功能代码说明

2.1 在初始化函数中加入

2.2 在order函数加入limit_price

三、案例

测试贵州茅台的双均线策略表现。

3.1为正常回测,买卖价为正常的开盘价和收盘价

3.2为强行以当日的最高价作为买入价格,以当日最低价作为卖出价格

3.1 正常回测

3.2 自定义价格买卖回测

对比发现,3.2的表现有所下降

四、代码

https://bigquant.com/codesharev3/e771de36-75cb-470e-9a6f-6ac0cb4305ae

\

标签

回测
{link}