WebullFeeModel charges SPXW options the SPX exchange fee
Los mantenedores suelen responder en 1 día
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 75/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- csharp
- Área
- backend, fintech-quant
Línea de trabajo
Empieza en WebullFeeModel.GetIndexOptionFee, donde el issue identifica la búsqueda del símbolo subyacente como la causa del nivel de tarifas incorrecto de SPXW. Revisa las pruebas cercanas del modelo de tarifas, especialmente los casos que crean un índice llamado SPXW, y compáralas con la reproducción proporcionada AddIndexOption("SPX", "SPXW"). Se considera terminado cuando una prueba para esa forma de contrato real verifica la tarifa esperada de $1.00 por debajo de $1 y de $1.09 a partir de $1.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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
masterbranch - I have confirmed that this is not a duplicate issue by searching issues
- Lenguaje dominante
- C#
- Estrellas
- 22k
- Forks
- 5.3k
- Merge medio
- 1 d 6 h
- PR fusionados (30 d)
- 48
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Incluye un Dockerfile o un archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de QuantConnect/Lean
-
TradeStationBrokerageModel rejects extended-hours limit orders on equity optionsPosiblemente ocupada @AlexCatarino la tomó hace 1 día. Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
QuantConnect/Lean#9920 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
AlpacaBrokerageModel refuses extended-hours limit orders with the GTC time in force, which Alpaca acceptsPosiblemente ocupada @AlexCatarino la tomó hace 9 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
QuantConnect/Lean#9892 ·
Los mantenedores suelen responder en 1 día
-
library-request
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
QuantConnect/Lean#9879 ·
Los mantenedores suelen responder en 1 día
-
[Library Upgrade] autogluonAbiertolibrary-request
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
QuantConnect/Lean#9743 ·
Los mantenedores suelen responder en 1 día
-
library-request
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
QuantConnect/Lean#9500 ·
Los mantenedores suelen responder en 1 día
Todos los issues de QuantConnect/Lean
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 73/100
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
KnifeLemon/Filee#363 ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
-
area-Native untriaged
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
dotnet/machinelearning#7837 ·
Los mantenedores suelen responder en 2 días