Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

WebullFeeModel charges SPXW options the SPX exchange fee

Open Beginner friendly
#9,922 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

@Amadeus-22 is already working on this.

Since Oct 19, 2026.

  • #9923 by @Amadeus-22 — open

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
75/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
csharp

Research direction

Start in WebullFeeModel.GetIndexOptionFee, where the issue identifies the underlying symbol lookup as the source of the incorrect SPXW tier. Check nearby fee model tests, especially the cases that create an index named SPXW, and compare them with the provided AddIndexOption("SPX", "SPXW") reproduction. Done when a test for that real contract shape verifies the expected $1.00 fee below $1 and $1.09 at $1 or more.

Written by the indexing model from the issue text.

Description

Expected Behavior

WebullFeeModel charges SPXW (weekly SPX) index options the SPXW exchange fee: $1.00 per contract below $1 and $1.09 at $1 or more, including the $0.50 Webull fee.

Actual Behavior

They are charged the SPX rate ($1.07 / $1.16), so every SPXW fill costs $0.07 more per contract. That matters most for 0DTE strategies, which trade SPXW heavily.

GetIndexOptionFee picks the tier from security.Symbol.Underlying.Value. For a real SPXW contract (AddIndexOption("SPX", "SPXW")) the underlying is the SPX index, so the "SPXW" case is never reached. The existing tests build an index named "SPXW" as the underlying, which doesn't happen in practice. VIXW and NDXP resolve to VIX and NDX the same way, but those pairs share the same fees, so their totals are right.

Potential Solution

Use the option's own ticker, security.Symbol.ID.Symbol, as InteractiveBrokersFeeModel does. That resolves SPX, SPXW, VIXW, NDXP and XSP correctly. I can open a PR with the fix and a test.

Reproducing the Problem
var spx = Symbol.Create("SPX", SecurityType.Index, Market.USA);
var spxw = Symbol.CreateOption(spx, "SPXW", Market.USA, OptionStyle.European, OptionRight.Call, 5000m, new DateTime(2026, 6, 19));
// security priced at 0.80, MarketOrder(spxw, 1)
new WebullFeeModel().GetOrderFee(new OrderFeeParameters(security, order)); // 1.07, expected 1.00
System Information

master (2f5e8df), net10.0.

Checklist
  • I have completely filled out this template
  • I have confirmed that this issue exists on the current master branch
  • I have confirmed that this is not a duplicate issue by searching issues
Dominant language
C#
Stars
22.1k
Forks
5.3k
Avg merge
1d 9h
Merged PRs (30d)
31

Getting set up

Open in Codespaces

Starts the project's dev container in your browser, under your own GitHub account.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from QuantConnect/Lean

All issues in QuantConnect/Lean

Similar issues

More C# issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.