Market Decision Feed

Administration panel — manage clients and configure settings.

Checking service status...

Register New Client

Unique identifier for the client. Letters, numbers, hyphens.
Weekly briefing reports will be sent here. Client can also set this in the portal.

Registered Clients

Loading...

Service Settings

TCP port for the FastAPI backend. Default: 8765. Restart required after change.

API Keys

Anthropic API key for AI-powered briefing generation. Starts with sk-ant-
Fallback market data source when WorldMonitor is unavailable. Free tier: 60 calls/min. Also used for historical candle data.
Secondary fallback for market data. Free tier: 25 requests/day. Optional when WorldMonitor and Finnhub are configured.

WorldMonitor Financial

Primary market data source and geopolitical intelligence provider. When enabled, WorldMonitor supplies real-time stock quotes (Finnhub), index levels (Yahoo Finance), economic indicators (FRED), crypto prices (CoinGecko), and enriches the briefing with geopolitical risk data.
Base URL for the WorldMonitor API. Include /api at the end. Use 127.0.0.1 when running on the same Synology NAS.
When disabled, falls back to direct Finnhub/Alpha Vantage API calls for market data.
X-WorldMonitor-Key header value. Generate one in WorldMonitor's WORLDMONITOR_VALID_KEYS env var.
Seconds per request. Default: 15. Increase if WorldMonitor is on a remote host.
Retry count on transient failures. Default: 2.
Opus produces richer analysis for the enhanced 12-section report. Sonnet is faster and cheaper for the standard 7-section report.

Encryption

Encrypts uploaded portfolio files at rest. Auto-generated during install if blank.

CORS allow-list

Comma-separated list of web origins permitted to call this API cross-origin. Leave empty for typical SPK installs (admin UI is same-origin). Set when fronting this API with a separate web origin (e.g. https://www.tecnecon.com,https://tecnecon.com,https://api.tecnecon.com). Wildcards are rejected. Restart the package after changing.

Email / SMTP Settings

STARTTLS upgrades to TLS after connecting. SSL/TLS connects encrypted from the start.
OAuth2 uses Azure AD app credentials — required when Security Defaults block basic auth.
Email address of the sending mailbox.
Used with Basic auth only.
Sender address for weekly briefing emails. Must match SMTP_USER for Microsoft 365.
Sends a real test message to verify end-to-end delivery (check spam folder too).

Service Information

StatusChecking...
Backend URL
Config File/var/packages/MarketDecisionFeed/target/config/.env
Log File/var/packages/MarketDecisionFeed/target/logs/backend.log
Database/var/packages/MarketDecisionFeed/target/backend/clients.db
Uploads/var/packages/MarketDecisionFeed/target/uploads/

Client Upload URL

After registering a client, share this upload URL with their token:
Clients POST to /api/upload-portfolio with their session token in the Authorization header.

Upload Portfolio CSV

Upload a portfolio CSV file for a client. The file will be encrypted and stored. Required columns: symbol, weight (or shares). Optional: sector, region, name.

Generate Briefing Now

Run the full analytics and briefing pipeline for a client immediately. The latest uploaded portfolio file will be used.

The generated briefing will be emailed to this address.
Running analytics pipeline... This may take a few minutes.

Automatic Scheduler

StatusLoading...
Schedule--
Next Run--
Last Run--
Last Result--

Briefing Schedule

Briefings are generated every Monday at 6:00 AM. The calendar below highlights upcoming briefing dates.

Upcoming Briefings