NDXP and NQX indicator settlement cutoff uses 15:00 Eastern instead of documented 16:00
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
Issue này chưa được đánh giá.
Mô tả
Observed behavior
On master (7939b7878), OptionSymbol.GetSettlementDateTime applies a fixed 15:00 exchange-local cutoff to all PM-settled index options. Its comment describes 16:00 Eastern, which is equivalent for Chicago SPXW/RUTW but not for New York NDXP/NQX.
Reproduction with a regular session:
var expiry = new DateTime(2025, 7, 7);
var underlying = Symbol.Create("NDX", SecurityType.Index, Market.USA);
foreach (var ticker in new[] { "NDXP", "NQX" })
{
var option = Symbol.CreateOption(underlying, ticker, Market.USA,
OptionStyle.European, OptionRight.Call, 200m, expiry);
var hours = MarketHoursDatabase.FromDataFolder()
.GetExchangeHours(Market.USA, option, SecurityType.IndexOption);
Console.WriteLine($"{ticker}: zone={hours.TimeZone}, close={hours.GetLastDailyMarketClose(expiry, false):HH:mm}, settlement={OptionSymbol.GetSettlementDateTime(option):HH:mm}");
}
Observed for both: zone=America/New_York, close=16:15, settlement=15:00.
Impact
The helper returns 15:00 Eastern rather than its documented 16:00 Eastern rule. OptionIndicatorBase.Expiry caches this value, understating time to expiry by one hour for these contracts. The current regular-session ZeroDTEPMSettledIndexOptionsExpireAt4PM test also asserts an unconditional local 15:00, so it does not validate the named Eastern-time cutoff.
Required result
Express the intended PM expiration cutoff in each contract's exchange timezone. Add assertions in a common reference timezone for both Chicago and New York entries, and preserve correct early closes. A suggestion is to convert the Eastern cutoff into the resolved exchange timezone rather than treating all exchanges as Chicago.
This regular-session defect predates #10114; its new early-close guard leaves this path unchanged.
- Ngôn ngữ chính
- C#
- Star
- 22.5k
- Fork
- 5.4k
- Merge trung bình
- 22 giờ 6 phút
- Pull request đã merge (30 ngày)
- 81
Chuẩn bị môi trường
Khởi chạy dev container của dự án ngay trên trình duyệt, bằng tài khoản GitHub của bạn.
- Có Dockerfile hoặc tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của QuantConnect/Lean
-
PDF report generation can overwrite HTML when the destination extension is not lowercase .htmlĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
QuantConnect/Lean#10082 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
QuantConnect/Lean#10059 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Library Request: highspyĐang mởlibrary-request
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
QuantConnect/Lean#10034 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
QuantConnect/Lean#9965 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
QuantConnect/Lean#9955 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của QuantConnect/Lean
Issue tương tự
-
bug emitter:client:csharp
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
microsoft/typespec#12572 · 1 bình luận · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
needs-area-label
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 2 ngày
-
AWS Lambda: KeyNotFoundException drops HTTP-triggered transactions when allowAllHeaders is disabledĐang mởbug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
newrelic/newrelic-dotnet-agent#3949 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
area-networking
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
dotnet/aspnetcore#70545 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 87/100
Maintainer thường phản hồi trong vòng 1 ngày