๐๏ธ Core Pillar V: Unified Action Terminal & Research Infra: Building the Single Source of Truth for V7.2#
Release Version: v7.1.7 - v7.1.9
Core Components:templates/trade.html,dashboard.py,templates/tools.html,data/research_cache.json
Tags:Unified TerminalยทSingle Source of TruthยทResearch Cacheยทyfinance BULK Prefetching
๐ Introduction: Resolving Heterogeneous Information & Eliminating Decision Conflicts#
In complex multi-engine quantitative trading systems, a frequent friction point is cross-view decision inconsistency: the daily scanner outputs ADD, the rebalance filter tags HOLD, while the 1H tactical timeframe signals WATCH. Tiny discrepancies across UI panels increase cognitive load and trigger trading hesitation.
During v7.1.7 to v7.1.9, Trade OS engineered the V6.5 Unified Action Terminal as the single source of truth for execution directives, paired with an enhanced Tactical Research Library and BULK Concurrent Data Infrastructure.
๐๏ธ I. Unified Action Terminal & Multi-Engine Cross-Arbitration API#
The Unified Action Terminal seamlessly integrates daily scanner alerts, 1H tactical signals, and rebalance states at the top of templates/trade.html.
1.1 Dynamic Arbitration API (/api/unified_recommendations)#
In dashboard.py, the backend exposes a cross-arbitration endpoint:
# Cross-arbitration API endpoint (dashboard.py)
@app.route('/api/unified_recommendations')
def unified_recommendations():
# Dynamically query asset roles (CORE/SWING/REGIME/TRADE)
# Arbitrate signals across Daily Scanner, Hourly Analyzer, and Rebalance Filter
action, reason = arbitrate_multi_engine_signals(ticker)
return jsonify({
"ticker": ticker,
"action": action, # BUY / ADD / TRIM / EXIT / HOLD / WATCH
"reason": reason # Direct transparent explanation from decision chain
}) โโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Daily Scanner Signal โ
โโโโโโโโโโโโโโฌโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโ โผ โโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Rebalance Advisory Filterโโโโบ [ Cross-Arbitration ]โโโโค 1H Tactical Engine โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Action: BUY / ADD / EXIT โ
โ Single Source of Truth โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโThis endpoint eliminates contradictions across different UI perspectives, delivering self-consistent and fully explained execution recommendations.
๐ II. Tactical Research Library Panel & Dynamic Position Alignment#
In templates/tools.html, the system deployed the upgraded Tactical Research Library panel.
2.1 100% Fundamental Coverage & Offline Persistent Caching#
For 14 positions and watchlist tickers previously lacking fundamental research cards (including VXC.TO, BRK.TO, XLF, IBIT.NE, VDY.TO, COST.TO), full research profiles were completed and saved persistently into data/research_cache.json.
- Fundamental Drawer: Dropdown selector to view real-time 3+1 scores, core taxonomy, moat metrics, YoY financials, and catalyst events.
- Dynamic Decision Snapshot Binding: Research cards query
/api/tactical/<ticker>to render daily market cycle phases (P0-P5) and anti-FOMO adjustment logs (e.g.๐ข ADDdirective forCOIN.TO). - Micro-Deviation Matrix: Real-time
yfinancequeries compute SMA 20/50/200 price deviations and 90-day extreme band divergences.
๐ฅ III. BULK Price Data Prefetching & API Rate-Limit Defense#
During full-universe scans or monthly performance report generation, high-frequency yfinance API calls risk provider rate limiting or temporary IP blocks.
# BULK K-line prefetching mechanism (monthly_performance_report.py / v6_daily_scanner.py)
BULK_PRICES = {}
def prefetch_all_kline_data(tickers):
# Parallel batch download for all universe tickers on system startup
bulk_df = yf.download(tickers, period="1y", group_by="ticker", threads=True)
for t in tickers:
BULK_PRICES[t] = bulk_df[t]This infrastructure upgrade shifts downstream scanner operations to in-memory caches, reducing scan latency by over 60% and eliminating timeout deadlocks.
๐ก Summary & Architectural Significance#
The Unified Action Terminal and Research Infra constitute the data foundation and human-agent interface of Trade OS. It delivers zero-latency, conflict-free control for the trader while providing robust underlying infrastructure for the automated quantitative engine.