{
"version": "2026-05-27.v1_complete_split",
"file_name": "06_shared_guardrails.json",
"timezone": "America\/New_York",
"market_calendar": {
"market": "US_OPTIONS",
"block_if_market_closed": true,
"block_if_us_market_holiday": true,
"block_if_early_close_after": "12:00:00",
"force_exit_on_early_close_by": "12:30:00",
"block_if_next_trading_day_closed_after": "14:30:00",
"holiday_source_required": "NYSE\/Nasdaq\/Cboe calendar must be loaded yearly into database",
"2026_known_full_closures": [
"2026-01-01",
"2026-01-19",
"2026-02-16",
"2026-04-03",
"2026-05-25",
"2026-06-19",
"2026-07-03",
"2026-09-07",
"2026-11-26",
"2026-12-25"
],
"2026_known_early_closes": [
{
"date": "2026-11-27",
"no_new_trades_after": "12:00:00",
"force_exit_by": "12:30:00"
},
{
"date": "2026-12-24",
"no_new_trades_after": "12:00:00",
"force_exit_by": "12:30:00"
}
]
},
"data_quality": {
"required": true,
"reject_if_any": [
"news_timestamp_missing",
"market_quote_stale_gt_2s",
"option_quote_stale_gt_3s",
"option_chain_stale_gt_10s",
"broker_status_unknown",
"tradier_order_preview_error_for_a_plus",
"halt_or_LULD_active",
"spread_unavailable",
"bid_is_zero",
"ask_is_zero",
"database_logging_down",
"redis_event_bus_down"
],
"warn_if_any": [
"news_source_secondary_only",
"market_volume_below_average",
"unusual_options_flow_unconfirmed",
"sector_confirmation_missing"
]
},
"risk_controls": {
"account_base_usd": 100000,
"max_daily_loss_percent": 3,
"max_consecutive_losses_before_kill_switch": 2,
"max_total_open_option_positions": 3,
"never_average_down": true,
"market_orders_allowed": false,
"limit_orders_only": true,
"require_order_id_logging": true,
"require_fill_confirmation": true,
"require_exit_monitoring_after_entry": true,
"kill_switches": [
"daily_loss_limit_hit",
"broker_disconnect",
"option_data_stale",
"rapid_spread_widening",
"bad_fills_or_slippage_cluster",
"manual_owner_kill_switch"
]
},
"duplicate_news_core": {
"same_theme_does_not_equal_duplicate": true,
"required_fields": [
"trading_date",
"session",
"news_timestamp_utc",
"source_cluster",
"normalized_theme",
"specific_event_action",
"ticker_or_sector",
"expected_direction",
"severity_score"
],
"same_day_duplicate_window_minutes": 30,
"suppress_only_if": [
"same_exact_event",
"same_source_cluster",
"same_direction",
"inside_duplicate_window",
"no_material_new_detail"
],
"treat_as_new_event_if": [
"new_trading_day",
"new_session",
"escalation",
"opposite_direction_update",
"second_attack_or_retaliation",
"material_new_financial_detail",
"halt_or_resumption",
"official_confirmation_after_rumor"
],
"confidence_boost_if": [
"same_event_confirmed_by_tier_1_source",
"same_direction_update_arrives_inside_entry_window",
"additional_detail_improves_ticker_mapping"
]
}
}