Risk management for IG Markets trading. Position sizing, stop-loss strategies, risk/reward ratios, guaranteed stops, trailing stops, and portfolio-level risk controls. Use when the user asks about position sizing, managing risk, setting stops, or wants to understand how much they could lose.
Skill for managing trading risk on IG Markets. Covers position sizing, stop placement, risk/reward analysis, and portfolio-level risk controls.
Trigger phrases: "position size", "how much should I risk", "stop loss", "risk/reward", "risk management", "guaranteed stop", "trailing stop", "how much could I lose", "protect my position", "maximum loss", "risk per trade", "money management".
The amount of capital risked on a single trade. Industry convention:
risk_amount = account_balance * risk_percentage
Example: £10,000 account, 1% risk = £100 maximum loss per trade.
The ratio of potential loss to potential gain:
risk = entry_price - stop_level (for BUY)
reward = limit_level - entry_price (for BUY)
ratio = risk : reward
Guidelines:
Calculate position size based on defined risk:
position_size = risk_amount / (stop_distance * value_per_point)
Where:
risk_amount = how much you're willing to lose (e.g. £100)stop_distance = points between entry and stop (e.g. 50 points)value_per_point = currency value per point of movement per 1 unit of sizeFor spread bets, 1 unit = £1/point, so:
size = risk_amount / stop_distance
size = £100 / 50 = £2 per point
For CFDs, value per point depends on contract specification. Check ig_market for details.
When the user asks "how much should I trade" or "what size position":
Get account details: ig_accounts -- note available balance
Get instrument details: ig_market(epic) -- note min size, point value
Determine risk parameters:
Calculate:
Account balance: £10,000
Risk per trade: 1% = £100
Stop distance: 50 points
Value per point: £1 (spread bet) or as per contract spec (CFD)
Position size = £100 / (50 * £1) = 2.0
Recommended size: £2 per point
Maximum loss: £100 (1% of account)
Verify the calculated size meets the instrument's minimum deal size.
Check margin: Ensure the position won't use excessive margin.
Present the user with stop-loss options based on their situation:
A stop at a specific price level. The most common type.
Best for: Standard trading, known support/resistance levels.
ig_create_position(
...
stopLevel: 7400.0 // absolute level
// OR
stopDistance: 50 // points from entry
)
Placement guidelines:
ig_market -> dealingRules.minStopOrProfitDistance)IG guarantees execution at exactly the stop level, even through gaps. Extra premium charged.
Best for: High-volatility events (earnings, elections), weekend holding, illiquid markets.
ig_create_position(
...
guaranteedStop: true,
stopDistance: 50
)
Trade-off: Wider spread (premium). Check costs with ig_costs_open.
The stop automatically moves in your favor as the price moves, but doesn't move back against you.
Best for: Trending markets where you want to lock in profits while letting winners run.
ig_update_position(
dealId: "<id>",
trailingStop: true,
trailingStopDistance: 30, // distance from current price
trailingStopIncrement: 10 // minimum move before stop adjusts
)
Note: Trailing stops must be enabled in account preferences. Check with ig_preferences.
Moving the stop to entry price after the trade moves in your favor, eliminating risk.
When to apply: After the position has moved 1x the original stop distance in profit.
// Original trade: BUY at 7500, stop at 7450 (50-point stop)
// Price moves to 7550 (50 points profit)
// Move stop to break-even:
ig_update_position(
dealId: "<id>",
stopLevel: 7500.0 // entry price = zero risk
)
Before any trade, calculate and present the full risk picture:
Get instrument details: ig_market(epic)
Calculate:
TRADE RISK ASSESSMENT
─────────────────────
Instrument: FTSE 100 (IX.D.FTSE.DAILY.IP)
Direction: BUY
Entry (offer): 7521.5
Size: £2/point
Stop level: 7470.0 (51.5 points)
Limit level: 7600.0 (78.5 points)
Maximum loss: £103.00 (51.5 × £2)
Target profit: £157.00 (78.5 × £2)
Risk/Reward: 1:1.53
Account balance: £10,000
Risk as % of account: 1.03%
Margin required: £375.00 (5% of position value)
Margin utilization after trade: 12.5%
VERDICT: Within acceptable risk parameters ✓
If risk exceeds thresholds, suggest adjustments:
Assess risk across all open positions:
ig_positions -- all open positions
ig_accounts -- account balance and margin
Calculate:
Present:
PORTFOLIO RISK SUMMARY
──────────────────────
Open positions: 5
Positions with stops: 3 / 5 ⚠️
Total margin used: £2,400 / £10,000 (24%)
Maximum defined loss: £450 (from stopped positions)
Undefined risk: 2 positions without stops ⚠️
Correlation risk: 3 long index positions (FTSE, DAX, DOW)
These are highly correlated -- a market
sell-off would hit all three simultaneously.
RECOMMENDATIONS:
1. Add stops to the 2 unprotected positions
2. Consider reducing index exposure (3 correlated longs)
3. Margin utilization is healthy (24%)
When positions are already open and the user wants to manage risk:
ig_update_position(dealId: "<id>", stopLevel: <new_tighter_level>)
Only do this if the user has calculated the increased risk and accepts it. Present the new maximum loss.
ig_positions -- find positions without stopsig_update_position(dealId, stopLevel)Reduce risk by closing part of the position:
ig_close_position(dealId: "<id>", direction: "SELL", size: <partial_size>, orderType: "MARKET")
| Rule | Guideline |
|---|---|
| Risk per trade | 1-2% of account balance maximum |
| Total portfolio risk | Maximum 5-10% of account at risk at any time |
| Correlation | No more than 3 positions in the same sector/direction |
| Margin utilization | Keep below 50% for safety buffer |
| Stops | Every position should have a stop-loss |
| Risk/Reward | Minimum 1:1.5, ideally 1:2+ |
| Guaranteed stops | Use for positions held over weekends or through events |
| Max positions | 5-10 simultaneous positions for retail traders |