ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

一条订单如何走完回测:Lean量化引擎的 3 条命令与 20 行策略

一条订单如何走完回测:Lean量化引擎的 3 条命令与 20 行策略 一条订单如何走完回测Lean量化引擎的 3 条命令与 20 行策略【免费下载链接】LeanLean Algorithmic Trading Engine by QuantConnect (Python, C#)项目地址: https://gitcode.com/GitHub_Trending/le/LeanLean量化引擎是 QuantConnect 开源的算法交易框架把数据读取、撮合成交、绩效统计封装进一条事件驱动的回测流水线做开源量化回测的人不必自己搭基建。自己搭回测新手最常卡住的两处如果你用 pandas 自己拼过回测多半被两件事消耗过一是数据格式不统一同一份行情的列名、时区、复权规则在不同来源下都不一样光对齐字段就要半天二是结果不可复现换个数据版本夏普比率就变了你还分不清是策略变了还是数据变了。Lean 的定位就是把这个基建收进引擎数据解析、买卖撮合、现金与仓位核算都由引擎统一处理同样的数据输入必然得到同样的输出。最快上手3 条命令 Docker 跑起来git clone https://gitcode.com/GitHub_Trending/le/Lean cd Lean dotnet build QuantConnect.Lean.sln cd .. docker build -t lean-engine -f Lean/Dockerfile . docker run -it --rm lean-engine第 1 条拉代码第 2 条编译整个解决方案第 3 条构建镜像并启动容器入口是 Launcher 里的 QuantConnect.Lean.Launcher。国内网络建议先给 Docker 守护进程配置 registry-mirrors 镜像加速再执行构建。仓库根目录另有DockerfileJupyter带 Jupyter 的研究环境和DockerfileLeanFoundation基础镜像按需选用即可。一条订单在引擎里的旅程 回测不是读完所有数据再算一遍而是引擎按时间轴推进每个时刻数据源把各标的当时刻的行情打包成一个 Slice投递给策略的OnData。策略在这里做决策——SetHoldings指定目标仓位MarketOrder指定下单数量。订单随后交给 Engine/ 里的订单处理组件成交模型决定这笔单以什么价格成交购买力模型判断账户是否付得起成交回报再回写到 Security 对象上更新持仓和现金股票、外汇、期货、期权各自的行为分别封装在 Common/Securities/ 的对应子目录中。回测结束引擎把整条资金曲线汇总成绩效报告。第一个回测怎么写20 行移动平均交叉from AlgorithmImports import * class MovingAverageCrossAlgorithm(QCAlgorithm): def initialize(self): self.set_start_date(2013, 10, 7) self.set_end_date(2013, 10, 11) self.set_cash(100000) self.spy self.add_equity(SPY, Resolution.MINUTE).symbol self.fast self.EMA(self.spy, 15, Resolution.DAILY) self.slow self.EMA(self.spy, 30, Resolution.DAILY) def on_data(self, data): if not self.slow.is_ready: return if self.fast.current.value self.slow.current.value: self.set_holdings(self.spy, 1.0) elif self.portfolio[self.spy].invested: self.liquidate()它做的事很直白initialize设定回测区间和初始现金订阅 SPY 分钟数据并建立 15/30 日两条 EMAon_data每根 K 线被调用一次先检查慢线is_ready防止未热身完成就产生信号快线高于慢线时把 SPY 买到 100% 仓位跌破则清仓。SetHoldings传的是仓位比例具体股数由引擎按价格和购买力换算。同样的逻辑在 Algorithm.CSharp/ 里有对应的 C# 版本两种语言挑一种跟就行。再往前一步的 3 个方向自定义 Alpha 模型把发什么信号和怎么下单拆开继承 AlphaModel 自己算因子Algorithm/Alphas/ 里有基类和现成样例组合构建与风控用框架算法把持仓分配和风险熔断交给模型例如均值-方差优化器配合最大回撤限制参数优化Optimizer/ 模块对参数网格做批量回测用数据找稳健参数而不是手调新手最容易踩的 3 个坑 数据路径或分辨率不匹配订阅的分辨率和实际数据文件对不上比如拿日线数据喂分钟策略回测要么空转要么慢得离谱先看数据目录再调策略指标未就绪就下单30 日 EMA 前 29 个交易日的输出都是半成品不看IsReady就下单等于拿错误信号热身订阅过多拖慢回测每多订阅一个标的、一种分辨率就多一份数据加载和指标计算开销只订阅策略真正用到的继续深入的几个入口官方说明仓库根目录 readme.mdPython 策略样例Algorithm.Python/450 多个现成策略可逐行读C# 策略样例Algorithm.CSharp/指标库Indicators/230 余个指标实现遇到问题到项目 Issue 区先检索再提问先跑通那 20 行移动平均再逐层替换其中的数据、信号和执行模型——Lean 的每个环节都是可插拔的。【免费下载链接】LeanLean Algorithmic Trading Engine by QuantConnect (Python, C#)项目地址: https://gitcode.com/GitHub_Trending/le/Lean创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表