20 KiB
📊 TRADING COMPLIANCE & SUPERVISION PLAYBOOK
BlackRoad OS, Inc. - Trading Supervision Framework
TABLE OF CONTENTS
- Trade Supervision Overview
- Pre-Trade Supervision
- Trade Execution Monitoring
- Post-Trade Review
- Suitability Analysis
- Churning Detection
- Options Supervision
- Margin Account Monitoring
- Automated Surveillance
- Exception Handling
TRADE SUPERVISION OVERVIEW
Three Lines of Defense
┌───────────────────────────────────────────────────────┐
│ SUPERVISION MODEL │
├───────────────────────────────────────────────────────┤
│ │
│ LINE 1: REGISTERED REPRESENTATIVE │
│ ├─ Know Your Customer │
│ ├─ Suitability determination │
│ ├─ Reasonable basis suitability │
│ ├─ Customer-specific suitability │
│ └─ Quantitative suitability │
│ │
│ LINE 2: BRANCH/SUPERVISORY PRINCIPAL │
│ ├─ Daily trade review │
│ ├─ Exception investigation │
│ ├─ Pattern recognition │
│ ├─ Representative oversight │
│ └─ Escalation to compliance │
│ │
│ LINE 3: COMPLIANCE/CCO │
│ ├─ Surveillance system monitoring │
│ ├─ Testing and auditing │
│ ├─ Regulatory reporting │
│ ├─ Policy enforcement │
│ └─ Disciplinary actions │
│ │
└───────────────────────────────────────────────────────┘
Supervision Principles (FINRA Rule 3110)
REASONABLE SUPERVISION:
- Written Supervisory Procedures (WSPs)
- Designation of supervisors
- Adequate resources
- Regular reviews
- Exception investigation
- Enforcement of policies
- Adaptation to risks
SUPERVISION FREQUENCY:
DAILY:
├─ Trade review (all trades)
├─ New account approvals
├─ Correspondence review (sample)
└─ Exception reports
WEEKLY:
├─ Outside business activity monitoring
├─ Private securities transactions review
├─ Gifts & entertainment review
└─ Advertising review
MONTHLY:
├─ High-risk account review
├─ Options activity review
├─ Margin account review
└─ Representative activity review
QUARTERLY:
├─ Branch inspections (if applicable)
├─ Representative meetings
├─ Compliance testing
└─ Policy updates
ANNUAL:
├─ WSP annual review
├─ Compliance report to CEO
├─ Representative certifications
└─ Comprehensive audit
PRE-TRADE SUPERVISION
New Account Approval
TIMELINE: Within 30 days of account opening
Principal Review Checklist:
☐ Customer information complete
☐ Name, address, DOB, SSN
☐ Employment/occupation
☐ Investment objectives
☐ Risk tolerance
☐ Time horizon
☐ Liquidity needs
☐ Tax status
☐ Investment experience
☐ Annual income
☐ Net worth (excluding primary residence)
☐ Liquid net worth
☐ Suitability information adequate for recommendations
☐ CIP verification completed
☐ Government ID obtained
☐ Identity verified
☐ OFAC screening passed
☐ Account type appropriate
☐ Individual, joint, entity, retirement
☐ Cash, margin, options (if applicable)
☐ Special situations addressed
☐ Senior investor (65+) - enhanced review
☐ Military servicemember - SCRA compliance
☐ Employee account - approval obtained
☐ Politically exposed person - EDD completed
☐ Institutional account - verification completed
☐ Account agreements signed
☐ Customer agreement
☐ Margin agreement (if applicable)
☐ Options agreement (if applicable)
☐ Disclosures provided
☐ Fee schedule
☐ Conflicts of interest
☐ Regulation Best Interest (if applicable)
☐ Principal approval documented
☐ Signature
☐ Date (within 30 days)
Options Account Approval
Required Before Options Trading:
1. Options Agreement:
- Signed by customer
- Within 15 days of approval
2. Options Disclosure Document (ODD):
- "Characteristics and Risks of Standardized Options"
- Provided before or at account approval
3. Suitability Determination:
OPTIONS SUITABILITY FACTORS:
├─ Knowledge of options (experience)
├─ Trading experience (years)
├─ Financial situation (income, net worth)
├─ Risk tolerance (ability to sustain losses)
├─ Investment objectives
├─ Account type (IRA restrictions)
└─ Proposed options strategies
4. Options Level Assignment:
LEVEL 1: COVERED CALLS/CASH-SECURED PUTS
├─ Lowest risk
├─ Limited loss exposure
└─ Suitable for conservative investors
LEVEL 2: LONG CALLS/PUTS (BUYING ONLY)
├─ Moderate risk
├─ Loss limited to premium paid
└─ Suitable for moderate investors
LEVEL 3: SPREADS
├─ Increased complexity
├─ Defined risk strategies
└─ Suitable for experienced investors
LEVEL 4: NAKED WRITING (UNCOVERED)
├─ Highest risk
├─ Unlimited loss potential (calls)
├─ Substantial loss potential (puts)
├─ Margin requirements
└─ Suitable only for sophisticated investors with:
• High income ($100K+)
• High net worth ($250K+)
• Significant options experience
• Demonstrated understanding of risks
Principal Approval - Options:
# OPTIONS ACCOUNT APPROVAL
Customer: __________________ Account: __________
Options Level Requested: ☐ 1 ☐ 2 ☐ 3 ☐ 4
SUITABILITY ANALYSIS:
Investment Objective: ________________________
Risk Tolerance: ☐ Conservative ☐ Moderate ☐ Aggressive
Annual Income: $__________
Net Worth: $__________
Liquid Net Worth: $__________
Investment Experience: _____ years
Options Experience: _____ years
Options Knowledge: ☐ Limited ☐ Good ☐ Extensive
LEVEL DETERMINATION:
Based on customer profile, approved for Level: ____
☐ Customer financial situation supports options trading
☐ Customer knowledge/experience appropriate for level
☐ Options Disclosure Document provided
☐ Options Agreement to be signed within 15 days
PRINCIPAL APPROVAL:
Approved by: __________________ Date: ________
Signature: _________________
NOTES:
___________________________________________
TRADE EXECUTION MONITORING
Order Entry Controls
Pre-Trade Checks (Automated):
def pre_trade_validation(order):
"""
Automated checks before order execution
"""
# 1. Account validation
if not account.is_approved():
return REJECT("Account not approved by principal")
# 2. Account type validation
if order.security_type == "OPTION":
if not account.options_approved:
return REJECT("Options not approved")
if order.strategy.level > account.options_level:
return REJECT("Options level insufficient")
# 3. Margin validation
if order.requires_margin():
if not account.margin_approved:
return REJECT("Margin not approved")
if account.buying_power < order.estimated_cost:
return REJECT("Insufficient buying power")
# 4. Position limits
if order.would_exceed_position_limits():
return FLAG_FOR_REVIEW("Position limit exceeded")
# 5. Price reasonability
if abs(order.price - market_price) / market_price > 0.10:
return FLAG_FOR_REVIEW("Price >10% from market")
# 6. Duplicate order check
if recent_similar_order_exists(order):
return FLAG_FOR_REVIEW("Possible duplicate")
# 7. Wash sale check (if sale)
if order.is_sale and potential_wash_sale():
return WARNING("Potential wash sale")
return APPROVED
Manual Review Required:
- Large orders (>$100,000 or firm-defined threshold)
- Concentrated positions (>20% of account)
- Illiquid securities
- Complex options strategies
- Customer-requested limit prices far from market
- Pattern day trading (4+ day trades in 5 days)
POST-TRADE REVIEW
Daily Trade Review Process
TIMING: All trades reviewed by registered principal within 24 hours (T+1)
Review Methodology:
1. Automated Surveillance:
SYSTEM GENERATES EXCEPTION REPORTS:
├─ Unsuitable trades
├─ Excessive trading
├─ Concentrated positions
├─ Pricing exceptions
├─ Options violations
├─ Margin violations
└─ Pattern day trading
2. Manual Review:
PRINCIPAL REVIEWS:
├─ All exception reports (100%)
├─ All options trades (100%)
├─ All margin trades (100%)
├─ Random sample of other trades (minimum 10%)
├─ All senior investor trades (65+) (100%)
├─ All new account trades (first 30 days) (100%)
3. Documentation:
# TRADE REVIEW LOG
Date: __________ Reviewer: __________
Total Trades Reviewed: _____
Exceptions Identified: _____
Exceptions Requiring Investigation: _____
EXCEPTIONS:
Trade_ID | Account | Security | Issue | Action_Taken
12345 | 67890 | XYZ | Concentration | Contacted customer, suitable
23456 | 78901 | CALL | Level violation | Error corrected, rep counseled
Reviewer Signature: __________ Date: ________
Trade Review Checklist
For Each Exception:
☐ Review customer account profile
☐ Investment objectives
☐ Risk tolerance
☐ Financial situation
☐ Investment experience
☐ Review trade details
☐ Security type
☐ Quantity
☐ Price
☐ Trade date/time
☐ Solicited vs. unsolicited
☐ Review account history
☐ Similar prior trades
☐ Overall strategy
☐ Account performance
☐ Contact registered representative
☐ Rationale for recommendation
☐ Customer circumstances
☐ Suitability analysis
☐ Customer understanding
☐ Contact customer (if needed)
☐ Confirm trade authorized
☐ Confirm understanding of risks
☐ Confirm consistent with objectives
☐ Determine action
☐ Approve as suitable
☐ Require additional information
☐ Reverse trade (if possible)
☐ Restrict account
☐ Counsel representative
☐ Escalate to compliance
☐ Document decision with reasoning
SUITABILITY ANALYSIS
Suitability Requirements (FINRA Rule 2111)
Three Components:
1. REASONABLE-BASIS SUITABILITY:
Question: Is this security suitable for SOME investors?
Analysis:
├─ Understand the product
├─ Understand the risks
├─ Understand the rewards
├─ Understand the costs
└─ Determine if ANY customer profile exists for whom product is suitable
Applies to: Every recommended security
Required: Before making ANY recommendations
2. CUSTOMER-SPECIFIC SUITABILITY:
Question: Is this security suitable for THIS customer?
Analysis:
├─ Customer's investment profile
│ ├─ Age
│ ├─ Financial situation (income, net worth, liquidity)
│ ├─ Tax status
│ ├─ Investment objectives
│ ├─ Risk tolerance
│ ├─ Time horizon
│ ├─ Liquidity needs
│ ├─ Investment experience
│ └─ Other relevant factors
├─ Security characteristics
├─ Match customer profile to security
└─ Document analysis
Applies to: Every recommendation to a specific customer
Required: Before making recommendation
3. QUANTITATIVE SUITABILITY (Churning):
Question: Is the OVERALL trading activity suitable for this customer?
Analysis:
├─ Turnover ratio
├─ Cost-to-equity ratio
├─ Trading frequency
├─ In-and-out trading
├─ Control over account
└─ Representative's intent
Applies to: Overall account activity
Required: Ongoing monitoring
Suitability Scoring System
Automated Suitability Score (0-100):
def calculate_suitability_score(customer, security):
"""
Calculates suitability score for a specific trade
Returns score 0-100 (60+ = suitable)
"""
score = 100
# Age factor
if customer.age >= 65:
if security.risk_level == "HIGH":
score -= 20
elif security.risk_level == "MEDIUM":
score -= 10
# Financial situation
if security.minimum_investment > customer.liquid_net_worth * 0.10:
score -= 15 # Position >10% of liquid net worth
# Risk tolerance match
risk_match = {
("CONSERVATIVE", "HIGH"): -30,
("CONSERVATIVE", "MEDIUM"): -15,
("MODERATE", "HIGH"): -10,
("AGGRESSIVE", "LOW"): -5
}
score += risk_match.get((customer.risk_tolerance, security.risk_level), 0)
# Experience factor
if security.complexity == "COMPLEX":
if customer.years_experience < 2:
score -= 25
elif customer.years_experience < 5:
score -= 10
# Objective match
if security.objective not in customer.objectives:
score -= 20
# Liquidity needs
if customer.liquidity_needs == "HIGH" and security.liquidity == "LOW":
score -= 20
# Time horizon
if customer.time_horizon == "SHORT" and security.time_horizon == "LONG":
score -= 15
return max(0, score) # Floor at 0
Score Interpretation:
80-100: HIGHLY SUITABLE (green)
60-79: SUITABLE (yellow)
40-59: QUESTIONABLE (orange) - requires principal review
0-39: UNSUITABLE (red) - requires principal approval & documentation
CHURNING DETECTION
Churning Indicators
DEFINITION: Excessive trading in customer account to generate commissions, inconsistent with customer's investment profile and objectives
ELEMENTS:
- Control (formal or de facto)
- Excessive trading
- Scienter (intent to defraud)
Quantitative Tests
TEST 1: Turnover Ratio
FORMULA: Cost of Purchases / Average Account Equity
Turnover = Total Purchases in Period / Average Account Value
THRESHOLDS:
• <2.0: Generally acceptable
• 2.0-6.0: Requires review, may be suitable depending on customer
• 6.0-12.0: Presumptively excessive, requires strong justification
• >12.0: Highly excessive, likely churning
Example:
Customer Account Value: $100,000 (average)
Total Purchases (1 year): $600,000
Turnover Ratio: $600,000 / $100,000 = 6.0
Analysis: Borderline excessive. Review customer:
• Objectives: If "aggressive growth," may be suitable
• Risk tolerance: If "aggressive," may be suitable
• Experience: If sophisticated trader, may be suitable
• Authorization: If customer directing trades, may be suitable
• Performance: If profitable, may indicate customer satisfaction
Decision: Requires documented review and justification
TEST 2: Cost-to-Equity Ratio
FORMULA: Total Costs / Average Account Equity × 100
Costs = Commissions + Markups/Markdowns + Fees
THRESHOLDS:
• <10%: Generally acceptable
• 10-20%: Requires review
• 20-30%: Presumptively excessive
• >30%: Highly excessive, likely churning
Example:
Average Account Value: $100,000
Annual Commissions: $25,000
Annual Fees: $1,000
Total Costs: $26,000
Cost-to-Equity: ($26,000 / $100,000) × 100 = 26%
Analysis: Presumptively excessive. Account must earn 26% just to break even. Unlikely to be suitable for any customer profile.
Red Flag: Likely churning. Immediate investigation required.
TEST 3: Holding Period Analysis
AVERAGE HOLDING PERIOD: Total Days Held / Number of Positions
Example:
• 50 trades in year
• Average holding period: 7 days
Analysis: Extremely short holding periods suggest churning, especially if:
• Customer objective is "long-term growth"
• Customer risk tolerance is "conservative" or "moderate"
• Customer is elderly or inexperienced
• Account is losing money
Red Flag: In-and-out trading pattern
Churning Investigation Procedure
STEP 1: Automated Detection (Daily)
def detect_churning(account_id, period_days=365):
"""
Daily churning surveillance
"""
# Calculate metrics
turnover = calculate_turnover_ratio(account_id, period_days)
cost_to_equity = calculate_cost_to_equity(account_id, period_days)
avg_holding = calculate_avg_holding_period(account_id, period_days)
# Risk classification
if turnover > 12 or cost_to_equity > 30:
risk = "CRITICAL"
action = "IMMEDIATE_REVIEW_REQUIRED"
notify = ["CCO", "Branch Manager", "Supervising Principal"]
elif turnover > 6 or cost_to_equity > 20:
risk = "HIGH"
action = "INVESTIGATION_REQUIRED"
notify = ["Branch Manager", "Supervising Principal"]
elif turnover > 2 or cost_to_equity > 10:
risk = "MODERATE"
action = "ENHANCED_REVIEW"
notify = ["Supervising Principal"]
else:
risk = "LOW"
action = "ROUTINE_MONITORING"
notify = []
return {
"risk_level": risk,
"action": action,
"notify": notify,
"metrics": {
"turnover": turnover,
"cost_to_equity": cost_to_equity,
"avg_holding_days": avg_holding
}
}
STEP 2: Investigation (Within 2 Business Days)
# CHURNING INVESTIGATION
Account: __________ Representative: __________
Investigation Date: __________ Investigator: __________
QUANTITATIVE ANALYSIS:
Turnover Ratio: ____ (Threshold: <2.0 OK, 2-6 Review, 6-12 High, >12 Critical)
Cost-to-Equity: ____% (Threshold: <10% OK, 10-20% Review, 20-30% High, >30% Critical)
Avg Holding Period: ____ days
CUSTOMER PROFILE:
Age: ____
Objectives: ☐ Growth ☐ Aggressive Growth ☐ Income ☐ Preservation
Risk Tolerance: ☐ Conservative ☐ Moderate ☐ Aggressive
Experience: ____ years
Net Worth: $__________
CONTROL ANALYSIS:
Account Type: ☐ Non-Discretionary ☐ Discretionary
Trading Initiation: ☐ Rep recommended ☐ Customer directed
Representative Relationship: ☐ Trust ☐ Reliance ☐ Sophisticated customer
SUITABILITY ANALYSIS:
☐ Trading consistent with objectives
☐ Trading consistent with risk tolerance
☐ Customer has ability to sustain costs
☐ Customer understanding of strategy
☐ Account performance: ____%
CUSTOMER CONTACT:
Date Contacted: __________
Customer Response: _______________________________
Customer Satisfied: ☐ Yes ☐ No ☐ Concerns expressed
FINDINGS:
☐ No churning - activity suitable for customer profile
☐ Borderline - enhanced monitoring required
☐ Churning suspected - immediate action required
ACTION TAKEN:
☐ No action - continue monitoring
☐ Counsel representative
☐ Restrict account
☐ Transfer to another representative
☐ Close account
☐ Refund commissions
☐ Report to regulatory authorities
Investigator: __________ Date: __________
CCO Review: __________ Date: __________
OPTIONS SUPERVISION
Daily Options Review
100% OPTIONS TRADE REVIEW REQUIRED
Review Checklist:
☐ Options approval current (account and level)
☐ Options agreement signed
☐ Strategy within approved level
☐ Adequate buying power/margin
☐ Position limits not exceeded
☐ Suitability appropriate
☐ Pricing reasonable
☐ Concentrated position review
☐ Naked positions adequately margined
Options Suitability
Special Suitability Factors:
NAKED CALL WRITING:
├─ Unlimited risk - requires highest suitability standards
├─ Minimum requirements:
│ ├─ Annual income: $100,000+
│ ├─ Liquid net worth: $250,000+
│ ├─ Options experience: 2+ years
│ ├─ Demonstrated understanding
│ └─ Risk tolerance: Aggressive
├─ Position limits enforced
└─ Daily monitoring required
🖤🛣️ BlackRoad OS, Inc. Trading Compliance & Supervision Playbook Version 1.0 | January 2026