Risk Management
Risk Management
Overview
Position Sizing Algorithms
Standard Position Sizing
// Risk-based position sizing
function calculatePositionSize({
accountSize,
riskPerTrade,
entryPrice,
stopLossPrice,
leverageMultiplier = 1
}) {
// Calculate risk amount in absolute terms
const riskAmount = accountSize * riskPerTrade;
// Calculate risk per unit
const riskPerUnit = Math.abs(entryPrice - stopLossPrice);
// Calculate raw position size
let positionSize = riskAmount / riskPerUnit;
// Apply leverage if using leverage products
positionSize = positionSize * leverageMultiplier;
return positionSize;
}
// Example usage
const positionSize = calculatePositionSize({
accountSize: 10000, // $10,000
riskPerTrade: 0.01, // 1% risk per trade
entryPrice: 28500,
stopLossPrice: 27075, // 5% stop loss
leverageMultiplier: 1 // No leverage
});
console.log(`Position size: ${positionSize} units`);Kelly Criterion Sizing
Volatility-Adjusted Sizing
Drawdown Protection
Progressive Risk Reduction
Circuit Breakers
Recovery Mode
Correlation-Based Risk Adjustment
Portfolio Correlation Matrix
Exposure Adjustment
Sector Diversification
Black Swan Event Protection
Volatility Outlier Detection
Liquidity Monitoring
Tail Risk Hedging
Integration with Agent Framework
Last updated

