From 84e4be870a522abf5ff06f7824fbd4d1b71b9745 Mon Sep 17 00:00:00 2001 From: LouisSzeto Date: Sun, 8 Dec 2024 16:00:09 +0800 Subject: [PATCH] revert redundnacies, fix bugs --- .../Fees/InteractiveBrokersFeeHelper.cs | 28 +- .../Orders/Fees/InteractiveBrokersFeeModel.cs | 4 +- .../Fees/InteractiveBrokersTieredFeeModel.cs | 25 +- .../Fees/InteractiveBrokersFeeModelTests.cs | 224 +++---- .../InteractiveBrokersTieredFeeModelTests.cs | 600 +++++++++--------- 5 files changed, 441 insertions(+), 440 deletions(-) diff --git a/Common/Orders/Fees/InteractiveBrokersFeeHelper.cs b/Common/Orders/Fees/InteractiveBrokersFeeHelper.cs index aeeab42bf590..19fdb1d21192 100644 --- a/Common/Orders/Fees/InteractiveBrokersFeeHelper.cs +++ b/Common/Orders/Fees/InteractiveBrokersFeeHelper.cs @@ -24,9 +24,6 @@ namespace QuantConnect.Orders.Fees /// internal static class InteractiveBrokersFeeHelper { - // List of Option exchanges susceptible to pay ORF regulatory fee. - private static readonly List _optionExchangesOrfFee = new() { Market.CBOE, Market.USA }; - /// /// Determines which tier an account falls into based on the monthly trading volume of Equities (in shares) /// @@ -195,16 +192,8 @@ internal static decimal CalculateOptionFee(Security security, Order order, decim // applying commission function to the order var orderPrice = GetPotentialOrderPrice(order, security); var optionFee = optionsCommissionFunc(quantity, orderPrice); - // Regulatory Fee: Options Regulatory Fee (ORF) + FINRA Consolidated Audit Trail Fees - var regulatory = _optionExchangesOrfFee.Contains(market) ? - (0.01915m + 0.0048m) * quantity : - 0.0048m * quantity; - // Transaction Fees: SEC Transaction Fee + FINRA Trading Activity Fee (only charge on sell) - var transaction = order.Quantity < 0 ? 0.0000278m * Math.Abs(order.GetValue(security)) + 0.00279m * quantity : 0m; - // Clearing Fee - var clearing = Math.Min(0.02m * quantity, 55m); - - fee = optionFee.Amount + regulatory + transaction + clearing; + + fee = optionFee.Amount; currency = optionFee.Currency; return orderPrice * quantity; @@ -247,7 +236,7 @@ internal static decimal CalculateEquityFee(Security security, Order order, decim switch (market) { case Market.USA: - equityFee = new EquityFee(Currencies.USD, feePerShare: usFeeRate, minimumFee: usMinimumFee, maximumFeeRate: 0.005m); + equityFee = new EquityFee(Currencies.USD, feePerShare: usFeeRate, minimumFee: usMinimumFee, maximumFeeRate: 0.01m); break; case Market.India: equityFee = new EquityFee(Currencies.INR, feePerShare: 0.01m, minimumFee: 6, maximumFeeRate: 20); @@ -271,16 +260,9 @@ internal static decimal CalculateEquityFee(Security security, Order order, decim tradeFee = maximumPerOrder; } - // FINRA Trading Activity Fee only applies to sale of security. - var finraTradingActivityFee = order.Quantity < 0 ? Math.Min(8.3m, quantity * 0.000166m) : 0m; - // Regulatory Fees. - var regulatoryFee = tradeValue * 0.0000278m // SEC Transaction Fee - + finraTradingActivityFee // FINRA Trading Activity Fee - + quantity * 0.000048m; // FINRA Consolidated Audit Trail Fees - currency = equityFee.Currency; //Always return a positive fee. - fee = Math.Abs(tradeFee + regulatoryFee); + fee = Math.Abs(tradeFee); return tradeFee; } @@ -606,4 +588,4 @@ public EquityFee(string currency, } } } -} \ No newline at end of file +} diff --git a/Common/Orders/Fees/InteractiveBrokersFeeModel.cs b/Common/Orders/Fees/InteractiveBrokersFeeModel.cs index fa3314168784..827a2b66f923 100644 --- a/Common/Orders/Fees/InteractiveBrokersFeeModel.cs +++ b/Common/Orders/Fees/InteractiveBrokersFeeModel.cs @@ -164,8 +164,8 @@ private static CashAmount UnitedStatesFutureFees(Security security) exchangeFeePerContract = 1.60m; } - // Add exchange fees - return new CashAmount(ibFeePerContract + exchangeFeePerContract, Currencies.USD); + // Add exchange fees + IBKR regulatory fee (0.02) + return new CashAmount(ibFeePerContract + exchangeFeePerContract + 0.02m, Currencies.USD); } /// diff --git a/Common/Orders/Fees/InteractiveBrokersTieredFeeModel.cs b/Common/Orders/Fees/InteractiveBrokersTieredFeeModel.cs index 6972391d0791..95dfab4b769f 100644 --- a/Common/Orders/Fees/InteractiveBrokersTieredFeeModel.cs +++ b/Common/Orders/Fees/InteractiveBrokersTieredFeeModel.cs @@ -44,6 +44,8 @@ public class InteractiveBrokersTieredFeeModel : FeeModel new Dictionary>(); private Dictionary _monthlyTradeVolume; private DateTime _lastOrderTime = DateTime.MinValue; + // List of Option exchanges susceptible to pay ORF regulatory fee. + private static readonly List _optionExchangesOrfFee = new() { Market.CBOE, Market.USA }; /// /// Initializes a new instance of the @@ -143,6 +145,17 @@ public override OrderFee GetOrderFee(OrderFeeParameters parameters) case SecurityType.Option: case SecurityType.IndexOption: var orderPrice = InteractiveBrokersFeeHelper.CalculateOptionFee(security, order, quantity, market, _optionFee, out feeResult, out feeCurrency); + // Regulatory Fee: Options Regulatory Fee (ORF) + FINRA Consolidated Audit Trail Fees + var regulatory = _optionExchangesOrfFee.Contains(market) ? + (0.01915m + 0.0048m) * quantity : + 0.0048m * quantity; + // Transaction Fees: SEC Transaction Fee + FINRA Trading Activity Fee (only charge on sell) + var transaction = order.Quantity < 0 ? 0.0000278m * Math.Abs(order.GetValue(security)) + 0.00279m * quantity : 0m; + // Clearing Fee + var clearing = Math.Min(0.02m * quantity, 55m); + + feeResult += regulatory + transaction + clearing; + // Update the monthly value traded _monthlyTradeVolume[SecurityType.Option] += quantity * orderPrice; break; @@ -159,6 +172,12 @@ public override OrderFee GetOrderFee(OrderFeeParameters parameters) var tradeFee = InteractiveBrokersFeeHelper.CalculateEquityFee(security, order, quantity, tradeValue, market, _equityCommissionRate, EquityMinimumOrderFee, out feeResult, out feeCurrency); // Tiered fee model has the below extra cost. + // FINRA Trading Activity Fee only applies to sale of security. + var finraTradingActivityFee = order.Direction == OrderDirection.Sell ? Math.Min(8.3m, quantity * 0.000166m) : 0m; + // Regulatory Fees. + var regulatoryFee = tradeValue * 0.0000278m // SEC Transaction Fee + + finraTradingActivityFee // FINRA Trading Activity Fee + + quantity * 0.000048m; // FINRA Consolidated Audit Trail Fees // Clearing Fee: NSCC, DTC Fees. var clearingFee = Math.Min(quantity * 0.0002m, tradeValue * 0.005m); // Exchange related handling fees. @@ -166,7 +185,7 @@ public override OrderFee GetOrderFee(OrderFeeParameters parameters) // FINRA Pass Through Fees. var passThroughFee = Math.Min(8.3m, tradeFee * 0.00056m); - feeResult = feeResult + clearingFee + exchangeFee + passThroughFee; + feeResult = feeResult + regulatoryFee + clearingFee + exchangeFee + passThroughFee; // Update the monthly volume shares traded _monthlyTradeVolume[SecurityType.Equity] += quantity; @@ -227,8 +246,8 @@ private CashAmount UnitedStatesFutureFees(Security security) exchangeFeePerContract = 1.60m; } - // Add exchange fees - return new CashAmount(ibFeePerContract[_futureCommissionTier] + exchangeFeePerContract, Currencies.USD); + // Add exchange fees + IBKR regulatory fee (0.02) + return new CashAmount(ibFeePerContract[_futureCommissionTier] + exchangeFeePerContract + 0.02m, Currencies.USD); } /// diff --git a/Tests/Common/Orders/Fees/InteractiveBrokersFeeModelTests.cs b/Tests/Common/Orders/Fees/InteractiveBrokersFeeModelTests.cs index fd2e927d1d86..063e6af3b17b 100644 --- a/Tests/Common/Orders/Fees/InteractiveBrokersFeeModelTests.cs +++ b/Tests/Common/Orders/Fees/InteractiveBrokersFeeModelTests.cs @@ -52,7 +52,7 @@ public void USAEquityMinimumFeeInUSD() ); Assert.AreEqual(Currencies.USD, fee.Value.Currency); - Assert.AreEqual(1.002828m, fee.Value.Amount); + Assert.AreEqual(1m, fee.Value.Amount); } [Test] @@ -69,7 +69,7 @@ public void USAEquityFeeInUSD() ); Assert.AreEqual(Currencies.USD, fee.Value.Currency); - Assert.AreEqual(7.828m, fee.Value.Amount); + Assert.AreEqual(5m, fee.Value.Amount); } [TestCaseSource(nameof(USAFuturesFeeTestCases))] @@ -83,7 +83,7 @@ public void USAFutureFee(Symbol symbol, decimal expectedFee) ErrorCurrencyConverter.Instance, RegisteredSecurityDataTypesProvider.Null, new SecurityCache()); - var security = (Security) (symbol.SecurityType == SecurityType.Future + var security = (Security)(symbol.SecurityType == SecurityType.Future ? future : new FutureOption(symbol, SecurityExchangeHours.AlwaysOpen(tz), @@ -129,39 +129,39 @@ public void CalculatesCFDFee(string quoteCurrency, decimal price, decimal expect Assert.AreEqual(expectedFee, fee.Value.Amount); } - [TestCase(OrderType.ComboMarket, 0.01, 293.95)] - [TestCase(OrderType.ComboLimit, 0.01, 293.95)] - [TestCase(OrderType.ComboLegLimit, 0.01, 293.95)] - [TestCase(OrderType.Limit, 0.01, 293.95)] - [TestCase(OrderType.StopLimit, 0.01, 293.95)] - [TestCase(OrderType.LimitIfTouched, 0.01, 293.95)] - [TestCase(OrderType.StopMarket, 0.01, 293.95)] - [TestCase(OrderType.TrailingStop, 0.01, 293.95)] - [TestCase(OrderType.Market, 0.01, 293.95)] - [TestCase(OrderType.MarketOnClose, 0.01, 293.95)] - [TestCase(OrderType.MarketOnOpen, 0.01, 293.95)] - [TestCase(OrderType.ComboMarket, 0.2, 693.95)] - [TestCase(OrderType.ComboLimit, 0.2, 693.95)] - [TestCase(OrderType.ComboLegLimit, 0.2, 693.95)] - [TestCase(OrderType.Limit, 0.2, 693.95)] - [TestCase(OrderType.StopLimit, 0.2, 693.95)] - [TestCase(OrderType.LimitIfTouched, 0.2, 693.95)] - [TestCase(OrderType.StopMarket, 0.2, 693.95)] - [TestCase(OrderType.TrailingStop, 0.2, 693.95)] - [TestCase(OrderType.Market, 0.2, 693.95)] - [TestCase(OrderType.MarketOnClose, 0.2, 693.95)] - [TestCase(OrderType.MarketOnOpen, 0.2, 693.95)] - [TestCase(OrderType.ComboMarket, 0.07, 543.95)] - [TestCase(OrderType.ComboLimit, 0.07, 543.95)] - [TestCase(OrderType.ComboLegLimit, 0.07, 543.95)] - [TestCase(OrderType.Limit, 0.07, 543.95)] - [TestCase(OrderType.StopLimit, 0.07, 543.95)] - [TestCase(OrderType.LimitIfTouched, 0.07, 543.95)] - [TestCase(OrderType.StopMarket, 0.07, 543.95)] - [TestCase(OrderType.TrailingStop, 0.07, 543.95)] - [TestCase(OrderType.Market, 0.07, 543.95)] - [TestCase(OrderType.MarketOnClose, 0.07, 543.95)] - [TestCase(OrderType.MarketOnOpen, 0.07, 543.95)] + [TestCase(OrderType.ComboMarket, 0.01, 250)] + [TestCase(OrderType.ComboLimit, 0.01, 250)] + [TestCase(OrderType.ComboLegLimit, 0.01, 250)] + [TestCase(OrderType.Limit, 0.01, 250)] + [TestCase(OrderType.StopLimit, 0.01, 250)] + [TestCase(OrderType.LimitIfTouched, 0.01, 250)] + [TestCase(OrderType.StopMarket, 0.01, 250)] + [TestCase(OrderType.TrailingStop, 0.01, 250)] + [TestCase(OrderType.Market, 0.01, 250)] + [TestCase(OrderType.MarketOnClose, 0.01, 250)] + [TestCase(OrderType.MarketOnOpen, 0.01, 250)] + [TestCase(OrderType.ComboMarket, 0.2, 650)] + [TestCase(OrderType.ComboLimit, 0.2, 650)] + [TestCase(OrderType.ComboLegLimit, 0.2, 650)] + [TestCase(OrderType.Limit, 0.2, 650)] + [TestCase(OrderType.StopLimit, 0.2, 650)] + [TestCase(OrderType.LimitIfTouched, 0.2, 650)] + [TestCase(OrderType.StopMarket, 0.2, 650)] + [TestCase(OrderType.TrailingStop, 0.2, 650)] + [TestCase(OrderType.Market, 0.2, 650)] + [TestCase(OrderType.MarketOnClose, 0.2, 650)] + [TestCase(OrderType.MarketOnOpen, 0.2, 650)] + [TestCase(OrderType.ComboMarket, 0.07, 500)] + [TestCase(OrderType.ComboLimit, 0.07, 500)] + [TestCase(OrderType.ComboLegLimit, 0.07, 500)] + [TestCase(OrderType.Limit, 0.07, 500)] + [TestCase(OrderType.StopLimit, 0.07, 500)] + [TestCase(OrderType.LimitIfTouched, 0.07, 500)] + [TestCase(OrderType.StopMarket, 0.07, 500)] + [TestCase(OrderType.TrailingStop, 0.07, 500)] + [TestCase(OrderType.Market, 0.07, 500)] + [TestCase(OrderType.MarketOnClose, 0.07, 500)] + [TestCase(OrderType.MarketOnOpen, 0.07, 500)] public void USAOptionFee(OrderType orderType, double price, double expectedFees) { var optionPrice = (decimal)price; @@ -250,7 +250,7 @@ public void USAOptionMinimumFee() ); Assert.AreEqual(Currencies.USD, fee.Value.Currency); - Assert.AreEqual(1.04395m, fee.Value.Amount); + Assert.AreEqual(1m, fee.Value.Amount); } [Test] @@ -342,90 +342,90 @@ private static TestCaseData[] USAFuturesFeeTestCases() return new[] { // E-mini Futures - new { Symbol = Futures.Indices.Dow30EMini, Type = SecurityType.Future, ExpectedFee = 2.13m }, - new { Symbol = Futures.Indices.Russell2000EMini, Type = SecurityType.Future, ExpectedFee = 2.13m }, - new { Symbol = Futures.Indices.SP500EMini, Type = SecurityType.Future, ExpectedFee = 2.13m }, - new { Symbol = Futures.Indices.NASDAQ100EMini, Type = SecurityType.Future, ExpectedFee = 2.13m }, + new { Symbol = Futures.Indices.Dow30EMini, Type = SecurityType.Future, ExpectedFee = 2.15m }, + new { Symbol = Futures.Indices.Russell2000EMini, Type = SecurityType.Future, ExpectedFee = 2.15m }, + new { Symbol = Futures.Indices.SP500EMini, Type = SecurityType.Future, ExpectedFee = 2.15m }, + new { Symbol = Futures.Indices.NASDAQ100EMini, Type = SecurityType.Future, ExpectedFee = 2.15m }, // E-mini Future options - new { Symbol = Futures.Indices.Dow30EMini, Type = SecurityType.FutureOption, ExpectedFee = 1.4m }, - new { Symbol = Futures.Indices.Russell2000EMini, Type = SecurityType.FutureOption, ExpectedFee = 1.4m }, - new { Symbol = Futures.Indices.SP500EMini, Type = SecurityType.FutureOption, ExpectedFee = 1.4m }, - new { Symbol = Futures.Indices.NASDAQ100EMini, Type = SecurityType.FutureOption, ExpectedFee = 1.4m }, + new { Symbol = Futures.Indices.Dow30EMini, Type = SecurityType.FutureOption, ExpectedFee = 1.42m }, + new { Symbol = Futures.Indices.Russell2000EMini, Type = SecurityType.FutureOption, ExpectedFee = 1.42m }, + new { Symbol = Futures.Indices.SP500EMini, Type = SecurityType.FutureOption, ExpectedFee = 1.42m }, + new { Symbol = Futures.Indices.NASDAQ100EMini, Type = SecurityType.FutureOption, ExpectedFee = 1.42m }, // Micro E-mini Futures - new { Symbol = Futures.Indices.MicroDow30EMini, Type = SecurityType.Future, ExpectedFee = 0.55m }, - new { Symbol = Futures.Indices.MicroRussell2000EMini, Type = SecurityType.Future, ExpectedFee = 0.55m }, - new { Symbol = Futures.Indices.MicroSP500EMini, Type = SecurityType.Future, ExpectedFee = 0.55m }, - new { Symbol = Futures.Indices.MicroNASDAQ100EMini, Type = SecurityType.Future, ExpectedFee = 0.55m }, - new { Symbol = Futures.Financials.MicroY2TreasuryBond, Type = SecurityType.Future, ExpectedFee = 0.55m }, - new { Symbol = Futures.Financials.MicroY5TreasuryBond, Type = SecurityType.Future, ExpectedFee = 0.55m }, - new { Symbol = Futures.Financials.MicroY10TreasuryNote, Type = SecurityType.Future, ExpectedFee = 0.55m }, - new { Symbol = Futures.Financials.MicroY30TreasuryBond, Type = SecurityType.Future, ExpectedFee = 0.55m }, - new { Symbol = Futures.Metals.MicroGold, Type = SecurityType.Future, ExpectedFee = 0.55m }, - new { Symbol = Futures.Metals.MicroSilver, Type = SecurityType.Future, ExpectedFee = 0.55m }, - new { Symbol = Futures.Energy.MicroCrudeOilWTI, Type = SecurityType.Future, ExpectedFee = 0.55m }, + new { Symbol = Futures.Indices.MicroDow30EMini, Type = SecurityType.Future, ExpectedFee = 0.57m }, + new { Symbol = Futures.Indices.MicroRussell2000EMini, Type = SecurityType.Future, ExpectedFee = 0.57m }, + new { Symbol = Futures.Indices.MicroSP500EMini, Type = SecurityType.Future, ExpectedFee = 0.57m }, + new { Symbol = Futures.Indices.MicroNASDAQ100EMini, Type = SecurityType.Future, ExpectedFee = 0.57m }, + new { Symbol = Futures.Financials.MicroY2TreasuryBond, Type = SecurityType.Future, ExpectedFee = 0.57m }, + new { Symbol = Futures.Financials.MicroY5TreasuryBond, Type = SecurityType.Future, ExpectedFee = 0.57m }, + new { Symbol = Futures.Financials.MicroY10TreasuryNote, Type = SecurityType.Future, ExpectedFee = 0.57m }, + new { Symbol = Futures.Financials.MicroY30TreasuryBond, Type = SecurityType.Future, ExpectedFee = 0.57m }, + new { Symbol = Futures.Metals.MicroGold, Type = SecurityType.Future, ExpectedFee = 0.57m }, + new { Symbol = Futures.Metals.MicroSilver, Type = SecurityType.Future, ExpectedFee = 0.57m }, + new { Symbol = Futures.Energy.MicroCrudeOilWTI, Type = SecurityType.Future, ExpectedFee = 0.57m }, // Micro E-mini Future options - new { Symbol = Futures.Indices.MicroDow30EMini, Type = SecurityType.FutureOption, ExpectedFee = 0.45m }, - new { Symbol = Futures.Indices.MicroRussell2000EMini, Type = SecurityType.FutureOption, ExpectedFee = 0.45m }, - new { Symbol = Futures.Indices.MicroSP500EMini, Type = SecurityType.FutureOption, ExpectedFee = 0.45m }, - new { Symbol = Futures.Indices.MicroNASDAQ100EMini, Type = SecurityType.FutureOption, ExpectedFee = 0.45m }, - new { Symbol = Futures.Financials.MicroY2TreasuryBond, Type = SecurityType.FutureOption, ExpectedFee = 0.45m }, - new { Symbol = Futures.Financials.MicroY5TreasuryBond, Type = SecurityType.FutureOption, ExpectedFee = 0.45m }, - new { Symbol = Futures.Financials.MicroY10TreasuryNote, Type = SecurityType.FutureOption, ExpectedFee = 0.45m }, - new { Symbol = Futures.Financials.MicroY30TreasuryBond, Type = SecurityType.FutureOption, ExpectedFee = 0.45m }, - new { Symbol = Futures.Metals.MicroGold, Type = SecurityType.FutureOption, ExpectedFee = 0.45m }, - new { Symbol = Futures.Metals.MicroSilver, Type = SecurityType.FutureOption, ExpectedFee = 0.45m }, - new { Symbol = Futures.Energy.MicroCrudeOilWTI, Type = SecurityType.FutureOption, ExpectedFee = 0.45m }, + new { Symbol = Futures.Indices.MicroDow30EMini, Type = SecurityType.FutureOption, ExpectedFee = 0.47m }, + new { Symbol = Futures.Indices.MicroRussell2000EMini, Type = SecurityType.FutureOption, ExpectedFee = 0.47m }, + new { Symbol = Futures.Indices.MicroSP500EMini, Type = SecurityType.FutureOption, ExpectedFee = 0.47m }, + new { Symbol = Futures.Indices.MicroNASDAQ100EMini, Type = SecurityType.FutureOption, ExpectedFee = 0.47m }, + new { Symbol = Futures.Financials.MicroY2TreasuryBond, Type = SecurityType.FutureOption, ExpectedFee = 0.47m }, + new { Symbol = Futures.Financials.MicroY5TreasuryBond, Type = SecurityType.FutureOption, ExpectedFee = 0.47m }, + new { Symbol = Futures.Financials.MicroY10TreasuryNote, Type = SecurityType.FutureOption, ExpectedFee = 0.47m }, + new { Symbol = Futures.Financials.MicroY30TreasuryBond, Type = SecurityType.FutureOption, ExpectedFee = 0.47m }, + new { Symbol = Futures.Metals.MicroGold, Type = SecurityType.FutureOption, ExpectedFee = 0.47m }, + new { Symbol = Futures.Metals.MicroSilver, Type = SecurityType.FutureOption, ExpectedFee = 0.47m }, + new { Symbol = Futures.Energy.MicroCrudeOilWTI, Type = SecurityType.FutureOption, ExpectedFee = 0.47m }, // Cryptocurrency futures - new { Symbol = Futures.Currencies.BTC, Type = SecurityType.Future, ExpectedFee = 11m }, - new { Symbol = Futures.Currencies.ETH, Type = SecurityType.Future, ExpectedFee = 7m }, - new { Symbol = Futures.Currencies.MicroBTC, Type = SecurityType.Future, ExpectedFee = 4.75m }, - new { Symbol = Futures.Currencies.MicroEther, Type = SecurityType.Future, ExpectedFee = 0.4m }, + new { Symbol = Futures.Currencies.BTC, Type = SecurityType.Future, ExpectedFee = 11.02m }, + new { Symbol = Futures.Currencies.ETH, Type = SecurityType.Future, ExpectedFee = 7.02m }, + new { Symbol = Futures.Currencies.MicroBTC, Type = SecurityType.Future, ExpectedFee = 4.77m }, + new { Symbol = Futures.Currencies.MicroEther, Type = SecurityType.Future, ExpectedFee = 0.42m }, // Cryptocurrency future options - new { Symbol = Futures.Currencies.BTC, Type = SecurityType.FutureOption, ExpectedFee = 10m }, - new { Symbol = Futures.Currencies.ETH, Type = SecurityType.FutureOption, ExpectedFee = 7m }, - new { Symbol = Futures.Currencies.MicroBTC, Type = SecurityType.FutureOption, ExpectedFee = 3.75m }, - new { Symbol = Futures.Currencies.MicroEther, Type = SecurityType.FutureOption, ExpectedFee = 0.3m }, + new { Symbol = Futures.Currencies.BTC, Type = SecurityType.FutureOption, ExpectedFee = 10.02m }, + new { Symbol = Futures.Currencies.ETH, Type = SecurityType.FutureOption, ExpectedFee = 7.02m }, + new { Symbol = Futures.Currencies.MicroBTC, Type = SecurityType.FutureOption, ExpectedFee = 3.77m }, + new { Symbol = Futures.Currencies.MicroEther, Type = SecurityType.FutureOption, ExpectedFee = 0.32m }, // E-mini FX (currencies) Futures - new { Symbol = Futures.Currencies.EuroFXEmini, Type = SecurityType.Future, ExpectedFee = 1.35m }, - new { Symbol = Futures.Currencies.JapaneseYenEmini, Type = SecurityType.Future, ExpectedFee = 1.35m }, + new { Symbol = Futures.Currencies.EuroFXEmini, Type = SecurityType.Future, ExpectedFee = 1.37m }, + new { Symbol = Futures.Currencies.JapaneseYenEmini, Type = SecurityType.Future, ExpectedFee = 1.37m }, // Micro E-mini FX (currencies) Futures - new { Symbol = Futures.Currencies.MicroAUD, Type = SecurityType.Future, ExpectedFee = 0.39m }, - new { Symbol = Futures.Currencies.MicroEUR, Type = SecurityType.Future, ExpectedFee = 0.39m }, - new { Symbol = Futures.Currencies.MicroGBP, Type = SecurityType.Future, ExpectedFee = 0.39m }, - new { Symbol = Futures.Currencies.MicroCADUSD, Type = SecurityType.Future, ExpectedFee = 0.39m }, - new { Symbol = Futures.Currencies.MicroJPY, Type = SecurityType.Future, ExpectedFee = 0.39m }, - new { Symbol = Futures.Currencies.MicroCHF, Type = SecurityType.Future, ExpectedFee = 0.39m }, - new { Symbol = Futures.Currencies.MicroUSDJPY, Type = SecurityType.Future, ExpectedFee = 0.39m }, - new { Symbol = Futures.Currencies.MicroINRUSD, Type = SecurityType.Future, ExpectedFee = 0.39m }, - new { Symbol = Futures.Currencies.MicroCAD, Type = SecurityType.Future, ExpectedFee = 0.39m }, - new { Symbol = Futures.Currencies.MicroUSDCHF, Type = SecurityType.Future, ExpectedFee = 0.39m }, - new { Symbol = Futures.Currencies.MicroUSDCNH, Type = SecurityType.Future, ExpectedFee = 0.39m }, + new { Symbol = Futures.Currencies.MicroAUD, Type = SecurityType.Future, ExpectedFee = 0.41m }, + new { Symbol = Futures.Currencies.MicroEUR, Type = SecurityType.Future, ExpectedFee = 0.41m }, + new { Symbol = Futures.Currencies.MicroGBP, Type = SecurityType.Future, ExpectedFee = 0.41m }, + new { Symbol = Futures.Currencies.MicroCADUSD, Type = SecurityType.Future, ExpectedFee = 0.41m }, + new { Symbol = Futures.Currencies.MicroJPY, Type = SecurityType.Future, ExpectedFee = 0.41m }, + new { Symbol = Futures.Currencies.MicroCHF, Type = SecurityType.Future, ExpectedFee = 0.41m }, + new { Symbol = Futures.Currencies.MicroUSDJPY, Type = SecurityType.Future, ExpectedFee = 0.41m }, + new { Symbol = Futures.Currencies.MicroINRUSD, Type = SecurityType.Future, ExpectedFee = 0.41m }, + new { Symbol = Futures.Currencies.MicroCAD, Type = SecurityType.Future, ExpectedFee = 0.41m }, + new { Symbol = Futures.Currencies.MicroUSDCHF, Type = SecurityType.Future, ExpectedFee = 0.41m }, + new { Symbol = Futures.Currencies.MicroUSDCNH, Type = SecurityType.Future, ExpectedFee = 0.41m }, // Other futures - new { Symbol = Futures.Metals.MicroGoldTAS, Type = SecurityType.Future, ExpectedFee = 2.45m }, - new { Symbol = Futures.Metals.MicroPalladium, Type = SecurityType.Future, ExpectedFee = 2.45m }, - new { Symbol = Futures.Energy.MicroGasoilZeroPointOnePercentBargesFOBARAPlatts, Type = SecurityType.Future, ExpectedFee = 2.45m }, - new { Symbol = Futures.Energy.MicroEuropeanThreePointFivePercentFuelOilCargoesFOBMedPlatts, Type = SecurityType.Future, ExpectedFee = 2.45m }, - new { Symbol = Futures.Energy.MicroCoalAPIFivefobNewcastleArgusMcCloskey, Type = SecurityType.Future, ExpectedFee = 2.45m }, - new { Symbol = Futures.Energy.MicroSingaporeFuelOil380CSTPlatts, Type = SecurityType.Future, ExpectedFee = 2.45m }, - new { Symbol = Futures.Energy.MicroEuropeanThreePointFivePercentOilBargesFOBRdamPlatts, Type = SecurityType.Future, ExpectedFee = 2.45m }, - new { Symbol = Futures.Energy.MicroEuropeanFOBRdamMarineFuelZeroPointFivePercentBargesPlatts, Type = SecurityType.Future, ExpectedFee = 2.45m }, - new { Symbol = Futures.Energy.MicroSingaporeFOBMarineFuelZeroPointFivePercetPlatts, Type = SecurityType.Future, ExpectedFee = 2.45m }, - new { Symbol = Futures.Currencies.USD, Type = SecurityType.Future, ExpectedFee = 2.45m }, - new { Symbol = Futures.Currencies.CAD, Type = SecurityType.Future, ExpectedFee = 2.45m }, - new { Symbol = Futures.Currencies.EUR, Type = SecurityType.Future, ExpectedFee = 2.45m }, + new { Symbol = Futures.Metals.MicroGoldTAS, Type = SecurityType.Future, ExpectedFee = 2.47m }, + new { Symbol = Futures.Metals.MicroPalladium, Type = SecurityType.Future, ExpectedFee = 2.47m }, + new { Symbol = Futures.Energy.MicroGasoilZeroPointOnePercentBargesFOBARAPlatts, Type = SecurityType.Future, ExpectedFee = 2.47m }, + new { Symbol = Futures.Energy.MicroEuropeanThreePointFivePercentFuelOilCargoesFOBMedPlatts, Type = SecurityType.Future, ExpectedFee = 2.47m }, + new { Symbol = Futures.Energy.MicroCoalAPIFivefobNewcastleArgusMcCloskey, Type = SecurityType.Future, ExpectedFee = 2.47m }, + new { Symbol = Futures.Energy.MicroSingaporeFuelOil380CSTPlatts, Type = SecurityType.Future, ExpectedFee = 2.47m }, + new { Symbol = Futures.Energy.MicroEuropeanThreePointFivePercentOilBargesFOBRdamPlatts, Type = SecurityType.Future, ExpectedFee = 2.47m }, + new { Symbol = Futures.Energy.MicroEuropeanFOBRdamMarineFuelZeroPointFivePercentBargesPlatts, Type = SecurityType.Future, ExpectedFee = 2.47m }, + new { Symbol = Futures.Energy.MicroSingaporeFOBMarineFuelZeroPointFivePercetPlatts, Type = SecurityType.Future, ExpectedFee = 2.47m }, + new { Symbol = Futures.Currencies.USD, Type = SecurityType.Future, ExpectedFee = 2.47m }, + new { Symbol = Futures.Currencies.CAD, Type = SecurityType.Future, ExpectedFee = 2.47m }, + new { Symbol = Futures.Currencies.EUR, Type = SecurityType.Future, ExpectedFee = 2.47m }, // Other future options - new { Symbol = Futures.Metals.MicroGoldTAS, Type = SecurityType.FutureOption, ExpectedFee = 2.45m }, - new { Symbol = Futures.Metals.MicroPalladium, Type = SecurityType.FutureOption, ExpectedFee = 2.45m }, - new { Symbol = Futures.Energy.MicroGasoilZeroPointOnePercentBargesFOBARAPlatts, Type = SecurityType.FutureOption, ExpectedFee = 2.45m }, - new { Symbol = Futures.Energy.MicroEuropeanThreePointFivePercentFuelOilCargoesFOBMedPlatts, Type = SecurityType.FutureOption, ExpectedFee = 2.45m }, - new { Symbol = Futures.Energy.MicroCoalAPIFivefobNewcastleArgusMcCloskey, Type = SecurityType.FutureOption, ExpectedFee = 2.45m }, - new { Symbol = Futures.Energy.MicroSingaporeFuelOil380CSTPlatts, Type = SecurityType.FutureOption, ExpectedFee = 2.45m }, - new { Symbol = Futures.Energy.MicroEuropeanThreePointFivePercentOilBargesFOBRdamPlatts, Type = SecurityType.FutureOption, ExpectedFee = 2.45m }, - new { Symbol = Futures.Energy.MicroEuropeanFOBRdamMarineFuelZeroPointFivePercentBargesPlatts, Type = SecurityType.FutureOption, ExpectedFee = 2.45m }, - new { Symbol = Futures.Energy.MicroSingaporeFOBMarineFuelZeroPointFivePercetPlatts, Type = SecurityType.FutureOption, ExpectedFee = 2.45m }, - new { Symbol = Futures.Currencies.USD, Type = SecurityType.FutureOption, ExpectedFee = 2.45m }, - new { Symbol = Futures.Currencies.CAD, Type = SecurityType.FutureOption, ExpectedFee = 2.45m }, - new { Symbol = Futures.Currencies.EUR, Type = SecurityType.FutureOption, ExpectedFee = 2.45m }, + new { Symbol = Futures.Metals.MicroGoldTAS, Type = SecurityType.FutureOption, ExpectedFee = 2.47m }, + new { Symbol = Futures.Metals.MicroPalladium, Type = SecurityType.FutureOption, ExpectedFee = 2.47m }, + new { Symbol = Futures.Energy.MicroGasoilZeroPointOnePercentBargesFOBARAPlatts, Type = SecurityType.FutureOption, ExpectedFee = 2.47m }, + new { Symbol = Futures.Energy.MicroEuropeanThreePointFivePercentFuelOilCargoesFOBMedPlatts, Type = SecurityType.FutureOption, ExpectedFee = 2.47m }, + new { Symbol = Futures.Energy.MicroCoalAPIFivefobNewcastleArgusMcCloskey, Type = SecurityType.FutureOption, ExpectedFee = 2.47m }, + new { Symbol = Futures.Energy.MicroSingaporeFuelOil380CSTPlatts, Type = SecurityType.FutureOption, ExpectedFee = 2.47m }, + new { Symbol = Futures.Energy.MicroEuropeanThreePointFivePercentOilBargesFOBRdamPlatts, Type = SecurityType.FutureOption, ExpectedFee = 2.47m }, + new { Symbol = Futures.Energy.MicroEuropeanFOBRdamMarineFuelZeroPointFivePercentBargesPlatts, Type = SecurityType.FutureOption, ExpectedFee = 2.47m }, + new { Symbol = Futures.Energy.MicroSingaporeFOBMarineFuelZeroPointFivePercetPlatts, Type = SecurityType.FutureOption, ExpectedFee = 2.47m }, + new { Symbol = Futures.Currencies.USD, Type = SecurityType.FutureOption, ExpectedFee = 2.47m }, + new { Symbol = Futures.Currencies.CAD, Type = SecurityType.FutureOption, ExpectedFee = 2.47m }, + new { Symbol = Futures.Currencies.EUR, Type = SecurityType.FutureOption, ExpectedFee = 2.47m }, }.Select(x => { var symbol = Symbols.CreateFutureSymbol(x.Symbol, SecurityIdentifier.DefaultDate); diff --git a/Tests/Common/Orders/Fees/InteractiveBrokersTieredFeeModelTests.cs b/Tests/Common/Orders/Fees/InteractiveBrokersTieredFeeModelTests.cs index c3e81972578e..9dae800f5bb2 100644 --- a/Tests/Common/Orders/Fees/InteractiveBrokersTieredFeeModelTests.cs +++ b/Tests/Common/Orders/Fees/InteractiveBrokersTieredFeeModelTests.cs @@ -547,315 +547,315 @@ private static TestCaseData[] USAFuturesFeeTestCases() return new[] { // E-mini Futures - new { Tier = 0, Symbol = Futures.Indices.Dow30EMini, Type = SecurityType.Future, ExpectedFee = 2.13m }, - new { Tier = 0, Symbol = Futures.Indices.Russell2000EMini, Type = SecurityType.Future, ExpectedFee = 2.13m }, - new { Tier = 0, Symbol = Futures.Indices.SP500EMini, Type = SecurityType.Future, ExpectedFee = 2.13m }, - new { Tier = 0, Symbol = Futures.Indices.NASDAQ100EMini, Type = SecurityType.Future, ExpectedFee = 2.13m }, - new { Tier = 1, Symbol = Futures.Indices.Dow30EMini, Type = SecurityType.Future, ExpectedFee = 1.93m }, - new { Tier = 1, Symbol = Futures.Indices.Russell2000EMini, Type = SecurityType.Future, ExpectedFee = 1.93m }, - new { Tier = 1, Symbol = Futures.Indices.SP500EMini, Type = SecurityType.Future, ExpectedFee = 1.93m }, - new { Tier = 1, Symbol = Futures.Indices.NASDAQ100EMini, Type = SecurityType.Future, ExpectedFee = 1.93m }, - new { Tier = 2, Symbol = Futures.Indices.Dow30EMini, Type = SecurityType.Future, ExpectedFee = 1.73m }, - new { Tier = 2, Symbol = Futures.Indices.Russell2000EMini, Type = SecurityType.Future, ExpectedFee = 1.73m }, - new { Tier = 2, Symbol = Futures.Indices.SP500EMini, Type = SecurityType.Future, ExpectedFee = 1.73m }, - new { Tier = 2, Symbol = Futures.Indices.NASDAQ100EMini, Type = SecurityType.Future, ExpectedFee = 1.73m }, - new { Tier = 3, Symbol = Futures.Indices.Dow30EMini, Type = SecurityType.Future, ExpectedFee = 1.53m }, - new { Tier = 3, Symbol = Futures.Indices.Russell2000EMini, Type = SecurityType.Future, ExpectedFee = 1.53m }, - new { Tier = 3, Symbol = Futures.Indices.SP500EMini, Type = SecurityType.Future, ExpectedFee = 1.53m }, - new { Tier = 3, Symbol = Futures.Indices.NASDAQ100EMini, Type = SecurityType.Future, ExpectedFee = 1.53m }, + new { Tier = 0, Symbol = Futures.Indices.Dow30EMini, Type = SecurityType.Future, ExpectedFee = 2.15m }, + new { Tier = 0, Symbol = Futures.Indices.Russell2000EMini, Type = SecurityType.Future, ExpectedFee = 2.15m }, + new { Tier = 0, Symbol = Futures.Indices.SP500EMini, Type = SecurityType.Future, ExpectedFee = 2.15m }, + new { Tier = 0, Symbol = Futures.Indices.NASDAQ100EMini, Type = SecurityType.Future, ExpectedFee = 2.15m }, + new { Tier = 1, Symbol = Futures.Indices.Dow30EMini, Type = SecurityType.Future, ExpectedFee = 1.95m }, + new { Tier = 1, Symbol = Futures.Indices.Russell2000EMini, Type = SecurityType.Future, ExpectedFee = 1.95m }, + new { Tier = 1, Symbol = Futures.Indices.SP500EMini, Type = SecurityType.Future, ExpectedFee = 1.95m }, + new { Tier = 1, Symbol = Futures.Indices.NASDAQ100EMini, Type = SecurityType.Future, ExpectedFee = 1.95m }, + new { Tier = 2, Symbol = Futures.Indices.Dow30EMini, Type = SecurityType.Future, ExpectedFee = 1.75m }, + new { Tier = 2, Symbol = Futures.Indices.Russell2000EMini, Type = SecurityType.Future, ExpectedFee = 1.75m }, + new { Tier = 2, Symbol = Futures.Indices.SP500EMini, Type = SecurityType.Future, ExpectedFee = 1.75m }, + new { Tier = 2, Symbol = Futures.Indices.NASDAQ100EMini, Type = SecurityType.Future, ExpectedFee = 1.75m }, + new { Tier = 3, Symbol = Futures.Indices.Dow30EMini, Type = SecurityType.Future, ExpectedFee = 1.55m }, + new { Tier = 3, Symbol = Futures.Indices.Russell2000EMini, Type = SecurityType.Future, ExpectedFee = 1.55m }, + new { Tier = 3, Symbol = Futures.Indices.SP500EMini, Type = SecurityType.Future, ExpectedFee = 1.55m }, + new { Tier = 3, Symbol = Futures.Indices.NASDAQ100EMini, Type = SecurityType.Future, ExpectedFee = 1.55m }, // E-mini Future options - new { Tier = 0, Symbol = Futures.Indices.Dow30EMini, Type = SecurityType.FutureOption, ExpectedFee = 1.4m }, - new { Tier = 0, Symbol = Futures.Indices.Russell2000EMini, Type = SecurityType.FutureOption, ExpectedFee = 1.4m }, - new { Tier = 0, Symbol = Futures.Indices.SP500EMini, Type = SecurityType.FutureOption, ExpectedFee = 1.4m }, - new { Tier = 0, Symbol = Futures.Indices.NASDAQ100EMini, Type = SecurityType.FutureOption, ExpectedFee = 1.4m }, - new { Tier = 1, Symbol = Futures.Indices.Dow30EMini, Type = SecurityType.FutureOption, ExpectedFee = 1.2m }, - new { Tier = 1, Symbol = Futures.Indices.Russell2000EMini, Type = SecurityType.FutureOption, ExpectedFee = 1.2m }, - new { Tier = 1, Symbol = Futures.Indices.SP500EMini, Type = SecurityType.FutureOption, ExpectedFee = 1.2m }, - new { Tier = 1, Symbol = Futures.Indices.NASDAQ100EMini, Type = SecurityType.FutureOption, ExpectedFee = 1.2m }, - new { Tier = 2, Symbol = Futures.Indices.Dow30EMini, Type = SecurityType.FutureOption, ExpectedFee = 1m }, - new { Tier = 2, Symbol = Futures.Indices.Russell2000EMini, Type = SecurityType.FutureOption, ExpectedFee = 1m }, - new { Tier = 2, Symbol = Futures.Indices.SP500EMini, Type = SecurityType.FutureOption, ExpectedFee = 1m }, - new { Tier = 2, Symbol = Futures.Indices.NASDAQ100EMini, Type = SecurityType.FutureOption, ExpectedFee = 1m }, - new { Tier = 3, Symbol = Futures.Indices.Dow30EMini, Type = SecurityType.FutureOption, ExpectedFee = 0.8m }, - new { Tier = 3, Symbol = Futures.Indices.Russell2000EMini, Type = SecurityType.FutureOption, ExpectedFee = 0.8m }, - new { Tier = 3, Symbol = Futures.Indices.SP500EMini, Type = SecurityType.FutureOption, ExpectedFee = 0.8m }, - new { Tier = 3, Symbol = Futures.Indices.NASDAQ100EMini, Type = SecurityType.FutureOption, ExpectedFee = 0.8m }, + new { Tier = 0, Symbol = Futures.Indices.Dow30EMini, Type = SecurityType.FutureOption, ExpectedFee = 1.42m }, + new { Tier = 0, Symbol = Futures.Indices.Russell2000EMini, Type = SecurityType.FutureOption, ExpectedFee = 1.42m }, + new { Tier = 0, Symbol = Futures.Indices.SP500EMini, Type = SecurityType.FutureOption, ExpectedFee = 1.42m }, + new { Tier = 0, Symbol = Futures.Indices.NASDAQ100EMini, Type = SecurityType.FutureOption, ExpectedFee = 1.42m }, + new { Tier = 1, Symbol = Futures.Indices.Dow30EMini, Type = SecurityType.FutureOption, ExpectedFee = 1.22m }, + new { Tier = 1, Symbol = Futures.Indices.Russell2000EMini, Type = SecurityType.FutureOption, ExpectedFee = 1.22m }, + new { Tier = 1, Symbol = Futures.Indices.SP500EMini, Type = SecurityType.FutureOption, ExpectedFee = 1.22m }, + new { Tier = 1, Symbol = Futures.Indices.NASDAQ100EMini, Type = SecurityType.FutureOption, ExpectedFee = 1.22m }, + new { Tier = 2, Symbol = Futures.Indices.Dow30EMini, Type = SecurityType.FutureOption, ExpectedFee = 1.02m }, + new { Tier = 2, Symbol = Futures.Indices.Russell2000EMini, Type = SecurityType.FutureOption, ExpectedFee = 1.02m }, + new { Tier = 2, Symbol = Futures.Indices.SP500EMini, Type = SecurityType.FutureOption, ExpectedFee = 1.02m }, + new { Tier = 2, Symbol = Futures.Indices.NASDAQ100EMini, Type = SecurityType.FutureOption, ExpectedFee = 1.02m }, + new { Tier = 3, Symbol = Futures.Indices.Dow30EMini, Type = SecurityType.FutureOption, ExpectedFee = 0.82m }, + new { Tier = 3, Symbol = Futures.Indices.Russell2000EMini, Type = SecurityType.FutureOption, ExpectedFee = 0.82m }, + new { Tier = 3, Symbol = Futures.Indices.SP500EMini, Type = SecurityType.FutureOption, ExpectedFee = 0.82m }, + new { Tier = 3, Symbol = Futures.Indices.NASDAQ100EMini, Type = SecurityType.FutureOption, ExpectedFee = 0.82m }, // Micro E-mini Futures - new { Tier = 0, Symbol = Futures.Indices.MicroDow30EMini, Type = SecurityType.Future, ExpectedFee = 0.55m }, - new { Tier = 0, Symbol = Futures.Indices.MicroRussell2000EMini, Type = SecurityType.Future, ExpectedFee = 0.55m }, - new { Tier = 0, Symbol = Futures.Indices.MicroSP500EMini, Type = SecurityType.Future, ExpectedFee = 0.55m }, - new { Tier = 0, Symbol = Futures.Indices.MicroNASDAQ100EMini, Type = SecurityType.Future, ExpectedFee = 0.55m }, - new { Tier = 0, Symbol = Futures.Financials.MicroY2TreasuryBond, Type = SecurityType.Future, ExpectedFee = 0.55m }, - new { Tier = 0, Symbol = Futures.Financials.MicroY5TreasuryBond, Type = SecurityType.Future, ExpectedFee = 0.55m }, - new { Tier = 0, Symbol = Futures.Financials.MicroY10TreasuryNote, Type = SecurityType.Future, ExpectedFee = 0.55m }, - new { Tier = 0, Symbol = Futures.Financials.MicroY30TreasuryBond, Type = SecurityType.Future, ExpectedFee = 0.55m }, - new { Tier = 0, Symbol = Futures.Metals.MicroGold, Type = SecurityType.Future, ExpectedFee = 0.55m }, - new { Tier = 0, Symbol = Futures.Metals.MicroSilver, Type = SecurityType.Future, ExpectedFee = 0.55m }, - new { Tier = 0, Symbol = Futures.Energy.MicroCrudeOilWTI, Type = SecurityType.Future, ExpectedFee = 0.55m }, - new { Tier = 1, Symbol = Futures.Indices.MicroDow30EMini, Type = SecurityType.Future, ExpectedFee = 0.5m }, - new { Tier = 1, Symbol = Futures.Indices.MicroRussell2000EMini, Type = SecurityType.Future, ExpectedFee = 0.5m }, - new { Tier = 1, Symbol = Futures.Indices.MicroSP500EMini, Type = SecurityType.Future, ExpectedFee = 0.5m }, - new { Tier = 1, Symbol = Futures.Indices.MicroNASDAQ100EMini, Type = SecurityType.Future, ExpectedFee = 0.5m }, - new { Tier = 1, Symbol = Futures.Financials.MicroY2TreasuryBond, Type = SecurityType.Future, ExpectedFee = 0.5m }, - new { Tier = 1, Symbol = Futures.Financials.MicroY5TreasuryBond, Type = SecurityType.Future, ExpectedFee = 0.5m }, - new { Tier = 1, Symbol = Futures.Financials.MicroY10TreasuryNote, Type = SecurityType.Future, ExpectedFee = 0.5m }, - new { Tier = 1, Symbol = Futures.Financials.MicroY30TreasuryBond, Type = SecurityType.Future, ExpectedFee = 0.5m }, - new { Tier = 1, Symbol = Futures.Metals.MicroGold, Type = SecurityType.Future, ExpectedFee = 0.5m }, - new { Tier = 1, Symbol = Futures.Metals.MicroSilver, Type = SecurityType.Future, ExpectedFee = 0.5m }, - new { Tier = 1, Symbol = Futures.Energy.MicroCrudeOilWTI, Type = SecurityType.Future, ExpectedFee = 0.5m }, - new { Tier = 2, Symbol = Futures.Indices.MicroDow30EMini, Type = SecurityType.Future, ExpectedFee = 0.45m }, - new { Tier = 2, Symbol = Futures.Indices.MicroRussell2000EMini, Type = SecurityType.Future, ExpectedFee = 0.45m }, - new { Tier = 2, Symbol = Futures.Indices.MicroSP500EMini, Type = SecurityType.Future, ExpectedFee = 0.45m }, - new { Tier = 2, Symbol = Futures.Indices.MicroNASDAQ100EMini, Type = SecurityType.Future, ExpectedFee = 0.45m }, - new { Tier = 2, Symbol = Futures.Financials.MicroY2TreasuryBond, Type = SecurityType.Future, ExpectedFee = 0.45m }, - new { Tier = 2, Symbol = Futures.Financials.MicroY5TreasuryBond, Type = SecurityType.Future, ExpectedFee = 0.45m }, - new { Tier = 2, Symbol = Futures.Financials.MicroY10TreasuryNote, Type = SecurityType.Future, ExpectedFee = 0.45m }, - new { Tier = 2, Symbol = Futures.Financials.MicroY30TreasuryBond, Type = SecurityType.Future, ExpectedFee = 0.45m }, - new { Tier = 2, Symbol = Futures.Metals.MicroGold, Type = SecurityType.Future, ExpectedFee = 0.45m }, - new { Tier = 2, Symbol = Futures.Metals.MicroSilver, Type = SecurityType.Future, ExpectedFee = 0.45m }, - new { Tier = 2, Symbol = Futures.Energy.MicroCrudeOilWTI, Type = SecurityType.Future, ExpectedFee = 0.45m }, - new { Tier = 3, Symbol = Futures.Indices.MicroDow30EMini, Type = SecurityType.Future, ExpectedFee = 0.4m }, - new { Tier = 3, Symbol = Futures.Indices.MicroRussell2000EMini, Type = SecurityType.Future, ExpectedFee = 0.4m }, - new { Tier = 3, Symbol = Futures.Indices.MicroSP500EMini, Type = SecurityType.Future, ExpectedFee = 0.4m }, - new { Tier = 3, Symbol = Futures.Indices.MicroNASDAQ100EMini, Type = SecurityType.Future, ExpectedFee = 0.4m }, - new { Tier = 3, Symbol = Futures.Financials.MicroY2TreasuryBond, Type = SecurityType.Future, ExpectedFee = 0.4m }, - new { Tier = 3, Symbol = Futures.Financials.MicroY5TreasuryBond, Type = SecurityType.Future, ExpectedFee = 0.4m }, - new { Tier = 3, Symbol = Futures.Financials.MicroY10TreasuryNote, Type = SecurityType.Future, ExpectedFee = 0.4m }, - new { Tier = 3, Symbol = Futures.Financials.MicroY30TreasuryBond, Type = SecurityType.Future, ExpectedFee = 0.4m }, - new { Tier = 3, Symbol = Futures.Metals.MicroGold, Type = SecurityType.Future, ExpectedFee = 0.4m }, - new { Tier = 3, Symbol = Futures.Metals.MicroSilver, Type = SecurityType.Future, ExpectedFee = 0.4m }, - new { Tier = 3, Symbol = Futures.Energy.MicroCrudeOilWTI, Type = SecurityType.Future, ExpectedFee = 0.4m }, + new { Tier = 0, Symbol = Futures.Indices.MicroDow30EMini, Type = SecurityType.Future, ExpectedFee = 0.57m }, + new { Tier = 0, Symbol = Futures.Indices.MicroRussell2000EMini, Type = SecurityType.Future, ExpectedFee = 0.57m }, + new { Tier = 0, Symbol = Futures.Indices.MicroSP500EMini, Type = SecurityType.Future, ExpectedFee = 0.57m }, + new { Tier = 0, Symbol = Futures.Indices.MicroNASDAQ100EMini, Type = SecurityType.Future, ExpectedFee = 0.57m }, + new { Tier = 0, Symbol = Futures.Financials.MicroY2TreasuryBond, Type = SecurityType.Future, ExpectedFee = 0.57m }, + new { Tier = 0, Symbol = Futures.Financials.MicroY5TreasuryBond, Type = SecurityType.Future, ExpectedFee = 0.57m }, + new { Tier = 0, Symbol = Futures.Financials.MicroY10TreasuryNote, Type = SecurityType.Future, ExpectedFee = 0.57m }, + new { Tier = 0, Symbol = Futures.Financials.MicroY30TreasuryBond, Type = SecurityType.Future, ExpectedFee = 0.57m }, + new { Tier = 0, Symbol = Futures.Metals.MicroGold, Type = SecurityType.Future, ExpectedFee = 0.57m }, + new { Tier = 0, Symbol = Futures.Metals.MicroSilver, Type = SecurityType.Future, ExpectedFee = 0.57m }, + new { Tier = 0, Symbol = Futures.Energy.MicroCrudeOilWTI, Type = SecurityType.Future, ExpectedFee = 0.57m }, + new { Tier = 1, Symbol = Futures.Indices.MicroDow30EMini, Type = SecurityType.Future, ExpectedFee = 0.52m }, + new { Tier = 1, Symbol = Futures.Indices.MicroRussell2000EMini, Type = SecurityType.Future, ExpectedFee = 0.52m }, + new { Tier = 1, Symbol = Futures.Indices.MicroSP500EMini, Type = SecurityType.Future, ExpectedFee = 0.52m }, + new { Tier = 1, Symbol = Futures.Indices.MicroNASDAQ100EMini, Type = SecurityType.Future, ExpectedFee = 0.52m }, + new { Tier = 1, Symbol = Futures.Financials.MicroY2TreasuryBond, Type = SecurityType.Future, ExpectedFee = 0.52m }, + new { Tier = 1, Symbol = Futures.Financials.MicroY5TreasuryBond, Type = SecurityType.Future, ExpectedFee = 0.52m }, + new { Tier = 1, Symbol = Futures.Financials.MicroY10TreasuryNote, Type = SecurityType.Future, ExpectedFee = 0.52m }, + new { Tier = 1, Symbol = Futures.Financials.MicroY30TreasuryBond, Type = SecurityType.Future, ExpectedFee = 0.52m }, + new { Tier = 1, Symbol = Futures.Metals.MicroGold, Type = SecurityType.Future, ExpectedFee = 0.52m }, + new { Tier = 1, Symbol = Futures.Metals.MicroSilver, Type = SecurityType.Future, ExpectedFee = 0.52m }, + new { Tier = 1, Symbol = Futures.Energy.MicroCrudeOilWTI, Type = SecurityType.Future, ExpectedFee = 0.52m }, + new { Tier = 2, Symbol = Futures.Indices.MicroDow30EMini, Type = SecurityType.Future, ExpectedFee = 0.47m }, + new { Tier = 2, Symbol = Futures.Indices.MicroRussell2000EMini, Type = SecurityType.Future, ExpectedFee = 0.47m }, + new { Tier = 2, Symbol = Futures.Indices.MicroSP500EMini, Type = SecurityType.Future, ExpectedFee = 0.47m }, + new { Tier = 2, Symbol = Futures.Indices.MicroNASDAQ100EMini, Type = SecurityType.Future, ExpectedFee = 0.47m }, + new { Tier = 2, Symbol = Futures.Financials.MicroY2TreasuryBond, Type = SecurityType.Future, ExpectedFee = 0.47m }, + new { Tier = 2, Symbol = Futures.Financials.MicroY5TreasuryBond, Type = SecurityType.Future, ExpectedFee = 0.47m }, + new { Tier = 2, Symbol = Futures.Financials.MicroY10TreasuryNote, Type = SecurityType.Future, ExpectedFee = 0.47m }, + new { Tier = 2, Symbol = Futures.Financials.MicroY30TreasuryBond, Type = SecurityType.Future, ExpectedFee = 0.47m }, + new { Tier = 2, Symbol = Futures.Metals.MicroGold, Type = SecurityType.Future, ExpectedFee = 0.47m }, + new { Tier = 2, Symbol = Futures.Metals.MicroSilver, Type = SecurityType.Future, ExpectedFee = 0.47m }, + new { Tier = 2, Symbol = Futures.Energy.MicroCrudeOilWTI, Type = SecurityType.Future, ExpectedFee = 0.47m }, + new { Tier = 3, Symbol = Futures.Indices.MicroDow30EMini, Type = SecurityType.Future, ExpectedFee = 0.42m }, + new { Tier = 3, Symbol = Futures.Indices.MicroRussell2000EMini, Type = SecurityType.Future, ExpectedFee = 0.42m }, + new { Tier = 3, Symbol = Futures.Indices.MicroSP500EMini, Type = SecurityType.Future, ExpectedFee = 0.42m }, + new { Tier = 3, Symbol = Futures.Indices.MicroNASDAQ100EMini, Type = SecurityType.Future, ExpectedFee = 0.42m }, + new { Tier = 3, Symbol = Futures.Financials.MicroY2TreasuryBond, Type = SecurityType.Future, ExpectedFee = 0.42m }, + new { Tier = 3, Symbol = Futures.Financials.MicroY5TreasuryBond, Type = SecurityType.Future, ExpectedFee = 0.42m }, + new { Tier = 3, Symbol = Futures.Financials.MicroY10TreasuryNote, Type = SecurityType.Future, ExpectedFee = 0.42m }, + new { Tier = 3, Symbol = Futures.Financials.MicroY30TreasuryBond, Type = SecurityType.Future, ExpectedFee = 0.42m }, + new { Tier = 3, Symbol = Futures.Metals.MicroGold, Type = SecurityType.Future, ExpectedFee = 0.42m }, + new { Tier = 3, Symbol = Futures.Metals.MicroSilver, Type = SecurityType.Future, ExpectedFee = 0.42m }, + new { Tier = 3, Symbol = Futures.Energy.MicroCrudeOilWTI, Type = SecurityType.Future, ExpectedFee = 0.42m }, // Micro E-mini Future options - new { Tier = 0, Symbol = Futures.Indices.MicroDow30EMini, Type = SecurityType.FutureOption, ExpectedFee = 0.45m }, - new { Tier = 0, Symbol = Futures.Indices.MicroRussell2000EMini, Type = SecurityType.FutureOption, ExpectedFee = 0.45m }, - new { Tier = 0, Symbol = Futures.Indices.MicroSP500EMini, Type = SecurityType.FutureOption, ExpectedFee = 0.45m }, - new { Tier = 0, Symbol = Futures.Indices.MicroNASDAQ100EMini, Type = SecurityType.FutureOption, ExpectedFee = 0.45m }, - new { Tier = 0, Symbol = Futures.Financials.MicroY2TreasuryBond, Type = SecurityType.FutureOption, ExpectedFee = 0.45m }, - new { Tier = 0, Symbol = Futures.Financials.MicroY5TreasuryBond, Type = SecurityType.FutureOption, ExpectedFee = 0.45m }, - new { Tier = 0, Symbol = Futures.Financials.MicroY10TreasuryNote, Type = SecurityType.FutureOption, ExpectedFee = 0.45m }, - new { Tier = 0, Symbol = Futures.Financials.MicroY30TreasuryBond, Type = SecurityType.FutureOption, ExpectedFee = 0.45m }, - new { Tier = 0, Symbol = Futures.Metals.MicroGold, Type = SecurityType.FutureOption, ExpectedFee = 0.45m }, - new { Tier = 0, Symbol = Futures.Metals.MicroSilver, Type = SecurityType.FutureOption, ExpectedFee = 0.45m }, - new { Tier = 0, Symbol = Futures.Energy.MicroCrudeOilWTI, Type = SecurityType.FutureOption, ExpectedFee = 0.45m }, - new { Tier = 1, Symbol = Futures.Indices.MicroDow30EMini, Type = SecurityType.FutureOption, ExpectedFee = 0.4m }, - new { Tier = 1, Symbol = Futures.Indices.MicroRussell2000EMini, Type = SecurityType.FutureOption, ExpectedFee = 0.4m }, - new { Tier = 1, Symbol = Futures.Indices.MicroSP500EMini, Type = SecurityType.FutureOption, ExpectedFee = 0.4m }, - new { Tier = 1, Symbol = Futures.Indices.MicroNASDAQ100EMini, Type = SecurityType.FutureOption, ExpectedFee = 0.4m }, - new { Tier = 1, Symbol = Futures.Financials.MicroY2TreasuryBond, Type = SecurityType.FutureOption, ExpectedFee = 0.4m }, - new { Tier = 1, Symbol = Futures.Financials.MicroY5TreasuryBond, Type = SecurityType.FutureOption, ExpectedFee = 0.4m }, - new { Tier = 1, Symbol = Futures.Financials.MicroY10TreasuryNote, Type = SecurityType.FutureOption, ExpectedFee = 0.4m }, - new { Tier = 1, Symbol = Futures.Financials.MicroY30TreasuryBond, Type = SecurityType.FutureOption, ExpectedFee = 0.4m }, - new { Tier = 1, Symbol = Futures.Metals.MicroGold, Type = SecurityType.FutureOption, ExpectedFee = 0.4m }, - new { Tier = 1, Symbol = Futures.Metals.MicroSilver, Type = SecurityType.FutureOption, ExpectedFee = 0.4m }, - new { Tier = 1, Symbol = Futures.Energy.MicroCrudeOilWTI, Type = SecurityType.FutureOption, ExpectedFee = 0.4m }, - new { Tier = 2, Symbol = Futures.Indices.MicroDow30EMini, Type = SecurityType.FutureOption, ExpectedFee = 0.35m }, - new { Tier = 2, Symbol = Futures.Indices.MicroRussell2000EMini, Type = SecurityType.FutureOption, ExpectedFee = 0.35m }, - new { Tier = 2, Symbol = Futures.Indices.MicroSP500EMini, Type = SecurityType.FutureOption, ExpectedFee = 0.35m }, - new { Tier = 2, Symbol = Futures.Indices.MicroNASDAQ100EMini, Type = SecurityType.FutureOption, ExpectedFee = 0.35m }, - new { Tier = 2, Symbol = Futures.Financials.MicroY2TreasuryBond, Type = SecurityType.FutureOption, ExpectedFee = 0.35m }, - new { Tier = 2, Symbol = Futures.Financials.MicroY5TreasuryBond, Type = SecurityType.FutureOption, ExpectedFee = 0.35m }, - new { Tier = 2, Symbol = Futures.Financials.MicroY10TreasuryNote, Type = SecurityType.FutureOption, ExpectedFee = 0.35m }, - new { Tier = 2, Symbol = Futures.Financials.MicroY30TreasuryBond, Type = SecurityType.FutureOption, ExpectedFee = 0.35m }, - new { Tier = 2, Symbol = Futures.Metals.MicroGold, Type = SecurityType.FutureOption, ExpectedFee = 0.35m }, - new { Tier = 2, Symbol = Futures.Metals.MicroSilver, Type = SecurityType.FutureOption, ExpectedFee = 0.35m }, - new { Tier = 2, Symbol = Futures.Energy.MicroCrudeOilWTI, Type = SecurityType.FutureOption, ExpectedFee = 0.35m }, - new { Tier = 3, Symbol = Futures.Indices.MicroDow30EMini, Type = SecurityType.FutureOption, ExpectedFee = 0.3m }, - new { Tier = 3, Symbol = Futures.Indices.MicroRussell2000EMini, Type = SecurityType.FutureOption, ExpectedFee = 0.3m }, - new { Tier = 3, Symbol = Futures.Indices.MicroSP500EMini, Type = SecurityType.FutureOption, ExpectedFee = 0.3m }, - new { Tier = 3, Symbol = Futures.Indices.MicroNASDAQ100EMini, Type = SecurityType.FutureOption, ExpectedFee = 0.3m }, - new { Tier = 3, Symbol = Futures.Financials.MicroY2TreasuryBond, Type = SecurityType.FutureOption, ExpectedFee = 0.3m }, - new { Tier = 3, Symbol = Futures.Financials.MicroY5TreasuryBond, Type = SecurityType.FutureOption, ExpectedFee = 0.3m }, - new { Tier = 3, Symbol = Futures.Financials.MicroY10TreasuryNote, Type = SecurityType.FutureOption, ExpectedFee = 0.3m }, - new { Tier = 3, Symbol = Futures.Financials.MicroY30TreasuryBond, Type = SecurityType.FutureOption, ExpectedFee = 0.3m }, - new { Tier = 3, Symbol = Futures.Metals.MicroGold, Type = SecurityType.FutureOption, ExpectedFee = 0.3m }, - new { Tier = 3, Symbol = Futures.Metals.MicroSilver, Type = SecurityType.FutureOption, ExpectedFee = 0.3m }, - new { Tier = 3, Symbol = Futures.Energy.MicroCrudeOilWTI, Type = SecurityType.FutureOption, ExpectedFee = 0.3m }, + new { Tier = 0, Symbol = Futures.Indices.MicroDow30EMini, Type = SecurityType.FutureOption, ExpectedFee = 0.47m }, + new { Tier = 0, Symbol = Futures.Indices.MicroRussell2000EMini, Type = SecurityType.FutureOption, ExpectedFee = 0.47m }, + new { Tier = 0, Symbol = Futures.Indices.MicroSP500EMini, Type = SecurityType.FutureOption, ExpectedFee = 0.47m }, + new { Tier = 0, Symbol = Futures.Indices.MicroNASDAQ100EMini, Type = SecurityType.FutureOption, ExpectedFee = 0.47m }, + new { Tier = 0, Symbol = Futures.Financials.MicroY2TreasuryBond, Type = SecurityType.FutureOption, ExpectedFee = 0.47m }, + new { Tier = 0, Symbol = Futures.Financials.MicroY5TreasuryBond, Type = SecurityType.FutureOption, ExpectedFee = 0.47m }, + new { Tier = 0, Symbol = Futures.Financials.MicroY10TreasuryNote, Type = SecurityType.FutureOption, ExpectedFee = 0.47m }, + new { Tier = 0, Symbol = Futures.Financials.MicroY30TreasuryBond, Type = SecurityType.FutureOption, ExpectedFee = 0.47m }, + new { Tier = 0, Symbol = Futures.Metals.MicroGold, Type = SecurityType.FutureOption, ExpectedFee = 0.47m }, + new { Tier = 0, Symbol = Futures.Metals.MicroSilver, Type = SecurityType.FutureOption, ExpectedFee = 0.47m }, + new { Tier = 0, Symbol = Futures.Energy.MicroCrudeOilWTI, Type = SecurityType.FutureOption, ExpectedFee = 0.47m }, + new { Tier = 1, Symbol = Futures.Indices.MicroDow30EMini, Type = SecurityType.FutureOption, ExpectedFee = 0.42m }, + new { Tier = 1, Symbol = Futures.Indices.MicroRussell2000EMini, Type = SecurityType.FutureOption, ExpectedFee = 0.42m }, + new { Tier = 1, Symbol = Futures.Indices.MicroSP500EMini, Type = SecurityType.FutureOption, ExpectedFee = 0.42m }, + new { Tier = 1, Symbol = Futures.Indices.MicroNASDAQ100EMini, Type = SecurityType.FutureOption, ExpectedFee = 0.42m }, + new { Tier = 1, Symbol = Futures.Financials.MicroY2TreasuryBond, Type = SecurityType.FutureOption, ExpectedFee = 0.42m }, + new { Tier = 1, Symbol = Futures.Financials.MicroY5TreasuryBond, Type = SecurityType.FutureOption, ExpectedFee = 0.42m }, + new { Tier = 1, Symbol = Futures.Financials.MicroY10TreasuryNote, Type = SecurityType.FutureOption, ExpectedFee = 0.42m }, + new { Tier = 1, Symbol = Futures.Financials.MicroY30TreasuryBond, Type = SecurityType.FutureOption, ExpectedFee = 0.42m }, + new { Tier = 1, Symbol = Futures.Metals.MicroGold, Type = SecurityType.FutureOption, ExpectedFee = 0.42m }, + new { Tier = 1, Symbol = Futures.Metals.MicroSilver, Type = SecurityType.FutureOption, ExpectedFee = 0.42m }, + new { Tier = 1, Symbol = Futures.Energy.MicroCrudeOilWTI, Type = SecurityType.FutureOption, ExpectedFee = 0.42m }, + new { Tier = 2, Symbol = Futures.Indices.MicroDow30EMini, Type = SecurityType.FutureOption, ExpectedFee = 0.37m }, + new { Tier = 2, Symbol = Futures.Indices.MicroRussell2000EMini, Type = SecurityType.FutureOption, ExpectedFee = 0.37m }, + new { Tier = 2, Symbol = Futures.Indices.MicroSP500EMini, Type = SecurityType.FutureOption, ExpectedFee = 0.37m }, + new { Tier = 2, Symbol = Futures.Indices.MicroNASDAQ100EMini, Type = SecurityType.FutureOption, ExpectedFee = 0.37m }, + new { Tier = 2, Symbol = Futures.Financials.MicroY2TreasuryBond, Type = SecurityType.FutureOption, ExpectedFee = 0.37m }, + new { Tier = 2, Symbol = Futures.Financials.MicroY5TreasuryBond, Type = SecurityType.FutureOption, ExpectedFee = 0.37m }, + new { Tier = 2, Symbol = Futures.Financials.MicroY10TreasuryNote, Type = SecurityType.FutureOption, ExpectedFee = 0.37m }, + new { Tier = 2, Symbol = Futures.Financials.MicroY30TreasuryBond, Type = SecurityType.FutureOption, ExpectedFee = 0.37m }, + new { Tier = 2, Symbol = Futures.Metals.MicroGold, Type = SecurityType.FutureOption, ExpectedFee = 0.37m }, + new { Tier = 2, Symbol = Futures.Metals.MicroSilver, Type = SecurityType.FutureOption, ExpectedFee = 0.37m }, + new { Tier = 2, Symbol = Futures.Energy.MicroCrudeOilWTI, Type = SecurityType.FutureOption, ExpectedFee = 0.37m }, + new { Tier = 3, Symbol = Futures.Indices.MicroDow30EMini, Type = SecurityType.FutureOption, ExpectedFee = 0.32m }, + new { Tier = 3, Symbol = Futures.Indices.MicroRussell2000EMini, Type = SecurityType.FutureOption, ExpectedFee = 0.32m }, + new { Tier = 3, Symbol = Futures.Indices.MicroSP500EMini, Type = SecurityType.FutureOption, ExpectedFee = 0.32m }, + new { Tier = 3, Symbol = Futures.Indices.MicroNASDAQ100EMini, Type = SecurityType.FutureOption, ExpectedFee = 0.32m }, + new { Tier = 3, Symbol = Futures.Financials.MicroY2TreasuryBond, Type = SecurityType.FutureOption, ExpectedFee = 0.32m }, + new { Tier = 3, Symbol = Futures.Financials.MicroY5TreasuryBond, Type = SecurityType.FutureOption, ExpectedFee = 0.32m }, + new { Tier = 3, Symbol = Futures.Financials.MicroY10TreasuryNote, Type = SecurityType.FutureOption, ExpectedFee = 0.32m }, + new { Tier = 3, Symbol = Futures.Financials.MicroY30TreasuryBond, Type = SecurityType.FutureOption, ExpectedFee = 0.32m }, + new { Tier = 3, Symbol = Futures.Metals.MicroGold, Type = SecurityType.FutureOption, ExpectedFee = 0.32m }, + new { Tier = 3, Symbol = Futures.Metals.MicroSilver, Type = SecurityType.FutureOption, ExpectedFee = 0.32m }, + new { Tier = 3, Symbol = Futures.Energy.MicroCrudeOilWTI, Type = SecurityType.FutureOption, ExpectedFee = 0.32m }, // Cryptocurrency futures - new { Tier = 0, Symbol = Futures.Currencies.BTC, Type = SecurityType.Future, ExpectedFee = 11m }, - new { Tier = 0, Symbol = Futures.Currencies.ETH, Type = SecurityType.Future, ExpectedFee = 7m }, - new { Tier = 0, Symbol = Futures.Currencies.MicroBTC, Type = SecurityType.Future, ExpectedFee = 4.75m }, - new { Tier = 0, Symbol = Futures.Currencies.MicroEther, Type = SecurityType.Future, ExpectedFee = 0.4m }, - new { Tier = 1, Symbol = Futures.Currencies.BTC, Type = SecurityType.Future, ExpectedFee = 11m }, - new { Tier = 1, Symbol = Futures.Currencies.ETH, Type = SecurityType.Future, ExpectedFee = 7m }, - new { Tier = 1, Symbol = Futures.Currencies.MicroBTC, Type = SecurityType.Future, ExpectedFee = 4.75m }, - new { Tier = 1, Symbol = Futures.Currencies.MicroEther, Type = SecurityType.Future, ExpectedFee = 0.4m }, - new { Tier = 2, Symbol = Futures.Currencies.BTC, Type = SecurityType.Future, ExpectedFee = 11m }, - new { Tier = 2, Symbol = Futures.Currencies.ETH, Type = SecurityType.Future, ExpectedFee = 7m }, - new { Tier = 2, Symbol = Futures.Currencies.MicroBTC, Type = SecurityType.Future, ExpectedFee = 4.75m }, - new { Tier = 2, Symbol = Futures.Currencies.MicroEther, Type = SecurityType.Future, ExpectedFee = 0.4m }, - new { Tier = 3, Symbol = Futures.Currencies.BTC, Type = SecurityType.Future, ExpectedFee = 11m }, - new { Tier = 3, Symbol = Futures.Currencies.ETH, Type = SecurityType.Future, ExpectedFee = 7m }, - new { Tier = 3, Symbol = Futures.Currencies.MicroBTC, Type = SecurityType.Future, ExpectedFee = 4.75m }, - new { Tier = 3, Symbol = Futures.Currencies.MicroEther, Type = SecurityType.Future, ExpectedFee = 0.4m }, + new { Tier = 0, Symbol = Futures.Currencies.BTC, Type = SecurityType.Future, ExpectedFee = 11.02m }, + new { Tier = 0, Symbol = Futures.Currencies.ETH, Type = SecurityType.Future, ExpectedFee = 7.02m }, + new { Tier = 0, Symbol = Futures.Currencies.MicroBTC, Type = SecurityType.Future, ExpectedFee = 4.77m }, + new { Tier = 0, Symbol = Futures.Currencies.MicroEther, Type = SecurityType.Future, ExpectedFee = 0.42m }, + new { Tier = 1, Symbol = Futures.Currencies.BTC, Type = SecurityType.Future, ExpectedFee = 11.02m }, + new { Tier = 1, Symbol = Futures.Currencies.ETH, Type = SecurityType.Future, ExpectedFee = 7.02m }, + new { Tier = 1, Symbol = Futures.Currencies.MicroBTC, Type = SecurityType.Future, ExpectedFee = 4.77m }, + new { Tier = 1, Symbol = Futures.Currencies.MicroEther, Type = SecurityType.Future, ExpectedFee = 0.42m }, + new { Tier = 2, Symbol = Futures.Currencies.BTC, Type = SecurityType.Future, ExpectedFee = 11.02m }, + new { Tier = 2, Symbol = Futures.Currencies.ETH, Type = SecurityType.Future, ExpectedFee = 7.02m }, + new { Tier = 2, Symbol = Futures.Currencies.MicroBTC, Type = SecurityType.Future, ExpectedFee = 4.77m }, + new { Tier = 2, Symbol = Futures.Currencies.MicroEther, Type = SecurityType.Future, ExpectedFee = 0.42m }, + new { Tier = 3, Symbol = Futures.Currencies.BTC, Type = SecurityType.Future, ExpectedFee = 11.02m }, + new { Tier = 3, Symbol = Futures.Currencies.ETH, Type = SecurityType.Future, ExpectedFee = 7.02m }, + new { Tier = 3, Symbol = Futures.Currencies.MicroBTC, Type = SecurityType.Future, ExpectedFee = 4.77m }, + new { Tier = 3, Symbol = Futures.Currencies.MicroEther, Type = SecurityType.Future, ExpectedFee = 0.42m }, // Cryptocurrency future options - new { Tier = 0, Symbol = Futures.Currencies.BTC, Type = SecurityType.FutureOption, ExpectedFee = 10m }, - new { Tier = 0, Symbol = Futures.Currencies.ETH, Type = SecurityType.FutureOption, ExpectedFee = 7m }, - new { Tier = 0, Symbol = Futures.Currencies.MicroBTC, Type = SecurityType.FutureOption, ExpectedFee = 3.75m }, - new { Tier = 0, Symbol = Futures.Currencies.MicroEther, Type = SecurityType.FutureOption, ExpectedFee = 0.3m }, - new { Tier = 1, Symbol = Futures.Currencies.BTC, Type = SecurityType.FutureOption, ExpectedFee = 10m }, - new { Tier = 1, Symbol = Futures.Currencies.ETH, Type = SecurityType.FutureOption, ExpectedFee = 7m }, - new { Tier = 1, Symbol = Futures.Currencies.MicroBTC, Type = SecurityType.FutureOption, ExpectedFee = 3.75m }, - new { Tier = 1, Symbol = Futures.Currencies.MicroEther, Type = SecurityType.FutureOption, ExpectedFee = 0.3m }, - new { Tier = 2, Symbol = Futures.Currencies.BTC, Type = SecurityType.FutureOption, ExpectedFee = 10m }, - new { Tier = 2, Symbol = Futures.Currencies.ETH, Type = SecurityType.FutureOption, ExpectedFee = 7m }, - new { Tier = 2, Symbol = Futures.Currencies.MicroBTC, Type = SecurityType.FutureOption, ExpectedFee = 3.75m }, - new { Tier = 2, Symbol = Futures.Currencies.MicroEther, Type = SecurityType.FutureOption, ExpectedFee = 0.3m }, - new { Tier = 3, Symbol = Futures.Currencies.BTC, Type = SecurityType.FutureOption, ExpectedFee = 10m }, - new { Tier = 3, Symbol = Futures.Currencies.ETH, Type = SecurityType.FutureOption, ExpectedFee = 7m }, - new { Tier = 3, Symbol = Futures.Currencies.MicroBTC, Type = SecurityType.FutureOption, ExpectedFee = 3.75m }, - new { Tier = 3, Symbol = Futures.Currencies.MicroEther, Type = SecurityType.FutureOption, ExpectedFee = 0.3m }, + new { Tier = 0, Symbol = Futures.Currencies.BTC, Type = SecurityType.FutureOption, ExpectedFee = 10.02m }, + new { Tier = 0, Symbol = Futures.Currencies.ETH, Type = SecurityType.FutureOption, ExpectedFee = 7.02m }, + new { Tier = 0, Symbol = Futures.Currencies.MicroBTC, Type = SecurityType.FutureOption, ExpectedFee = 3.77m }, + new { Tier = 0, Symbol = Futures.Currencies.MicroEther, Type = SecurityType.FutureOption, ExpectedFee = 0.32m }, + new { Tier = 1, Symbol = Futures.Currencies.BTC, Type = SecurityType.FutureOption, ExpectedFee = 10.02m }, + new { Tier = 1, Symbol = Futures.Currencies.ETH, Type = SecurityType.FutureOption, ExpectedFee = 7.02m }, + new { Tier = 1, Symbol = Futures.Currencies.MicroBTC, Type = SecurityType.FutureOption, ExpectedFee = 3.77m }, + new { Tier = 1, Symbol = Futures.Currencies.MicroEther, Type = SecurityType.FutureOption, ExpectedFee = 0.32m }, + new { Tier = 2, Symbol = Futures.Currencies.BTC, Type = SecurityType.FutureOption, ExpectedFee = 10.02m }, + new { Tier = 2, Symbol = Futures.Currencies.ETH, Type = SecurityType.FutureOption, ExpectedFee = 7.02m }, + new { Tier = 2, Symbol = Futures.Currencies.MicroBTC, Type = SecurityType.FutureOption, ExpectedFee = 3.77m }, + new { Tier = 2, Symbol = Futures.Currencies.MicroEther, Type = SecurityType.FutureOption, ExpectedFee = 0.32m }, + new { Tier = 3, Symbol = Futures.Currencies.BTC, Type = SecurityType.FutureOption, ExpectedFee = 10.02m }, + new { Tier = 3, Symbol = Futures.Currencies.ETH, Type = SecurityType.FutureOption, ExpectedFee = 7.02m }, + new { Tier = 3, Symbol = Futures.Currencies.MicroBTC, Type = SecurityType.FutureOption, ExpectedFee = 3.77m }, + new { Tier = 3, Symbol = Futures.Currencies.MicroEther, Type = SecurityType.FutureOption, ExpectedFee = 0.32m }, // E-mini FX (currencies) Futures - new { Tier = 0, Symbol = Futures.Currencies.EuroFXEmini, Type = SecurityType.Future, ExpectedFee = 1.35m }, - new { Tier = 0, Symbol = Futures.Currencies.JapaneseYenEmini, Type = SecurityType.Future, ExpectedFee = 1.35m }, - new { Tier = 1, Symbol = Futures.Currencies.EuroFXEmini, Type = SecurityType.Future, ExpectedFee = 1.25m }, - new { Tier = 1, Symbol = Futures.Currencies.JapaneseYenEmini, Type = SecurityType.Future, ExpectedFee = 1.25m }, - new { Tier = 2, Symbol = Futures.Currencies.EuroFXEmini, Type = SecurityType.Future, ExpectedFee = 1.15m }, - new { Tier = 2, Symbol = Futures.Currencies.JapaneseYenEmini, Type = SecurityType.Future, ExpectedFee = 1.15m }, - new { Tier = 3, Symbol = Futures.Currencies.EuroFXEmini, Type = SecurityType.Future, ExpectedFee = 1m }, - new { Tier = 3, Symbol = Futures.Currencies.JapaneseYenEmini, Type = SecurityType.Future, ExpectedFee = 1m }, + new { Tier = 0, Symbol = Futures.Currencies.EuroFXEmini, Type = SecurityType.Future, ExpectedFee = 1.37m }, + new { Tier = 0, Symbol = Futures.Currencies.JapaneseYenEmini, Type = SecurityType.Future, ExpectedFee = 1.37m }, + new { Tier = 1, Symbol = Futures.Currencies.EuroFXEmini, Type = SecurityType.Future, ExpectedFee = 1.27m }, + new { Tier = 1, Symbol = Futures.Currencies.JapaneseYenEmini, Type = SecurityType.Future, ExpectedFee = 1.27m }, + new { Tier = 2, Symbol = Futures.Currencies.EuroFXEmini, Type = SecurityType.Future, ExpectedFee = 1.17m }, + new { Tier = 2, Symbol = Futures.Currencies.JapaneseYenEmini, Type = SecurityType.Future, ExpectedFee = 1.17m }, + new { Tier = 3, Symbol = Futures.Currencies.EuroFXEmini, Type = SecurityType.Future, ExpectedFee = 1.02m }, + new { Tier = 3, Symbol = Futures.Currencies.JapaneseYenEmini, Type = SecurityType.Future, ExpectedFee = 1.02m }, // Micro E-mini FX (currencies) Futures - new { Tier = 0, Symbol = Futures.Currencies.MicroAUD, Type = SecurityType.Future, ExpectedFee = 0.39m }, - new { Tier = 0, Symbol = Futures.Currencies.MicroEUR, Type = SecurityType.Future, ExpectedFee = 0.39m }, - new { Tier = 0, Symbol = Futures.Currencies.MicroGBP, Type = SecurityType.Future, ExpectedFee = 0.39m }, - new { Tier = 0, Symbol = Futures.Currencies.MicroCADUSD, Type = SecurityType.Future, ExpectedFee = 0.39m }, - new { Tier = 0, Symbol = Futures.Currencies.MicroJPY, Type = SecurityType.Future, ExpectedFee = 0.39m }, - new { Tier = 0, Symbol = Futures.Currencies.MicroCHF, Type = SecurityType.Future, ExpectedFee = 0.39m }, - new { Tier = 0, Symbol = Futures.Currencies.MicroUSDJPY, Type = SecurityType.Future, ExpectedFee = 0.39m }, - new { Tier = 0, Symbol = Futures.Currencies.MicroINRUSD, Type = SecurityType.Future, ExpectedFee = 0.39m }, - new { Tier = 0, Symbol = Futures.Currencies.MicroCAD, Type = SecurityType.Future, ExpectedFee = 0.39m }, - new { Tier = 0, Symbol = Futures.Currencies.MicroUSDCHF, Type = SecurityType.Future, ExpectedFee = 0.39m }, - new { Tier = 0, Symbol = Futures.Currencies.MicroUSDCNH, Type = SecurityType.Future, ExpectedFee = 0.39m }, - new { Tier = 1, Symbol = Futures.Currencies.MicroAUD, Type = SecurityType.Future, ExpectedFee = 0.36m }, - new { Tier = 1, Symbol = Futures.Currencies.MicroEUR, Type = SecurityType.Future, ExpectedFee = 0.36m }, - new { Tier = 1, Symbol = Futures.Currencies.MicroGBP, Type = SecurityType.Future, ExpectedFee = 0.36m }, - new { Tier = 1, Symbol = Futures.Currencies.MicroCADUSD, Type = SecurityType.Future, ExpectedFee = 0.36m }, - new { Tier = 1, Symbol = Futures.Currencies.MicroJPY, Type = SecurityType.Future, ExpectedFee = 0.36m }, - new { Tier = 1, Symbol = Futures.Currencies.MicroCHF, Type = SecurityType.Future, ExpectedFee = 0.36m }, - new { Tier = 1, Symbol = Futures.Currencies.MicroUSDJPY, Type = SecurityType.Future, ExpectedFee = 0.36m }, - new { Tier = 1, Symbol = Futures.Currencies.MicroINRUSD, Type = SecurityType.Future, ExpectedFee = 0.36m }, - new { Tier = 1, Symbol = Futures.Currencies.MicroCAD, Type = SecurityType.Future, ExpectedFee = 0.36m }, - new { Tier = 1, Symbol = Futures.Currencies.MicroUSDCHF, Type = SecurityType.Future, ExpectedFee = 0.36m }, - new { Tier = 1, Symbol = Futures.Currencies.MicroUSDCNH, Type = SecurityType.Future, ExpectedFee = 0.36m }, - new { Tier = 2, Symbol = Futures.Currencies.MicroAUD, Type = SecurityType.Future, ExpectedFee = 0.32m }, - new { Tier = 2, Symbol = Futures.Currencies.MicroEUR, Type = SecurityType.Future, ExpectedFee = 0.32m }, - new { Tier = 2, Symbol = Futures.Currencies.MicroGBP, Type = SecurityType.Future, ExpectedFee = 0.32m }, - new { Tier = 2, Symbol = Futures.Currencies.MicroCADUSD, Type = SecurityType.Future, ExpectedFee = 0.32m }, - new { Tier = 2, Symbol = Futures.Currencies.MicroJPY, Type = SecurityType.Future, ExpectedFee = 0.32m }, - new { Tier = 2, Symbol = Futures.Currencies.MicroCHF, Type = SecurityType.Future, ExpectedFee = 0.32m }, - new { Tier = 2, Symbol = Futures.Currencies.MicroUSDJPY, Type = SecurityType.Future, ExpectedFee = 0.32m }, - new { Tier = 2, Symbol = Futures.Currencies.MicroINRUSD, Type = SecurityType.Future, ExpectedFee = 0.32m }, - new { Tier = 2, Symbol = Futures.Currencies.MicroCAD, Type = SecurityType.Future, ExpectedFee = 0.32m }, - new { Tier = 2, Symbol = Futures.Currencies.MicroUSDCHF, Type = SecurityType.Future, ExpectedFee = 0.32m }, - new { Tier = 2, Symbol = Futures.Currencies.MicroUSDCNH, Type = SecurityType.Future, ExpectedFee = 0.32m }, - new { Tier = 3, Symbol = Futures.Currencies.MicroAUD, Type = SecurityType.Future, ExpectedFee = 0.29m }, - new { Tier = 3, Symbol = Futures.Currencies.MicroEUR, Type = SecurityType.Future, ExpectedFee = 0.29m }, - new { Tier = 3, Symbol = Futures.Currencies.MicroGBP, Type = SecurityType.Future, ExpectedFee = 0.29m }, - new { Tier = 3, Symbol = Futures.Currencies.MicroCADUSD, Type = SecurityType.Future, ExpectedFee = 0.29m }, - new { Tier = 3, Symbol = Futures.Currencies.MicroJPY, Type = SecurityType.Future, ExpectedFee = 0.29m }, - new { Tier = 3, Symbol = Futures.Currencies.MicroCHF, Type = SecurityType.Future, ExpectedFee = 0.29m }, - new { Tier = 3, Symbol = Futures.Currencies.MicroUSDJPY, Type = SecurityType.Future, ExpectedFee = 0.29m }, - new { Tier = 3, Symbol = Futures.Currencies.MicroINRUSD, Type = SecurityType.Future, ExpectedFee = 0.29m }, - new { Tier = 3, Symbol = Futures.Currencies.MicroCAD, Type = SecurityType.Future, ExpectedFee = 0.29m }, - new { Tier = 3, Symbol = Futures.Currencies.MicroUSDCHF, Type = SecurityType.Future, ExpectedFee = 0.29m }, - new { Tier = 3, Symbol = Futures.Currencies.MicroUSDCNH, Type = SecurityType.Future, ExpectedFee = 0.29m }, + new { Tier = 0, Symbol = Futures.Currencies.MicroAUD, Type = SecurityType.Future, ExpectedFee = 0.41m }, + new { Tier = 0, Symbol = Futures.Currencies.MicroEUR, Type = SecurityType.Future, ExpectedFee = 0.41m }, + new { Tier = 0, Symbol = Futures.Currencies.MicroGBP, Type = SecurityType.Future, ExpectedFee = 0.41m }, + new { Tier = 0, Symbol = Futures.Currencies.MicroCADUSD, Type = SecurityType.Future, ExpectedFee = 0.41m }, + new { Tier = 0, Symbol = Futures.Currencies.MicroJPY, Type = SecurityType.Future, ExpectedFee = 0.41m }, + new { Tier = 0, Symbol = Futures.Currencies.MicroCHF, Type = SecurityType.Future, ExpectedFee = 0.41m }, + new { Tier = 0, Symbol = Futures.Currencies.MicroUSDJPY, Type = SecurityType.Future, ExpectedFee = 0.41m }, + new { Tier = 0, Symbol = Futures.Currencies.MicroINRUSD, Type = SecurityType.Future, ExpectedFee = 0.41m }, + new { Tier = 0, Symbol = Futures.Currencies.MicroCAD, Type = SecurityType.Future, ExpectedFee = 0.41m }, + new { Tier = 0, Symbol = Futures.Currencies.MicroUSDCHF, Type = SecurityType.Future, ExpectedFee = 0.41m }, + new { Tier = 0, Symbol = Futures.Currencies.MicroUSDCNH, Type = SecurityType.Future, ExpectedFee = 0.41m }, + new { Tier = 1, Symbol = Futures.Currencies.MicroAUD, Type = SecurityType.Future, ExpectedFee = 0.38m }, + new { Tier = 1, Symbol = Futures.Currencies.MicroEUR, Type = SecurityType.Future, ExpectedFee = 0.38m }, + new { Tier = 1, Symbol = Futures.Currencies.MicroGBP, Type = SecurityType.Future, ExpectedFee = 0.38m }, + new { Tier = 1, Symbol = Futures.Currencies.MicroCADUSD, Type = SecurityType.Future, ExpectedFee = 0.38m }, + new { Tier = 1, Symbol = Futures.Currencies.MicroJPY, Type = SecurityType.Future, ExpectedFee = 0.38m }, + new { Tier = 1, Symbol = Futures.Currencies.MicroCHF, Type = SecurityType.Future, ExpectedFee = 0.38m }, + new { Tier = 1, Symbol = Futures.Currencies.MicroUSDJPY, Type = SecurityType.Future, ExpectedFee = 0.38m }, + new { Tier = 1, Symbol = Futures.Currencies.MicroINRUSD, Type = SecurityType.Future, ExpectedFee = 0.38m }, + new { Tier = 1, Symbol = Futures.Currencies.MicroCAD, Type = SecurityType.Future, ExpectedFee = 0.38m }, + new { Tier = 1, Symbol = Futures.Currencies.MicroUSDCHF, Type = SecurityType.Future, ExpectedFee = 0.38m }, + new { Tier = 1, Symbol = Futures.Currencies.MicroUSDCNH, Type = SecurityType.Future, ExpectedFee = 0.38m }, + new { Tier = 2, Symbol = Futures.Currencies.MicroAUD, Type = SecurityType.Future, ExpectedFee = 0.34m }, + new { Tier = 2, Symbol = Futures.Currencies.MicroEUR, Type = SecurityType.Future, ExpectedFee = 0.34m }, + new { Tier = 2, Symbol = Futures.Currencies.MicroGBP, Type = SecurityType.Future, ExpectedFee = 0.34m }, + new { Tier = 2, Symbol = Futures.Currencies.MicroCADUSD, Type = SecurityType.Future, ExpectedFee = 0.34m }, + new { Tier = 2, Symbol = Futures.Currencies.MicroJPY, Type = SecurityType.Future, ExpectedFee = 0.34m }, + new { Tier = 2, Symbol = Futures.Currencies.MicroCHF, Type = SecurityType.Future, ExpectedFee = 0.34m }, + new { Tier = 2, Symbol = Futures.Currencies.MicroUSDJPY, Type = SecurityType.Future, ExpectedFee = 0.34m }, + new { Tier = 2, Symbol = Futures.Currencies.MicroINRUSD, Type = SecurityType.Future, ExpectedFee = 0.34m }, + new { Tier = 2, Symbol = Futures.Currencies.MicroCAD, Type = SecurityType.Future, ExpectedFee = 0.34m }, + new { Tier = 2, Symbol = Futures.Currencies.MicroUSDCHF, Type = SecurityType.Future, ExpectedFee = 0.34m }, + new { Tier = 2, Symbol = Futures.Currencies.MicroUSDCNH, Type = SecurityType.Future, ExpectedFee = 0.34m }, + new { Tier = 3, Symbol = Futures.Currencies.MicroAUD, Type = SecurityType.Future, ExpectedFee = 0.31m }, + new { Tier = 3, Symbol = Futures.Currencies.MicroEUR, Type = SecurityType.Future, ExpectedFee = 0.31m }, + new { Tier = 3, Symbol = Futures.Currencies.MicroGBP, Type = SecurityType.Future, ExpectedFee = 0.31m }, + new { Tier = 3, Symbol = Futures.Currencies.MicroCADUSD, Type = SecurityType.Future, ExpectedFee = 0.31m }, + new { Tier = 3, Symbol = Futures.Currencies.MicroJPY, Type = SecurityType.Future, ExpectedFee = 0.31m }, + new { Tier = 3, Symbol = Futures.Currencies.MicroCHF, Type = SecurityType.Future, ExpectedFee = 0.31m }, + new { Tier = 3, Symbol = Futures.Currencies.MicroUSDJPY, Type = SecurityType.Future, ExpectedFee = 0.31m }, + new { Tier = 3, Symbol = Futures.Currencies.MicroINRUSD, Type = SecurityType.Future, ExpectedFee = 0.31m }, + new { Tier = 3, Symbol = Futures.Currencies.MicroCAD, Type = SecurityType.Future, ExpectedFee = 0.31m }, + new { Tier = 3, Symbol = Futures.Currencies.MicroUSDCHF, Type = SecurityType.Future, ExpectedFee = 0.31m }, + new { Tier = 3, Symbol = Futures.Currencies.MicroUSDCNH, Type = SecurityType.Future, ExpectedFee = 0.31m }, // Other futures - new { Tier = 0, Symbol = Futures.Metals.MicroGoldTAS, Type = SecurityType.Future, ExpectedFee = 2.45m }, - new { Tier = 0, Symbol = Futures.Metals.MicroPalladium, Type = SecurityType.Future, ExpectedFee = 2.45m }, - new { Tier = 0, Symbol = Futures.Energy.MicroGasoilZeroPointOnePercentBargesFOBARAPlatts, Type = SecurityType.Future, ExpectedFee = 2.45m }, - new { Tier = 0, Symbol = Futures.Energy.MicroEuropeanThreePointFivePercentFuelOilCargoesFOBMedPlatts, Type = SecurityType.Future, ExpectedFee = 2.45m }, - new { Tier = 0, Symbol = Futures.Energy.MicroCoalAPIFivefobNewcastleArgusMcCloskey, Type = SecurityType.Future, ExpectedFee = 2.45m }, - new { Tier = 0, Symbol = Futures.Energy.MicroSingaporeFuelOil380CSTPlatts, Type = SecurityType.Future, ExpectedFee = 2.45m }, - new { Tier = 0, Symbol = Futures.Energy.MicroEuropeanThreePointFivePercentOilBargesFOBRdamPlatts, Type = SecurityType.Future, ExpectedFee = 2.45m }, - new { Tier = 0, Symbol = Futures.Energy.MicroEuropeanFOBRdamMarineFuelZeroPointFivePercentBargesPlatts, Type = SecurityType.Future, ExpectedFee = 2.45m }, - new { Tier = 0, Symbol = Futures.Energy.MicroSingaporeFOBMarineFuelZeroPointFivePercetPlatts, Type = SecurityType.Future, ExpectedFee = 2.45m }, - new { Tier = 0, Symbol = Futures.Currencies.USD, Type = SecurityType.Future, ExpectedFee = 2.45m }, - new { Tier = 0, Symbol = Futures.Currencies.CAD, Type = SecurityType.Future, ExpectedFee = 2.45m }, - new { Tier = 0, Symbol = Futures.Currencies.EUR, Type = SecurityType.Future, ExpectedFee = 2.45m }, - new { Tier = 1, Symbol = Futures.Metals.MicroGoldTAS, Type = SecurityType.Future, ExpectedFee = 2.25m }, - new { Tier = 1, Symbol = Futures.Metals.MicroPalladium, Type = SecurityType.Future, ExpectedFee = 2.25m }, - new { Tier = 1, Symbol = Futures.Energy.MicroGasoilZeroPointOnePercentBargesFOBARAPlatts, Type = SecurityType.Future, ExpectedFee = 2.25m }, - new { Tier = 1, Symbol = Futures.Energy.MicroEuropeanThreePointFivePercentFuelOilCargoesFOBMedPlatts, Type = SecurityType.Future, ExpectedFee = 2.25m }, - new { Tier = 1, Symbol = Futures.Energy.MicroCoalAPIFivefobNewcastleArgusMcCloskey, Type = SecurityType.Future, ExpectedFee = 2.25m }, - new { Tier = 1, Symbol = Futures.Energy.MicroSingaporeFuelOil380CSTPlatts, Type = SecurityType.Future, ExpectedFee = 2.25m }, - new { Tier = 1, Symbol = Futures.Energy.MicroEuropeanThreePointFivePercentOilBargesFOBRdamPlatts, Type = SecurityType.Future, ExpectedFee = 2.25m }, - new { Tier = 1, Symbol = Futures.Energy.MicroEuropeanFOBRdamMarineFuelZeroPointFivePercentBargesPlatts, Type = SecurityType.Future, ExpectedFee = 2.25m }, - new { Tier = 1, Symbol = Futures.Energy.MicroSingaporeFOBMarineFuelZeroPointFivePercetPlatts, Type = SecurityType.Future, ExpectedFee = 2.25m }, - new { Tier = 1, Symbol = Futures.Currencies.USD, Type = SecurityType.Future, ExpectedFee = 2.25m }, - new { Tier = 1, Symbol = Futures.Currencies.CAD, Type = SecurityType.Future, ExpectedFee = 2.25m }, - new { Tier = 1, Symbol = Futures.Currencies.EUR, Type = SecurityType.Future, ExpectedFee = 2.25m }, - new { Tier = 2, Symbol = Futures.Metals.MicroGoldTAS, Type = SecurityType.Future, ExpectedFee = 2.05m }, - new { Tier = 2, Symbol = Futures.Metals.MicroPalladium, Type = SecurityType.Future, ExpectedFee = 2.05m }, - new { Tier = 2, Symbol = Futures.Energy.MicroGasoilZeroPointOnePercentBargesFOBARAPlatts, Type = SecurityType.Future, ExpectedFee = 2.05m }, - new { Tier = 2, Symbol = Futures.Energy.MicroEuropeanThreePointFivePercentFuelOilCargoesFOBMedPlatts, Type = SecurityType.Future, ExpectedFee = 2.05m }, - new { Tier = 2, Symbol = Futures.Energy.MicroCoalAPIFivefobNewcastleArgusMcCloskey, Type = SecurityType.Future, ExpectedFee = 2.05m }, - new { Tier = 2, Symbol = Futures.Energy.MicroSingaporeFuelOil380CSTPlatts, Type = SecurityType.Future, ExpectedFee = 2.05m }, - new { Tier = 2, Symbol = Futures.Energy.MicroEuropeanThreePointFivePercentOilBargesFOBRdamPlatts, Type = SecurityType.Future, ExpectedFee = 2.05m }, - new { Tier = 2, Symbol = Futures.Energy.MicroEuropeanFOBRdamMarineFuelZeroPointFivePercentBargesPlatts, Type = SecurityType.Future, ExpectedFee = 2.05m }, - new { Tier = 2, Symbol = Futures.Energy.MicroSingaporeFOBMarineFuelZeroPointFivePercetPlatts, Type = SecurityType.Future, ExpectedFee = 2.05m }, - new { Tier = 2, Symbol = Futures.Currencies.USD, Type = SecurityType.Future, ExpectedFee = 2.05m }, - new { Tier = 2, Symbol = Futures.Currencies.CAD, Type = SecurityType.Future, ExpectedFee = 2.05m }, - new { Tier = 2, Symbol = Futures.Currencies.EUR, Type = SecurityType.Future, ExpectedFee = 2.05m }, - new { Tier = 3, Symbol = Futures.Metals.MicroGoldTAS, Type = SecurityType.Future, ExpectedFee = 1.85m }, - new { Tier = 3, Symbol = Futures.Metals.MicroPalladium, Type = SecurityType.Future, ExpectedFee = 1.85m }, - new { Tier = 3, Symbol = Futures.Energy.MicroGasoilZeroPointOnePercentBargesFOBARAPlatts, Type = SecurityType.Future, ExpectedFee = 1.85m }, - new { Tier = 3, Symbol = Futures.Energy.MicroEuropeanThreePointFivePercentFuelOilCargoesFOBMedPlatts, Type = SecurityType.Future, ExpectedFee = 1.85m }, - new { Tier = 3, Symbol = Futures.Energy.MicroCoalAPIFivefobNewcastleArgusMcCloskey, Type = SecurityType.Future, ExpectedFee = 1.85m }, - new { Tier = 3, Symbol = Futures.Energy.MicroSingaporeFuelOil380CSTPlatts, Type = SecurityType.Future, ExpectedFee = 1.85m }, - new { Tier = 3, Symbol = Futures.Energy.MicroEuropeanThreePointFivePercentOilBargesFOBRdamPlatts, Type = SecurityType.Future, ExpectedFee = 1.85m }, - new { Tier = 3, Symbol = Futures.Energy.MicroEuropeanFOBRdamMarineFuelZeroPointFivePercentBargesPlatts, Type = SecurityType.Future, ExpectedFee = 1.85m }, - new { Tier = 3, Symbol = Futures.Energy.MicroSingaporeFOBMarineFuelZeroPointFivePercetPlatts, Type = SecurityType.Future, ExpectedFee = 1.85m }, - new { Tier = 3, Symbol = Futures.Currencies.USD, Type = SecurityType.Future, ExpectedFee = 1.85m }, - new { Tier = 3, Symbol = Futures.Currencies.CAD, Type = SecurityType.Future, ExpectedFee = 1.85m }, - new { Tier = 3, Symbol = Futures.Currencies.EUR, Type = SecurityType.Future, ExpectedFee = 1.85m }, + new { Tier = 0, Symbol = Futures.Metals.MicroGoldTAS, Type = SecurityType.Future, ExpectedFee = 2.47m }, + new { Tier = 0, Symbol = Futures.Metals.MicroPalladium, Type = SecurityType.Future, ExpectedFee = 2.47m }, + new { Tier = 0, Symbol = Futures.Energy.MicroGasoilZeroPointOnePercentBargesFOBARAPlatts, Type = SecurityType.Future, ExpectedFee = 2.47m }, + new { Tier = 0, Symbol = Futures.Energy.MicroEuropeanThreePointFivePercentFuelOilCargoesFOBMedPlatts, Type = SecurityType.Future, ExpectedFee = 2.47m }, + new { Tier = 0, Symbol = Futures.Energy.MicroCoalAPIFivefobNewcastleArgusMcCloskey, Type = SecurityType.Future, ExpectedFee = 2.47m }, + new { Tier = 0, Symbol = Futures.Energy.MicroSingaporeFuelOil380CSTPlatts, Type = SecurityType.Future, ExpectedFee = 2.47m }, + new { Tier = 0, Symbol = Futures.Energy.MicroEuropeanThreePointFivePercentOilBargesFOBRdamPlatts, Type = SecurityType.Future, ExpectedFee = 2.47m }, + new { Tier = 0, Symbol = Futures.Energy.MicroEuropeanFOBRdamMarineFuelZeroPointFivePercentBargesPlatts, Type = SecurityType.Future, ExpectedFee = 2.47m }, + new { Tier = 0, Symbol = Futures.Energy.MicroSingaporeFOBMarineFuelZeroPointFivePercetPlatts, Type = SecurityType.Future, ExpectedFee = 2.47m }, + new { Tier = 0, Symbol = Futures.Currencies.USD, Type = SecurityType.Future, ExpectedFee = 2.47m }, + new { Tier = 0, Symbol = Futures.Currencies.CAD, Type = SecurityType.Future, ExpectedFee = 2.47m }, + new { Tier = 0, Symbol = Futures.Currencies.EUR, Type = SecurityType.Future, ExpectedFee = 2.47m }, + new { Tier = 1, Symbol = Futures.Metals.MicroGoldTAS, Type = SecurityType.Future, ExpectedFee = 2.27m }, + new { Tier = 1, Symbol = Futures.Metals.MicroPalladium, Type = SecurityType.Future, ExpectedFee = 2.27m }, + new { Tier = 1, Symbol = Futures.Energy.MicroGasoilZeroPointOnePercentBargesFOBARAPlatts, Type = SecurityType.Future, ExpectedFee = 2.27m }, + new { Tier = 1, Symbol = Futures.Energy.MicroEuropeanThreePointFivePercentFuelOilCargoesFOBMedPlatts, Type = SecurityType.Future, ExpectedFee = 2.27m }, + new { Tier = 1, Symbol = Futures.Energy.MicroCoalAPIFivefobNewcastleArgusMcCloskey, Type = SecurityType.Future, ExpectedFee = 2.27m }, + new { Tier = 1, Symbol = Futures.Energy.MicroSingaporeFuelOil380CSTPlatts, Type = SecurityType.Future, ExpectedFee = 2.27m }, + new { Tier = 1, Symbol = Futures.Energy.MicroEuropeanThreePointFivePercentOilBargesFOBRdamPlatts, Type = SecurityType.Future, ExpectedFee = 2.27m }, + new { Tier = 1, Symbol = Futures.Energy.MicroEuropeanFOBRdamMarineFuelZeroPointFivePercentBargesPlatts, Type = SecurityType.Future, ExpectedFee = 2.27m }, + new { Tier = 1, Symbol = Futures.Energy.MicroSingaporeFOBMarineFuelZeroPointFivePercetPlatts, Type = SecurityType.Future, ExpectedFee = 2.27m }, + new { Tier = 1, Symbol = Futures.Currencies.USD, Type = SecurityType.Future, ExpectedFee = 2.27m }, + new { Tier = 1, Symbol = Futures.Currencies.CAD, Type = SecurityType.Future, ExpectedFee = 2.27m }, + new { Tier = 1, Symbol = Futures.Currencies.EUR, Type = SecurityType.Future, ExpectedFee = 2.27m }, + new { Tier = 2, Symbol = Futures.Metals.MicroGoldTAS, Type = SecurityType.Future, ExpectedFee = 2.07m }, + new { Tier = 2, Symbol = Futures.Metals.MicroPalladium, Type = SecurityType.Future, ExpectedFee = 2.07m }, + new { Tier = 2, Symbol = Futures.Energy.MicroGasoilZeroPointOnePercentBargesFOBARAPlatts, Type = SecurityType.Future, ExpectedFee = 2.07m }, + new { Tier = 2, Symbol = Futures.Energy.MicroEuropeanThreePointFivePercentFuelOilCargoesFOBMedPlatts, Type = SecurityType.Future, ExpectedFee = 2.07m }, + new { Tier = 2, Symbol = Futures.Energy.MicroCoalAPIFivefobNewcastleArgusMcCloskey, Type = SecurityType.Future, ExpectedFee = 2.07m }, + new { Tier = 2, Symbol = Futures.Energy.MicroSingaporeFuelOil380CSTPlatts, Type = SecurityType.Future, ExpectedFee = 2.07m }, + new { Tier = 2, Symbol = Futures.Energy.MicroEuropeanThreePointFivePercentOilBargesFOBRdamPlatts, Type = SecurityType.Future, ExpectedFee = 2.07m }, + new { Tier = 2, Symbol = Futures.Energy.MicroEuropeanFOBRdamMarineFuelZeroPointFivePercentBargesPlatts, Type = SecurityType.Future, ExpectedFee = 2.07m }, + new { Tier = 2, Symbol = Futures.Energy.MicroSingaporeFOBMarineFuelZeroPointFivePercetPlatts, Type = SecurityType.Future, ExpectedFee = 2.07m }, + new { Tier = 2, Symbol = Futures.Currencies.USD, Type = SecurityType.Future, ExpectedFee = 2.07m }, + new { Tier = 2, Symbol = Futures.Currencies.CAD, Type = SecurityType.Future, ExpectedFee = 2.07m }, + new { Tier = 2, Symbol = Futures.Currencies.EUR, Type = SecurityType.Future, ExpectedFee = 2.07m }, + new { Tier = 3, Symbol = Futures.Metals.MicroGoldTAS, Type = SecurityType.Future, ExpectedFee = 1.87m }, + new { Tier = 3, Symbol = Futures.Metals.MicroPalladium, Type = SecurityType.Future, ExpectedFee = 1.87m }, + new { Tier = 3, Symbol = Futures.Energy.MicroGasoilZeroPointOnePercentBargesFOBARAPlatts, Type = SecurityType.Future, ExpectedFee = 1.87m }, + new { Tier = 3, Symbol = Futures.Energy.MicroEuropeanThreePointFivePercentFuelOilCargoesFOBMedPlatts, Type = SecurityType.Future, ExpectedFee = 1.87m }, + new { Tier = 3, Symbol = Futures.Energy.MicroCoalAPIFivefobNewcastleArgusMcCloskey, Type = SecurityType.Future, ExpectedFee = 1.87m }, + new { Tier = 3, Symbol = Futures.Energy.MicroSingaporeFuelOil380CSTPlatts, Type = SecurityType.Future, ExpectedFee = 1.87m }, + new { Tier = 3, Symbol = Futures.Energy.MicroEuropeanThreePointFivePercentOilBargesFOBRdamPlatts, Type = SecurityType.Future, ExpectedFee = 1.87m }, + new { Tier = 3, Symbol = Futures.Energy.MicroEuropeanFOBRdamMarineFuelZeroPointFivePercentBargesPlatts, Type = SecurityType.Future, ExpectedFee = 1.87m }, + new { Tier = 3, Symbol = Futures.Energy.MicroSingaporeFOBMarineFuelZeroPointFivePercetPlatts, Type = SecurityType.Future, ExpectedFee = 1.87m }, + new { Tier = 3, Symbol = Futures.Currencies.USD, Type = SecurityType.Future, ExpectedFee = 1.87m }, + new { Tier = 3, Symbol = Futures.Currencies.CAD, Type = SecurityType.Future, ExpectedFee = 1.87m }, + new { Tier = 3, Symbol = Futures.Currencies.EUR, Type = SecurityType.Future, ExpectedFee = 1.87m }, // Other future options - new { Tier = 0, Symbol = Futures.Metals.MicroGoldTAS, Type = SecurityType.FutureOption, ExpectedFee = 2.45m }, - new { Tier = 0, Symbol = Futures.Metals.MicroPalladium, Type = SecurityType.FutureOption, ExpectedFee = 2.45m }, - new { Tier = 0, Symbol = Futures.Energy.MicroGasoilZeroPointOnePercentBargesFOBARAPlatts, Type = SecurityType.FutureOption, ExpectedFee = 2.45m }, - new { Tier = 0, Symbol = Futures.Energy.MicroEuropeanThreePointFivePercentFuelOilCargoesFOBMedPlatts, Type = SecurityType.FutureOption, ExpectedFee = 2.45m }, - new { Tier = 0, Symbol = Futures.Energy.MicroCoalAPIFivefobNewcastleArgusMcCloskey, Type = SecurityType.FutureOption, ExpectedFee = 2.45m }, - new { Tier = 0, Symbol = Futures.Energy.MicroSingaporeFuelOil380CSTPlatts, Type = SecurityType.FutureOption, ExpectedFee = 2.45m }, - new { Tier = 0, Symbol = Futures.Energy.MicroEuropeanThreePointFivePercentOilBargesFOBRdamPlatts, Type = SecurityType.FutureOption, ExpectedFee = 2.45m }, - new { Tier = 0, Symbol = Futures.Energy.MicroEuropeanFOBRdamMarineFuelZeroPointFivePercentBargesPlatts, Type = SecurityType.FutureOption, ExpectedFee = 2.45m }, - new { Tier = 0, Symbol = Futures.Energy.MicroSingaporeFOBMarineFuelZeroPointFivePercetPlatts, Type = SecurityType.FutureOption, ExpectedFee = 2.45m }, - new { Tier = 0, Symbol = Futures.Currencies.USD, Type = SecurityType.FutureOption, ExpectedFee = 2.45m }, - new { Tier = 0, Symbol = Futures.Currencies.CAD, Type = SecurityType.FutureOption, ExpectedFee = 2.45m }, - new { Tier = 0, Symbol = Futures.Currencies.EUR, Type = SecurityType.FutureOption, ExpectedFee = 2.45m }, - new { Tier = 1, Symbol = Futures.Metals.MicroGoldTAS, Type = SecurityType.FutureOption, ExpectedFee = 2.25m }, - new { Tier = 1, Symbol = Futures.Metals.MicroPalladium, Type = SecurityType.FutureOption, ExpectedFee = 2.25m }, - new { Tier = 1, Symbol = Futures.Energy.MicroGasoilZeroPointOnePercentBargesFOBARAPlatts, Type = SecurityType.FutureOption, ExpectedFee = 2.25m }, - new { Tier = 1, Symbol = Futures.Energy.MicroEuropeanThreePointFivePercentFuelOilCargoesFOBMedPlatts, Type = SecurityType.FutureOption, ExpectedFee = 2.25m }, - new { Tier = 1, Symbol = Futures.Energy.MicroCoalAPIFivefobNewcastleArgusMcCloskey, Type = SecurityType.FutureOption, ExpectedFee = 2.25m }, - new { Tier = 1, Symbol = Futures.Energy.MicroSingaporeFuelOil380CSTPlatts, Type = SecurityType.FutureOption, ExpectedFee = 2.25m }, - new { Tier = 1, Symbol = Futures.Energy.MicroEuropeanThreePointFivePercentOilBargesFOBRdamPlatts, Type = SecurityType.FutureOption, ExpectedFee = 2.25m }, - new { Tier = 1, Symbol = Futures.Energy.MicroEuropeanFOBRdamMarineFuelZeroPointFivePercentBargesPlatts, Type = SecurityType.FutureOption, ExpectedFee = 2.25m }, - new { Tier = 1, Symbol = Futures.Energy.MicroSingaporeFOBMarineFuelZeroPointFivePercetPlatts, Type = SecurityType.FutureOption, ExpectedFee = 2.25m }, - new { Tier = 1, Symbol = Futures.Currencies.USD, Type = SecurityType.FutureOption, ExpectedFee = 2.25m }, - new { Tier = 1, Symbol = Futures.Currencies.CAD, Type = SecurityType.FutureOption, ExpectedFee = 2.25m }, - new { Tier = 1, Symbol = Futures.Currencies.EUR, Type = SecurityType.FutureOption, ExpectedFee = 2.25m }, - new { Tier = 2, Symbol = Futures.Metals.MicroGoldTAS, Type = SecurityType.FutureOption, ExpectedFee = 2.05m }, - new { Tier = 2, Symbol = Futures.Metals.MicroPalladium, Type = SecurityType.FutureOption, ExpectedFee = 2.05m }, - new { Tier = 2, Symbol = Futures.Energy.MicroGasoilZeroPointOnePercentBargesFOBARAPlatts, Type = SecurityType.FutureOption, ExpectedFee = 2.05m }, - new { Tier = 2, Symbol = Futures.Energy.MicroEuropeanThreePointFivePercentFuelOilCargoesFOBMedPlatts, Type = SecurityType.FutureOption, ExpectedFee = 2.05m }, - new { Tier = 2, Symbol = Futures.Energy.MicroCoalAPIFivefobNewcastleArgusMcCloskey, Type = SecurityType.FutureOption, ExpectedFee = 2.05m }, - new { Tier = 2, Symbol = Futures.Energy.MicroSingaporeFuelOil380CSTPlatts, Type = SecurityType.FutureOption, ExpectedFee = 2.05m }, - new { Tier = 2, Symbol = Futures.Energy.MicroEuropeanThreePointFivePercentOilBargesFOBRdamPlatts, Type = SecurityType.FutureOption, ExpectedFee = 2.05m }, - new { Tier = 2, Symbol = Futures.Energy.MicroEuropeanFOBRdamMarineFuelZeroPointFivePercentBargesPlatts, Type = SecurityType.FutureOption, ExpectedFee = 2.05m }, - new { Tier = 2, Symbol = Futures.Energy.MicroSingaporeFOBMarineFuelZeroPointFivePercetPlatts, Type = SecurityType.FutureOption, ExpectedFee = 2.05m }, - new { Tier = 2, Symbol = Futures.Currencies.USD, Type = SecurityType.FutureOption, ExpectedFee = 2.05m }, - new { Tier = 2, Symbol = Futures.Currencies.CAD, Type = SecurityType.FutureOption, ExpectedFee = 2.05m }, - new { Tier = 2, Symbol = Futures.Currencies.EUR, Type = SecurityType.FutureOption, ExpectedFee = 2.05m }, - new { Tier = 3, Symbol = Futures.Metals.MicroGoldTAS, Type = SecurityType.FutureOption, ExpectedFee = 1.85m }, - new { Tier = 3, Symbol = Futures.Metals.MicroPalladium, Type = SecurityType.FutureOption, ExpectedFee = 1.85m }, - new { Tier = 3, Symbol = Futures.Energy.MicroGasoilZeroPointOnePercentBargesFOBARAPlatts, Type = SecurityType.FutureOption, ExpectedFee = 1.85m }, - new { Tier = 3, Symbol = Futures.Energy.MicroEuropeanThreePointFivePercentFuelOilCargoesFOBMedPlatts, Type = SecurityType.FutureOption, ExpectedFee = 1.85m }, - new { Tier = 3, Symbol = Futures.Energy.MicroCoalAPIFivefobNewcastleArgusMcCloskey, Type = SecurityType.FutureOption, ExpectedFee = 1.85m }, - new { Tier = 3, Symbol = Futures.Energy.MicroSingaporeFuelOil380CSTPlatts, Type = SecurityType.FutureOption, ExpectedFee = 1.85m }, - new { Tier = 3, Symbol = Futures.Energy.MicroEuropeanThreePointFivePercentOilBargesFOBRdamPlatts, Type = SecurityType.FutureOption, ExpectedFee = 1.85m }, - new { Tier = 3, Symbol = Futures.Energy.MicroEuropeanFOBRdamMarineFuelZeroPointFivePercentBargesPlatts, Type = SecurityType.FutureOption, ExpectedFee = 1.85m }, - new { Tier = 3, Symbol = Futures.Energy.MicroSingaporeFOBMarineFuelZeroPointFivePercetPlatts, Type = SecurityType.FutureOption, ExpectedFee = 1.85m }, - new { Tier = 3, Symbol = Futures.Currencies.USD, Type = SecurityType.FutureOption, ExpectedFee = 1.85m }, - new { Tier = 3, Symbol = Futures.Currencies.CAD, Type = SecurityType.FutureOption, ExpectedFee = 1.85m }, - new { Tier = 3, Symbol = Futures.Currencies.EUR, Type = SecurityType.FutureOption, ExpectedFee = 1.85m }, + new { Tier = 0, Symbol = Futures.Metals.MicroGoldTAS, Type = SecurityType.FutureOption, ExpectedFee = 2.47m }, + new { Tier = 0, Symbol = Futures.Metals.MicroPalladium, Type = SecurityType.FutureOption, ExpectedFee = 2.47m }, + new { Tier = 0, Symbol = Futures.Energy.MicroGasoilZeroPointOnePercentBargesFOBARAPlatts, Type = SecurityType.FutureOption, ExpectedFee = 2.47m }, + new { Tier = 0, Symbol = Futures.Energy.MicroEuropeanThreePointFivePercentFuelOilCargoesFOBMedPlatts, Type = SecurityType.FutureOption, ExpectedFee = 2.47m }, + new { Tier = 0, Symbol = Futures.Energy.MicroCoalAPIFivefobNewcastleArgusMcCloskey, Type = SecurityType.FutureOption, ExpectedFee = 2.47m }, + new { Tier = 0, Symbol = Futures.Energy.MicroSingaporeFuelOil380CSTPlatts, Type = SecurityType.FutureOption, ExpectedFee = 2.47m }, + new { Tier = 0, Symbol = Futures.Energy.MicroEuropeanThreePointFivePercentOilBargesFOBRdamPlatts, Type = SecurityType.FutureOption, ExpectedFee = 2.47m }, + new { Tier = 0, Symbol = Futures.Energy.MicroEuropeanFOBRdamMarineFuelZeroPointFivePercentBargesPlatts, Type = SecurityType.FutureOption, ExpectedFee = 2.47m }, + new { Tier = 0, Symbol = Futures.Energy.MicroSingaporeFOBMarineFuelZeroPointFivePercetPlatts, Type = SecurityType.FutureOption, ExpectedFee = 2.47m }, + new { Tier = 0, Symbol = Futures.Currencies.USD, Type = SecurityType.FutureOption, ExpectedFee = 2.47m }, + new { Tier = 0, Symbol = Futures.Currencies.CAD, Type = SecurityType.FutureOption, ExpectedFee = 2.47m }, + new { Tier = 0, Symbol = Futures.Currencies.EUR, Type = SecurityType.FutureOption, ExpectedFee = 2.47m }, + new { Tier = 1, Symbol = Futures.Metals.MicroGoldTAS, Type = SecurityType.FutureOption, ExpectedFee = 2.27m }, + new { Tier = 1, Symbol = Futures.Metals.MicroPalladium, Type = SecurityType.FutureOption, ExpectedFee = 2.27m }, + new { Tier = 1, Symbol = Futures.Energy.MicroGasoilZeroPointOnePercentBargesFOBARAPlatts, Type = SecurityType.FutureOption, ExpectedFee = 2.27m }, + new { Tier = 1, Symbol = Futures.Energy.MicroEuropeanThreePointFivePercentFuelOilCargoesFOBMedPlatts, Type = SecurityType.FutureOption, ExpectedFee = 2.27m }, + new { Tier = 1, Symbol = Futures.Energy.MicroCoalAPIFivefobNewcastleArgusMcCloskey, Type = SecurityType.FutureOption, ExpectedFee = 2.27m }, + new { Tier = 1, Symbol = Futures.Energy.MicroSingaporeFuelOil380CSTPlatts, Type = SecurityType.FutureOption, ExpectedFee = 2.27m }, + new { Tier = 1, Symbol = Futures.Energy.MicroEuropeanThreePointFivePercentOilBargesFOBRdamPlatts, Type = SecurityType.FutureOption, ExpectedFee = 2.27m }, + new { Tier = 1, Symbol = Futures.Energy.MicroEuropeanFOBRdamMarineFuelZeroPointFivePercentBargesPlatts, Type = SecurityType.FutureOption, ExpectedFee = 2.27m }, + new { Tier = 1, Symbol = Futures.Energy.MicroSingaporeFOBMarineFuelZeroPointFivePercetPlatts, Type = SecurityType.FutureOption, ExpectedFee = 2.27m }, + new { Tier = 1, Symbol = Futures.Currencies.USD, Type = SecurityType.FutureOption, ExpectedFee = 2.27m }, + new { Tier = 1, Symbol = Futures.Currencies.CAD, Type = SecurityType.FutureOption, ExpectedFee = 2.27m }, + new { Tier = 1, Symbol = Futures.Currencies.EUR, Type = SecurityType.FutureOption, ExpectedFee = 2.27m }, + new { Tier = 2, Symbol = Futures.Metals.MicroGoldTAS, Type = SecurityType.FutureOption, ExpectedFee = 2.07m }, + new { Tier = 2, Symbol = Futures.Metals.MicroPalladium, Type = SecurityType.FutureOption, ExpectedFee = 2.07m }, + new { Tier = 2, Symbol = Futures.Energy.MicroGasoilZeroPointOnePercentBargesFOBARAPlatts, Type = SecurityType.FutureOption, ExpectedFee = 2.07m }, + new { Tier = 2, Symbol = Futures.Energy.MicroEuropeanThreePointFivePercentFuelOilCargoesFOBMedPlatts, Type = SecurityType.FutureOption, ExpectedFee = 2.07m }, + new { Tier = 2, Symbol = Futures.Energy.MicroCoalAPIFivefobNewcastleArgusMcCloskey, Type = SecurityType.FutureOption, ExpectedFee = 2.07m }, + new { Tier = 2, Symbol = Futures.Energy.MicroSingaporeFuelOil380CSTPlatts, Type = SecurityType.FutureOption, ExpectedFee = 2.07m }, + new { Tier = 2, Symbol = Futures.Energy.MicroEuropeanThreePointFivePercentOilBargesFOBRdamPlatts, Type = SecurityType.FutureOption, ExpectedFee = 2.07m }, + new { Tier = 2, Symbol = Futures.Energy.MicroEuropeanFOBRdamMarineFuelZeroPointFivePercentBargesPlatts, Type = SecurityType.FutureOption, ExpectedFee = 2.07m }, + new { Tier = 2, Symbol = Futures.Energy.MicroSingaporeFOBMarineFuelZeroPointFivePercetPlatts, Type = SecurityType.FutureOption, ExpectedFee = 2.07m }, + new { Tier = 2, Symbol = Futures.Currencies.USD, Type = SecurityType.FutureOption, ExpectedFee = 2.07m }, + new { Tier = 2, Symbol = Futures.Currencies.CAD, Type = SecurityType.FutureOption, ExpectedFee = 2.07m }, + new { Tier = 2, Symbol = Futures.Currencies.EUR, Type = SecurityType.FutureOption, ExpectedFee = 2.07m }, + new { Tier = 3, Symbol = Futures.Metals.MicroGoldTAS, Type = SecurityType.FutureOption, ExpectedFee = 1.87m }, + new { Tier = 3, Symbol = Futures.Metals.MicroPalladium, Type = SecurityType.FutureOption, ExpectedFee = 1.87m }, + new { Tier = 3, Symbol = Futures.Energy.MicroGasoilZeroPointOnePercentBargesFOBARAPlatts, Type = SecurityType.FutureOption, ExpectedFee = 1.87m }, + new { Tier = 3, Symbol = Futures.Energy.MicroEuropeanThreePointFivePercentFuelOilCargoesFOBMedPlatts, Type = SecurityType.FutureOption, ExpectedFee = 1.87m }, + new { Tier = 3, Symbol = Futures.Energy.MicroCoalAPIFivefobNewcastleArgusMcCloskey, Type = SecurityType.FutureOption, ExpectedFee = 1.87m }, + new { Tier = 3, Symbol = Futures.Energy.MicroSingaporeFuelOil380CSTPlatts, Type = SecurityType.FutureOption, ExpectedFee = 1.87m }, + new { Tier = 3, Symbol = Futures.Energy.MicroEuropeanThreePointFivePercentOilBargesFOBRdamPlatts, Type = SecurityType.FutureOption, ExpectedFee = 1.87m }, + new { Tier = 3, Symbol = Futures.Energy.MicroEuropeanFOBRdamMarineFuelZeroPointFivePercentBargesPlatts, Type = SecurityType.FutureOption, ExpectedFee = 1.87m }, + new { Tier = 3, Symbol = Futures.Energy.MicroSingaporeFOBMarineFuelZeroPointFivePercetPlatts, Type = SecurityType.FutureOption, ExpectedFee = 1.87m }, + new { Tier = 3, Symbol = Futures.Currencies.USD, Type = SecurityType.FutureOption, ExpectedFee = 1.87m }, + new { Tier = 3, Symbol = Futures.Currencies.CAD, Type = SecurityType.FutureOption, ExpectedFee = 1.87m }, + new { Tier = 3, Symbol = Futures.Currencies.EUR, Type = SecurityType.FutureOption, ExpectedFee = 1.87m }, }.Select(x => { var symbol = Symbols.CreateFutureSymbol(x.Symbol, SecurityIdentifier.DefaultDate);