Impact Analysis¶
After running a simulation, CalcBridge provides comprehensive impact analysis showing exactly how your proposed trades would affect every compliance test. This guide explains how to interpret and act on these results.
Understanding the Results¶
Impact Summary¶
Every simulation returns a high-level summary:
| Metric | Description |
|---|---|
| Improving | Number of tests where cushion increases (better compliance) |
| Worsening | Number of tests where cushion decreases (worse compliance) |
| Neutral | Number of tests with minimal change (within 0.01%) |
| New Failures | Tests that change from pass to fail |
| Total Tests | Total number of compliance tests evaluated |
{
"impact_summary": {
"improve": 5,
"worsen": 2,
"neutral": 8
},
"new_failures": 0,
"total_tests": 15
}
New Failures Alert
If new_failures > 0, the scenario would cause compliance breaches. Review carefully before proceeding.
Before/After Comparison¶
Each compliance test shows current and projected values:
Test Result Structure¶
| Field | Description |
|---|---|
test_name | Name of the compliance test |
test_category | Category (concentration, rating, coverage, quality, diversity) |
current_value | Value before trades |
projected_value | Value after trades |
threshold_value | Limit or minimum threshold |
cushion_current | Current headroom (threshold - value or value - threshold) |
cushion_projected | Projected headroom after trades |
status_current | Current status (pass/warning/fail) |
status_projected | Projected status after trades |
impact_direction | Whether the trade improves, worsens, or is neutral |
Example Result¶
{
"test_name": "CCC Bucket",
"test_category": "rating",
"current_value": 6.50,
"projected_value": 4.20,
"threshold_value": 7.50,
"cushion_current": 1.00,
"cushion_projected": 3.30,
"status_current": "pass",
"status_projected": "pass",
"impact_direction": "improve"
}
Interpretation: Selling CCC credits reduced CCC exposure from 6.50% to 4.20%, increasing cushion from 1.00% to 3.30%. The test improves significantly.
Impact Direction Logic¶
CalcBridge determines impact direction by comparing cushions:
flowchart TD
A[Calculate Cushion Change] --> B{Change > 0.01%?}
B -->|Yes| C{Direction?}
B -->|No| D[Neutral]
C -->|Positive| E[Improve]
C -->|Negative| F[Worsen]
E --> G[Cushion Increased]
F --> H[Cushion Decreased]
D --> I[Minimal Change] Cushion Calculation¶
For tests where higher is worse (concentration, CCC bucket):
For tests where lower is worse (OC ratio, diversity score):
Impact Thresholds¶
| Cushion Change | Impact Direction |
|---|---|
| > +0.01% | Improve |
| < -0.01% | Worsen |
| -0.01% to +0.01% | Neutral |
Compliance Test Categories¶
Concentration Tests¶
Monitor exposure limits to single obligors and industries.
| Test | Threshold Type | Good Direction |
|---|---|---|
| Single Obligor Limit | Maximum % | Lower is better |
| Industry Concentration | Maximum % | Lower is better |
| Top 5 Obligor | Maximum % | Lower is better |
Interpreting Concentration Results
If current_value = 8.5% and threshold_value = 10%:
- Cushion = 10% - 8.5% = 1.5%
- Buying more from this obligor would worsen the test
- Selling would improve the test
Rating Tests¶
Track credit quality exposure.
| Test | Threshold Type | Good Direction |
|---|---|---|
| CCC Bucket | Maximum % | Lower is better |
| WARF | Maximum score | Lower is better |
Coverage Tests¶
Ensure sufficient collateralization.
| Test | Threshold Type | Good Direction |
|---|---|---|
| OC Ratio | Minimum % | Higher is better |
| IC Ratio | Minimum % | Higher is better |
Quality Tests¶
Monitor portfolio-level metrics.
| Test | Threshold Type | Good Direction |
|---|---|---|
| Weighted Average Spread (WAS) | Minimum % | Higher is better |
| Weighted Average Life (WAL) | Maximum years | Lower is better |
Diversity Tests¶
Measure portfolio diversification.
| Test | Threshold Type | Good Direction |
|---|---|---|
| Diversity Score | Minimum score | Higher is better |
Status Transitions¶
Status Values¶
| Status | Description | Color |
|---|---|---|
pass | Value safely within threshold | Green |
warning | Within 10% of threshold | Yellow |
fail | Threshold breached | Red |
Critical Status Changes¶
| Current | Projected | Significance |
|---|---|---|
| pass | pass | Safe to proceed |
| pass | warning | Caution - getting close |
| pass | fail | DO NOT PROCEED - would cause breach |
| warning | pass | Improvement - increases cushion |
| warning | warning | Monitor closely |
| warning | fail | DO NOT PROCEED - would cause breach |
| fail | pass | Improvement - fixes breach |
| fail | warning | Improvement - approaching compliance |
| fail | fail | Still in breach |
Breach Prevention
Any scenario that changes a test from pass to fail should not be executed without careful consideration and approval.
Visualizing Results¶
Impact Chart¶
The Impact Chart groups results by category and shows:
- Impact indicator: Arrow up (improve), down (worsen), or right (neutral)
- Current vs Projected values: Side-by-side comparison
- Cushion changes: How much headroom changed
- Status badges: Pass/warning/fail for both states
Compliance Gauge¶
For individual tests, the Compliance Gauge shows:
- Visual arc: Red/yellow/green zones
- Current needle: Where you are today (dashed)
- Projected needle: Where you would be after trades (solid)
- Cushion to breach: Exact headroom remaining
Retrieving Results via API¶
Get All Results¶
curl -X GET https://api.calcbridge.io/api/v1/scenarios/{scenario_id}/results \
-H "Authorization: Bearer $TOKEN"
Filter by Category¶
curl -X GET "https://api.calcbridge.io/api/v1/scenarios/{scenario_id}/results?category=rating" \
-H "Authorization: Bearer $TOKEN"
Available categories:
concentrationratingcoveragequalitydiversity
Identifying Problematic Trades¶
Finding the Cause of Worsening Tests¶
When a test worsens, analyze which trades caused it:
- Single Obligor Limit worsening: You may be buying more from an obligor that is already at high concentration
- CCC Bucket worsening: You may be buying CCC-rated credits or not selling enough
- Industry Concentration worsening: You may be adding to an already concentrated industry
- WAS worsening: You may be buying lower-spread credits
Mitigation Strategies¶
| Problem | Mitigation |
|---|---|
| Obligor concentration increasing | Reduce buy size or sell existing position first |
| Industry concentration increasing | Diversify into other industries |
| CCC bucket increasing | Target higher-rated credits for buys |
| WAS decreasing | Look for higher-spread opportunities |
| Diversity score decreasing | Spread purchases across more obligors |
Making the Go/No-Go Decision¶
Decision Framework¶
flowchart TD
A[Review Simulation Results] --> B{New Failures?}
B -->|Yes| C[Do NOT Proceed]
B -->|No| D{Worsening Tests?}
D -->|No| E[Safe to Proceed]
D -->|Yes| F{Acceptable Risk?}
F -->|No| G[Modify Trades]
F -->|Yes| H{Approval Required?}
H -->|No| I[Proceed with Caution]
H -->|Yes| J[Seek Approval]
G --> A
C --> G
J --> K{Approved?}
K -->|Yes| I
K -->|No| G Approval Checklist¶
Before executing trades that worsen any test:
- No new failures would be caused
- Remaining cushion is sufficient for normal volatility
- Trade rationale justifies the compliance impact
- Approval obtained from appropriate authority
- Documentation of decision rationale
Exporting Results¶
For Documentation¶
Export simulation results for compliance records:
import json
# Fetch results
results = get_simulation_results(scenario_id)
# Format for documentation
report = {
"scenario_name": results["scenario_id"],
"simulation_date": "2026-01-25",
"summary": results["impact_summary"],
"new_failures": results["new_failures"],
"tests": results["results"]
}
# Save to file
with open("simulation_report.json", "w") as f:
json.dump(report, f, indent=2)
For Approval Workflow¶
Include in approval request:
- Scenario name and purpose
- List of proposed trades
- Impact summary (improving/worsening/neutral counts)
- Any new failures or warnings
- Tests with reduced cushion
- Recommendation
Audit Trail¶
All simulations are logged for compliance auditing:
| Logged Data | Purpose |
|---|---|
| User ID | Who ran the simulation |
| Scenario ID | Which scenario was simulated |
| Timestamp | When simulation occurred |
| Trades | What trades were included |
| Results | Full compliance test results |
| Status changes | Before/after status for each test |
Access audit logs via the admin API or export for external audit systems.
Next Steps¶
After analyzing your results: