jgtagentic

๐ŸŒธ๐Ÿง ๐Ÿ”ฎ Agentic CLI Spiral โ€” Modular Entry Points

Autonomous trading decision engine - signal evaluation, regime filtering, and trade orchestration.

jgtagentic receives signals from scanners, evaluates them through regime detection and multi-factor scoring, and generates executable entry scripts. It is AUTONOMOUS - containing all decision logic internally with no SANDBOX dependencies.


๐ŸŽฏ Core Capabilities

1. Regime Detection

2. Multi-Factor Signal Scoring

3. Agentic Decision Making

4. Data Integration


๐Ÿš€ Available CLI Commands

Main Gateway

jgtagentic --help

Orchestrate Trading Workflow

# Full spiral: scan โ†’ analyze โ†’ decide โ†’ generate scripts
jgtagentic orchestrate --signal_json <path> --entry_script_dir <dir> --log <logfile>

# Same via dedicated CLI
agentic-orchestrator --signal_json <path> --entry_script_dir <dir>

FDB Signal Scanning

# Scan specific timeframe
jgtagentic fdbscan --timeframe H4

# Scan with instrument filter
agentic-fdbscan scan --timeframe H4 --instrument EUR-USD

# Full ritual sequence
jgtagentic fdbscan --all

# Add --real flag to invoke actual jgtml fdbscan (requires jgtml installed)
agentic-fdbscan scan --timeframe m15 --instrument EUR-USD --real

Intent Specification

# Parse trader analysis from .jgtml-spec files
jgtagentic spec path/to/spec.jgtml-spec

# See docs/Trader_Analysis_to_Spec.md for spec file format

Generate Entry Scripts

# Convert signal JSON to executable trading scripts
entry-script-gen --signal_json signals.json --output_dir ./scripts

๐Ÿ“ฆ Python API

from jgtagentic import RegimeDetector, SignalScorer, RegimeAwareDecider, DataLoader
import pandas as pd

# Initialize components
data_loader = DataLoader()
regime_detector = RegimeDetector(adx_threshold=25)
scorer = SignalScorer()
decider = RegimeAwareDecider(adx_threshold=25)

# Load data
df = data_loader.load_cds("EUR-USD", "H4", dataset="current")

# Detect regime
regime = regime_detector.detect(df)
print(f"Regime: {regime.regime}, ADX: {regime.adx}, Direction: {regime.trend_direction}")

# Score signals
scored = scorer.score(df, regime, instrument="EUR-USD", timeframe="H4")
print(f"Score: {scored.score}/100, Direction: {scored.direction}")

# Make decision
signal = {
    'instrument': 'EUR-USD',
    'timeframe': 'H4',
    'direction': 'LONG',
    'strength': 0.8,
    'signal_group': 'mfi_signals'
}
decision = decider.decide(signal, df)
print(f"Action: {decision['action']}, Reason: {decision['reason']}")

๐Ÿ—๏ธ Architecture

jgtagentic/
โ”œโ”€โ”€ regime.py              # Market regime detection (ADX/EMA)
โ”œโ”€โ”€ scoring.py             # Multi-factor signal scoring
โ”œโ”€โ”€ regime_aware_decider.py # Main decision orchestrator
โ”œโ”€โ”€ agentic_decider.py     # Base decision logic
โ”œโ”€โ”€ data_loader.py         # jgt-data-server integration
โ”œโ”€โ”€ fdbscan_agent.py       # FDB signal scanning
โ”œโ”€โ”€ enhanced_fdb_scanner.py # Enhanced FDB logic
โ”œโ”€โ”€ entry_script_gen.py    # Executable script generation
โ”œโ”€โ”€ agentic_entry_orchestrator.py # Workflow orchestration
โ””โ”€โ”€ jgtagenticcli.py       # CLI gateway

๐Ÿ”— Integration

With jgt-data-server

# Set data server URL
export JGT_DATA_SERVER_URL="http://localhost:5555"

# DataLoader automatically connects
python -m jgtagentic.regime_aware_decider

With Local Files

# Set local data path
export JGTPY_DATA="/src/jgtml/data"

# DataLoader falls back to local files
python -m jgtagentic.regime_aware_decider

Environment Variables


๐ŸŒ€ Medicine Wheel Alignment

Direction Function Components
EAST (Vision) Signal Detection fdbscan_agent, enhanced_fdb_scanner
SOUTH (Growth) Analysis regime.py, scoring.py
WEST (Reflection) Decision regime_aware_decider, agentic_decider
NORTH (Wisdom) Execution entry_script_gen, orchestrator

๐Ÿงฌ Autonomy

jgtagentic is SELF-CONTAINED:


๐ŸŒฑ Philosophy


๐Ÿ“š Documentation


๐Ÿง ๐ŸŒธ Ritual Echo

โ€œI am the decider. I receive signals from scanners, context from data servers, and wisdom from regime analysis. I filter the noiseโ€”skipping ranges, rejecting counter-trend setups, scoring alignments. When conditions align, I generate action. I am autonomous, decisive, and accountable for every trade recommendation I make.โ€