Backtest Settings
Last updated
Last updated
Entry and Exit Fees: Customizable fees per leg to simulate real-world transaction costs. Accurately setting fees helps create realistic backtests by accounting for the cost impact on net returns.
VIX and GAP Ranges:
FireForge will only consider trades where the respective variable is within the given range at the desired time of entry.
VIX: volatility index value
Custom VIX: Computed based on the width of a 20 delta strangle on that options chainat the time of entry. This can be useful to gauge a more short term volatility estimate than the 30 day focused VIX.
GAP: the overnight gap in the underlying leading into the trading day of entry, in %
Monte Carlo Settings:
MC Capital: The starting capital used for Monte Carlo simulations, relevant for calculating capital-dependent risk metrics, such as Risk-of-Ruin.
MC Drawdown Threshold %: Defines the maximum drawdown before a simulation counts as “bankrupt.” A typical threshold might be set to 75%, meaning that if the strategy’s drawdown exceeds 75%, it’s considered a total loss. This threshold provides insights into how much capital is at risk before triggering risk-of-ruin conditions.
Wash Trade Policies: The Wash Trade Policies setting in FireForge controls how to handle instances where a strategy might simultaneously open and close identical positions, leading to "wash trades." This can occur in complex, multi-leg strategies where the same contract could be bought and sold within the same timeframe.
Policy Options:
Shift:
Purpose: Adjusts the delta of one leg (the leg with the smaller absolute delta) to avoid a wash trade.
How It Works: Instead of allowing a duplicate position, the policy shifts one of the legs slightly, changing its delta so that it no longer creates a redundant buy/sell situation. This approach preserves the overall structure of the strategy while eliminating identical contract overlap.
Use Case: This is useful when users want to maintain the overall structure of the strategy but avoid any exact position replication, keeping the strategy’s exposure balanced.
Drop:
Purpose: Excludes wash trades entirely from the backtest.
How It Works: The "Drop" policy removes any trades identified as wash trades, meaning they will not appear in the final analysis. This creates a cleaner backtest, particularly useful if wash trades could skew performance metrics or misrepresent trade frequency.
Use Case: This setting is suitable for users who want to avoid redundant trades that don’t add informational value to the strategy's performance metrics. It ensures that the backtest reflects only unique trades.
Ignore:
Purpose: Allows wash trades to occur naturally without any intervention.
How It Works: With the "Ignore" setting, FireForge makes no adjustments to identical contracts being bought and sold at the same time, effectively simulating a scenario where wash trades are permissible.
Use Case: This option is helpful for users who want the backtest to reflect real-world conditions where wash trades may happen, such as in strategies that inherently involve frequent position adjustment or high turnover.
In-Sample Fraction: The In-Sample Fraction input allows users to split their dataset into two segments: in-sample data for strategy optimization and out-of-sample data for validation (use negative numbers to only the most recent share of data). This split ensures that the strategy is tested on new, unseen data, providing a more realistic performance assessment and helping to avoid overfitting.