Skip to main content
POST
/
v1
/
quant
/
backtest
Backtest
curl --request POST \
  --url https://api.reportify.cn/v1/quant/backtest \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "start_date": "2023-12-25",
  "end_date": "2023-12-25",
  "symbol": "<string>",
  "formula": "<string>",
  "market": "cn",
  "initial_cash": 100000,
  "commission": 0,
  "stop_loss": 0,
  "sizer_percent": 99,
  "auto_close": true
}
'
{
  "detail": [
    {
      "loc": [
        "<string>"
      ],
      "msg": "<string>",
      "type": "<string>"
    }
  ]
}

运行策略回测

执行策略回测,返回绩效指标和交易记录。
POST /v1/quant/backtest
curl -X POST https://api.reportify.cn/v1/quant/backtest \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "start_date": "2024-01-01",
    "end_date": "2025-01-01",
    "market": "cn",
    "symbol": "000001",
    "formula": "CROSS(MA(5), MA(10))",
    "initial_cash": 100000,
    "commission": 0.0003,
    "sizer_percent": 99
  }'

请求参数

start_date
string
required
回测开始日期,格式:YYYY-MM-DD
end_date
string
required
回测结束日期,格式:YYYY-MM-DD
market
string
default:"cn"
股票市场:cn(A股), hk(港股), us(美股)
symbol
string
required
股票代码
formula
string
required
交易策略公式,当公式为真时买入
initial_cash
number
default:"100000"
初始资金(元)
commission
number
default:"0"
佣金费率(如 0.0003 表示万三)
stop_loss
number
default:"0"
止损比例(如 0.1 表示 10% 止损,0 表示不止损)
sizer_percent
integer
default:"99"
仓位百分比(1-100,99 表示每次买入使用 99% 资金)
auto_close
boolean
default:"true"
是否在回测结束时自动平仓

响应参数

success
boolean
回测是否成功
initial_cash
number
初始资金
final_cash
number
最终资金
total_return
number
总收益(元)
total_return_pct
number
总收益率(如 0.156 表示 15.6%)
max_drawdown
number
最大回撤(如 -0.082 表示 -8.2%)
profit_factor
number
盈利因子(总盈利 / 总亏损)
win_rate
number
胜率(如 0.65 表示 65%)
total_trades
integer
总交易次数
trades
array
交易详情列表

响应示例

{
  "success": true,
  "initial_cash": 100000,
  "final_cash": 115600,
  "total_return": 15600,
  "total_return_pct": 0.156,
  "max_drawdown": -0.082,
  "profit_factor": 2.35,
  "win_rate": 0.65,
  "total_trades": 12,
  "trades": [
    {
      "date": "2024-01-15",
      "action": "buy",
      "price": 11.25,
      "size": 8800,
      "value": 99000,
      "commission": 29.7
    },
    {
      "date": "2024-02-20",
      "action": "sell",
      "price": 12.50,
      "size": 8800,
      "value": 110000,
      "commission": 33.0,
      "pnl": 10937.3,
      "pnl_pct": 0.111
    },
    {
      "date": "2024-03-10",
      "action": "buy",
      "price": 12.00,
      "size": 9100,
      "value": 109200,
      "commission": 32.76
    },
    {
      "date": "2024-04-05",
      "action": "sell",
      "price": 11.50,
      "size": 9100,
      "value": 104650,
      "commission": 31.4,
      "pnl": -4614.16,
      "pnl_pct": -0.042
    }
  ]
}

策略公式示例

均线金叉策略

5 日均线上穿 10 日均线时买入:
{
    "formula": "CROSS(MA(5), MA(10))",
    "symbol": "000001",
    "start_date": "2024-01-01",
    "end_date": "2025-01-01"
}

RSI 超卖策略

RSI 低于 30 时买入:
{
    "formula": "RSI(14) < 30",
    "symbol": "600519",
    "start_date": "2024-01-01",
    "end_date": "2025-01-01",
    "stop_loss": 0.1
}

MACD 金叉策略

MACD DIF 上穿 DEA 时买入:
{
    "formula": "CROSS(MACD().dif, MACD().dea)",
    "symbol": "000002",
    "start_date": "2024-01-01",
    "end_date": "2025-01-01"
}

布林带突破策略

价格突破布林带上轨时买入:
{
    "formula": "CLOSE > BOLL(20, 2).upper",
    "symbol": "000001",
    "start_date": "2024-01-01",
    "end_date": "2025-01-01"
}

组合条件策略

RSI 超卖且价格在 20 日均线上方:
{
    "formula": "(RSI(14) < 30) & (CLOSE > MA(20))",
    "symbol": "600036",
    "start_date": "2024-01-01",
    "end_date": "2025-01-01",
    "commission": 0.0003,
    "sizer_percent": 80
}

参数说明

佣金设置

描述
0不计算佣金
0.0003万三(0.03%)
0.001千一(0.1%)

止损设置

描述
0不设止损
0.055% 止损
0.110% 止损

仓位设置

描述
99使用 99% 资金(预留部分应对价格波动)
50使用 50% 资金(半仓操作)
30使用 30% 资金(轻仓试探)

注意事项

  • 回测结果仅供参考,历史收益不代表未来表现
  • 回测未考虑滑点、冲击成本等实际交易因素
  • 建议使用合理的佣金和止损参数以更接近真实交易

Authorizations

Authorization
string
header
required

Enter your Bearer token

Body

application/json

回测输入参数模型,定义了回测引擎执行策略回测所需的所有参数。

start_date
string<date>
required

回测开始日期

end_date
string<date>
required

回测结束日期

symbol
string
required

股票代码

formula
string
required

回测公式,用于定义交易策略

market
enum<string>
default:cn

股票市场,默认为中国市场

Available options:
cn,
hk,
us
initial_cash
number
default:100000

初始资金,默认100000.0元

commission
number
default:0

佣金费率,默认0.0

stop_loss
number
default:0

止损设置,默认0.0(不设置止损)

sizer_percent
integer
default:99

仓位百分比,默认99%

auto_close
boolean
default:true

是否自动平仓,默认True

Response

Successful Response