Leverage and ROI

ProfitCalc defines ROI as net PnL divided by the entered investment, multiplied by 100. It is a return on initial margin, not a return on leveraged position value. Changing leverage changes both price PnL and the trading fees in this fixed-margin model.

The denominator matters

Let I be initial investment, L leverage, E entry and T exit. Position value N = I × L and quantity Q = N / E. After calculating directional gross PnL and deducting net trading fees, ROI = netPnl / I × 100. Dividing by N instead would measure a different return and is not what the interface displays.

A code-backed leverage comparison

Hold I = $1,000, E = $50,000, T = $55,000, a long position, fee = 0.075% and payback off. At 1×, gross PnL is $100, fees $1.575, net PnL $98.425 and ROI 9.8425% (displayed 9.84%). At 5× these become $500, $7.875, $492.125 and 49.2125% (49.21%). At 10× they are $1,000, $15.75, $984.25 and 98.425% (98.43%).

Losses scale too

Keeping the same margin and fee but exiting the long at $45,000 gives a 10% price decline. At 10×, gross PnL is −$1,000. Fees are $7.50 plus $6.75 = $14.25, so net PnL is −$1,014.25, ROI −101.425% (−101.43%), and final equity −$14.25. This is an arithmetic outcome, not a statement about an exchange balance or execution path.

Price movement is not net ROI

A 10% favorable move times 10× leverage yields 100% gross return on margin. The result falls to 98.425% after the two assumed fees. Funding, taxes and execution differences are excluded, so even the net figure here is not a complete account-level return. At an unchanged price, 10× leverage with this fee produces −1.5% ROI.

What does changing investment do?

For otherwise identical inputs, doubling I doubles position value, quantity, gross PnL, fees and net PnL. The ratio netPnl / I stays the same within normal floating-point precision. This proportionality follows from the code and does not imply that real trade size has no market impact.

Limits on leverage inputs

The current validation requires positive finite leverage but imposes no exchange-specific maximum. Fractional leverage is accepted. That is input flexibility, not a claim that a venue offers that leverage. Derived arithmetic must remain finite or the calculator rejects the scenario. No maintenance-margin or forced-close engine is included.

Validation and precision

Entry and target prices, investment and leverage must be finite and positive; fee must be finite and nonnegative. Enabled payback must be between 0% and 100%. All derived arithmetic must remain finite. Both prices start blank; once either is filled, required-field validation applies. Display values are rounded, without intermediate currency rounding.

Model limitations

The calculation assumes a linear USD-denominated contract, fixed quantity and exact entry and exit prices. Funding, slippage, taxes, inverse contracts, maintenance margin and exchange-specific rules are excluded. Payback is hypothetical, not guaranteed. Results may show negative final equity. This is information, not financial advice.

Implementation basis

These statements follow the calculation callback, resetFields and preset handlers in components/Calculator.tsx. Numeric cases are checked by scripts/smoke-calculator.mjs. No external exchange fee, product availability or performance claim is made.