Future option tickers with a two-digit year resolve to the wrong decade
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
调研方向
打开 Common/SymbolRepresentation.cs,阅读 ParseFutureOptionSymbol,跟踪它如何构建到期年份以及在哪里与 FutureTickerProperties.ExpirationYearShortLength 进行比较。将该分支与已经正确处理两位年份的 ParseFutureSymbol 进行比较,并使期权路径保持一致。使用 issue 中的代码片段以及 Tests/Common 项目下的符号表示测试进行验证,并确认对 JSON 符号调用 ParseTickerFromUserInput 会得到相同的标的资产。
由索引模型根据 Issue 内容生成。
描述
Expected Behavior
SymbolRepresentation.ParseFutureOptionSymbol("ESZ05 C1200") returns an option on the December 2005 ES future, the same contract that SymbolRepresentation.ParseFutureSymbol("ESZ05") returns. A two-digit year already defines the decade.
Actual Behavior
ParseFutureOptionSymbol adds 20 to every year below 10, including two-digit years, so ESZ05 C1200 returns an option on the December 2025 ES future. ESH09 P800 returns a 2029 future instead of 2009. The same happens for user-friendly JSON symbols such as {"value":"ESZ05 C1200","type":"8"} and for tickers passed to the data downloader, because both go through SymbolRepresentation.ParseTickerFromUserInput.
Potential Solution
Only move single-digit years into the 2020s, using FutureTickerProperties.ExpirationYearShortLength (Common/SymbolRepresentation.cs, ParseFutureOptionSymbol).
Reproducing the Problem
var option = SymbolRepresentation.ParseFutureOptionSymbol("ESZ05 C1200");
var future = SymbolRepresentation.ParseFutureSymbol("ESZ05");
Assert.AreEqual(future, option.Underlying); // fails: the option's underlying expires in December 2025
System Information
Ubuntu x86_64, .NET SDK 10.0.403, master at 22404ea28b8d3f3c9eb74d6ed9f0444426f8e417.
Checklist
- I have completely filled out this template
- I have confirmed that this issue exists on the current
masterbranch - I have confirmed that this is not a duplicate issue by searching issues
- I have provided detailed steps to reproduce the issue
- 主要语言
- C#
- 星标
- 22.3k
- 派生
- 5.4k
- 平均合并
- 1 天 11 小时
- 30 天内合并 PR
- 58
环境准备
在浏览器里用你自己的 GitHub 账号启动这个项目的开发容器。
- 提供 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
QuantConnect/Lean 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 72/100
QuantConnect/Lean#9965 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 85/100
QuantConnect/Lean#9953 ·
维护者通常 1 天内回复
-
WebullFeeModel charges SPXW options the SPX exchange fee可能重新可做 关联的 PR 已关闭且未合并。 未关闭
难度 2/5 1-3 小时 新手友好度 75/100
QuantConnect/Lean#9922 · 2 条评论 ·
维护者通常 1 天内回复
-
library-request
难度 2/5 1-3 小时 新手友好度 68/100
QuantConnect/Lean#9879 ·
维护者通常 1 天内回复
-
library-request
难度 2/5 1-3 小时 新手友好度 74/100
QuantConnect/Lean#9743 ·
维护者通常 1 天内回复
查看 QuantConnect/Lean 的全部 Issue
相似的 Issue
-
bug effort:S P3
难度 2/5 1-3 小时 新手友好度 76/100
nightscout/nocturne#3136 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 72/100
-
难度 2/5 1-3 小时 新手友好度 67/100
维护者通常 1 天内回复
-
难度 1/5 1 小时以内 新手友好度 76/100
GameShowLDA/AskMkiM#1075 ·
维护者通常 1 天内回复
-
is:fix
难度 2/5 1-3 小时 新手友好度 78/100
维护者通常 1 天内回复