Skip to content

Repository files navigation

bt_api_risk

Python 3.9-3.14License: MIT

Intelligent risk management and compliance monitoring system for 73+ exchanges. Provides real-time risk assessment, ML-driven anomaly detection, and regulatory compliance support.

Features

Core Risk Management

  • RiskManager — Central risk management orchestrator for pre-trade, in-trade, and post-trade risk controls
  • RiskAssessor — Real-time risk scoring and limit enforcement

Machine Learning Models

  • RiskEnsembleModel — Ensemble model combining Random Forest, Neural Network, and XGBoost for risk prediction
  • AnomalyDetector — Behavioral pattern recognition and outlier detection for suspicious trading activity

Risk Containers

  • RiskEvent — Structured event type for risk-triggered incidents
  • RiskEventType — Enum of event types (POSITION_LIMIT, MARGIN_CALL, etc.)
  • RiskLevel — Enum of risk levels (LOW, MEDIUM, HIGH, CRITICAL)
  • RiskMetrics — Container for aggregated risk metrics

Compliance Standards

  • Market Manipulation Detection (spoofing, layering, front-running)
  • Anti-Money Laundering (AML) and Know Your Customer (KYC)
  • MiFID II and SEC Rule 606 trade reporting
  • Position limits and concentration risk limits
  • Credit risk and margin management

Installation

pip install bt_api_risk

Requirements

  • Python >= 3.9
  • numpy >= 1.26.0
  • pydantic >= 2.0.0

Quick Start

frombt_api_riskimportRiskManager, RiskAssessor, RiskLevel, RiskEvent, RiskEventType# Initialize the risk managerrisk_mgr=RiskManager()
# Create a risk assessmentassessor=RiskAssessor()
risk_score=assessor.assess_position(
exchange="BINANCE___SPOT",
symbol="BTCUSDT",
position_value=100000.0,
account_equity=500000.0,
)
print(f"Risk level: {risk_score.level}") # RiskLevel.MEDIUM# Emit a risk eventevent=RiskEvent(
event_type=RiskEventType.POSITION_LIMIT,
level=RiskLevel.HIGH,
exchange="BINANCE___SPOT",
symbol="BTCUSDT",
message="Position exceeds single-symbol limit",
)
risk_mgr.emit(event)

Anomaly Detection

frombt_api_riskimportAnomalyDetectordetector=AnomalyDetector(threshold=0.8)
is_anomalous=detector.is_anomalous(
features={
"trade_frequency": 150,
"order_size_ratio": 0.95,
"price_impact": 0.12,
}
)

ML Ensemble Risk Model

frombt_api_riskimportRiskEnsembleModelmodel=RiskEnsembleModel()
risk_prob=model.predict_risk(
features={
"position_concentration": 0.75,
"leverage_ratio": 2.5,
"daily_volatility": 0.04,
"liquidity_score": 0.6,
}
)
print(f"Risk probability: {risk_prob:.3f}")

API Reference

ClassDescription
RiskManagerCentral orchestrator for risk controls
RiskAssessorReal-time risk scoring engine
RiskEnsembleModelML ensemble for risk prediction
AnomalyDetectorBehavioral anomaly detection
RiskEventRisk incident event container
RiskEventTypeEnum of risk event types
RiskLevelEnum of risk severity levels
RiskMetricsAggregated risk metrics container

Compliance Standards

StandardDescription
MiFID IIEU markets instrument directive
SEC Rule 606US trade reporting
AML/KYCAnti-money laundering / Know your customer
Basel IIIBanking capital requirements
MAREU market abuse regulation

Documentation

Full documentation available at bt_api_py documentation.

License

MIT License

About

bt_api risk management module - unified risk controls for cryptocurrency exchange trading APIs

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages