opt 包
opt 包提供了策略优化相关的功能。
主要结构体
BackTest
回测实例结构体。
字段:
Trader biz.Trader- 交易者接口实现BTResult *BTResult- 回测结果lastDumpMs int64- 上一次保存回测状态的时间戳dp *data.HistProvider- 历史数据提供者isOpt bool- 是否为超参数优化模式PBar *utils.StagedPrg- 进度条
BTResult
回测结果结构体。
字段:
MaxOpenOrders int- 最大同时持仓订单数MinReal float64- 最小资产MaxReal float64- 最大资产MaxDrawDownPct float64- 最大回撤百分比ShowDrawDownPct float64- 显示的最大回撤百分比MaxDrawDownVal float64- 最大回撤金额ShowDrawDownVal float64- 显示的最大回撤金额BarNum int- K线数量TimeNum int- 时间周期数OrderNum int- 订单数量Plots *PlotData- 绘图数据StartMS int64- 开始时间戳(毫秒)EndMS int64- 结束时间戳(毫秒)PlotEvery int- 绘图间隔TotalInvest float64- 总投资金额OutDir string- 输出目录TotProfit float64- 总盈利TotCost float64- 总成本TotFee float64- 总手续费TotProfitPct float64- 总收益率WinRatePct float64- 胜率SharpeRatio float64- 夏普比率SortinoRatio float64- 索提诺比率
PlotData
绘图数据结构体。
字段:
Labels []string- 时间标签OdNum []int- 订单数量JobNum []int- 任务数量Real []float64- 实际资产Available []float64- 可用资产Profit []float64- 已实现盈利UnrealizedPOL []float64- 未实现盈亏WithDraw []float64- 提现金额
RowPart
回测统计行数据结构体。
字段:
WinCount int- 盈利订单数OrderNum int- 订单总数ProfitSum float64- 总盈利金额ProfitPctSum float64- 总盈利率CostSum float64- 总成本Durations []int- 持仓时长列表Orders []*InOutOrder- 订单列表Sharpe float64- 夏普比率Sortino float64- 索提诺比率
主要功能
NewBackTest
创建一个新的回测实例。
参数:
isOpt bool- 是否为超参数优化模式outDir string- 输出目录路径
返回:
*BackTest- 回测实例指针
RunBTOverOpt
基于持续调参的回测模式,接近实盘情况,避免使用未来信息调参回测。
参数:
args *config.CmdArgs- 命令行参数配置
返回:
*errs.Error- 错误信息
RunRollBTPicker
执行滚动回测选股器。
参数:
args *config.CmdArgs- 命令行参数配置
返回:
*errs.Error- 错误信息
RunOptimize
执行策略参数优化。
参数:
args *config.CmdArgs- 命令行参数配置
返回:
*errs.Error- 错误信息
CollectOptLog
收集并分析优化日志。
参数:
args *config.CmdArgs- 命令行参数配置
返回:
*errs.Error- 错误信息
NewBTResult
创建新的回测结果实例。
返回:
*BTResult- 回测结果实例指针
AvgGoodDesc
计算指定收益率范围内的优化结果平均值。
参数:
items []*OptInfo- 优化信息列表startRate float64- 起始收益率endRate float64- 结束收益率
返回:
*OptInfo- 平均优化信息
DescGroups
将优化结果按照收益率分组。
参数:
items []*OptInfo- 优化信息列表
返回:
[]*OptInfo, []*OptInfo- 好组和坏组的优化信息列表
DumpLineGraph
生成折线图并保存。
参数:
path string- 输出文件路径title string- 图表标题label []string- 标签列表prec float64- 精度tplData []byte- 模板数据items []*ChartDs- 图表数据集
返回:
*errs.Error- 错误信息
CompareExgBTOrders
比较交易所回测订单。
参数:
args []string- 命令行参数列表