# 1. 简单金叉策略(只有买入信号)
result = client.quant.backtest(
start_date="2023-01-01",
end_date="2024-01-01",
symbol="000001",
entry_formula="CROSS(MA(CLOSE, 5), MA(CLOSE, 20))"
)
print(f"总收益: {result['total_return']:.2f}")
print(f"收益率: {result['total_return_pct']:.2%}")
print(f"最大回撤: {result['max_drawdown']:.2%}")
print(f"胜率: {result['win_rate']:.2%}")
print(f"盈亏比: {result['profit_factor']:.2f}")
print(f"交易次数: {result['total_trades']}")
# 2. 买入和卖出信号都指定
result = client.quant.backtest(
start_date="2023-01-01",
end_date="2024-01-01",
symbol="000001",
entry_formula="CROSS(MA(CLOSE, 5), MA(CLOSE, 20))", # 金叉买入
exit_formula="CROSSDOWN(MA(CLOSE, 5), MA(CLOSE, 20))" # 死叉卖出
)
# 3. RSI 超卖超买策略
result = client.quant.backtest(
start_date="2023-01-01",
end_date="2024-01-01",
symbol="000001",
entry_formula="RSI(14) < 30", # RSI 低于 30 买入
exit_formula="RSI(14) > 70" # RSI 高于 70 卖出
)
# 4. 使用 labels 记录额外指标
result = client.quant.backtest(
start_date="2023-01-01",
end_date="2024-01-01",
symbol="000001",
entry_formula="CROSS(RSI(14), 30)",
labels={
"rsi": "RSI(14)",
"ma20": "MA(CLOSE, 20)",
"ma60": "MA(CLOSE, 60)"
}
)
# 每日数据中会包含 rsi、ma20、ma60 的值