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
- 命令行参数列表