Signet Forge 0.1.0
C++20 Parquet library with AI-native extensions
DEMO
Loading...
Searching...
No Matches
signet::forge::risk Namespace Reference

Classes

struct  PreTradeCheckResult
 Result of a pre-trade risk check. More...
 
struct  PreTradeRiskLimits
 Pre-trade risk limits configuration. More...
 

Enumerations

enum class  RiskCheckResult : int32_t { PASS = 0 , REJECT = 1 , THROTTLE = 2 }
 Pre-trade risk check result. More...
 
enum class  RiskRejectReason : int32_t {
  NONE = 0 , PRICE_COLLAR = 1 , MAX_ORDER_SIZE = 2 , MAX_DAILY_VOLUME = 3 ,
  MAX_MESSAGE_RATE = 4 , INSTRUMENT_BANNED = 5 , CUSTOM = 99
}
 Reason for a risk check rejection. More...
 

Functions

PreTradeCheckResult check_order (const PreTradeRiskLimits &limits, double order_price, double reference_price, double order_notional, double daily_notional)
 Perform a pre-trade risk check on a proposed order.
 

Enumeration Type Documentation

◆ RiskCheckResult

enum class signet::forge::risk::RiskCheckResult : int32_t
strong

Pre-trade risk check result.

Enumerator
PASS 

Order passes all pre-trade risk checks.

REJECT 

Order rejected by risk check — must not be sent.

THROTTLE 

Order rate-limited — retry after cooldown.

Definition at line 313 of file compliance_types.hpp.

◆ RiskRejectReason

enum class signet::forge::risk::RiskRejectReason : int32_t
strong

Reason for a risk check rejection.

Enumerator
NONE 

No rejection (check passed).

PRICE_COLLAR 

Price outside allowed deviation from reference (RTS 6 Art. 17(1)(a)).

MAX_ORDER_SIZE 

Notional value exceeds single-order limit (RTS 6 Art. 17(1)(b)).

MAX_DAILY_VOLUME 

Cumulative daily volume exceeds limit.

MAX_MESSAGE_RATE 

Order/cancel rate exceeds messages-per-second cap.

INSTRUMENT_BANNED 

Instrument on restricted list.

CUSTOM 

Custom rejection reason (see reject_message).

Definition at line 320 of file compliance_types.hpp.

Function Documentation

◆ check_order()

PreTradeCheckResult signet::forge::risk::check_order ( const PreTradeRiskLimits limits,
double  order_price,
double  reference_price,
double  order_notional,
double  daily_notional 
)
inline

Perform a pre-trade risk check on a proposed order.

Parameters
limitsRisk limit configuration.
order_priceProposed order price.
reference_priceCurrent reference/mid price.
order_notionalNotional value of the proposed order.
daily_notionalCumulative notional already traded today.
Returns
PreTradeCheckResult with PASS or REJECT + reason.

Definition at line 356 of file compliance_types.hpp.