📄 Platform Documentation
EGC Risk Platform Specification
🗄️ Data Sources
⚖️ Risk Limit Configuration
Portfolio Limits
Gross Exposure
Maximum total gross exposure (|longs| + |shorts|) as % of NAV
Max
%
Target
%
↑ Breach above max
Net Exposure
Maximum net market exposure (longs − shorts) as % of NAV, absolute value
Max |Net|
%
Target
%
↑↓ Breach above |max|
Position Limits
Single Position Weight
Maximum individual position size as % of NAV (gross, absolute value)
Max |Weight|
%
↑↓ Breach above |max|
Top 5 Gross Concentration
Maximum combined gross weight of top 5 positions as % of NAV
Max
%
↑ Breach above max
Risk Factor Limits
Net Sector Beta
Maximum net beta exposure per sector ETF (absolute value)
Max |Net Beta|
Target
↑↓ Breach above |max|
ADV Coverage
Maximum position size as % of 60-day average daily volume
Max ADV %
%
↑ Breach above max
Excluded Tickers (Concentration Analysis)
These tickers are excluded from position concentration calculations (equity ETFs / benchmark products).
QQQ
XLE
XLF
SPY
IWM
SMH
XLP
XLK
XLV
XLI
XLB
XLRE
XLU
XLC
EEM
EFA
VTI
IJR
MDY
DIA
20 tickers
🧠 Intelligence Module — API Keys
These keys enable various platform features. Keys are saved to
.env and loaded on next app restart.
API Key Usage Reference
| Key | Status | Used By |
|---|---|---|
| ANTHROPIC_API_KEY | ✓ Set | Pre-Open Memo, Pre-Close Memo, Synthesize, Research Assistant, Thematic Research (all stages) |
| OPENAI_API_KEY | ✓ Set | Embeddings (semantic search), Podcast transcription (Whisper), Thematic Research (Stage 7 adversarial review) |
| TAVILY_API_KEY | ✓ Set | Thematic Research (Stage 2 landscape web search, Stage 4 company screening) |
| X_BEARER_TOKEN | ✓ Set | X Intelligence — tweet ingestion & account tracking |
| FRED_API_KEY | ✓ Set | Macro Dashboard — interest rate history, yield curves |
| TE_API_KEY | – Optional | Macro Dashboard — FOMC rate probabilities, economic calendar |
| HF_TOKEN | – Optional | Podcast Intelligence — advanced speaker diarization (pyannote) |
Update keys below — enter only the keys you want to change.
Used for text-embedding-3-small and audio transcription via Whisper API.
Required for Twitter/X account ingestion. Get at developer.twitter.com.
Used by pyannote for speaker diarization in podcast transcription.
Required for macro interest-rate data. Free at
fred.stlouisfed.org.
Used for FOMC rate probabilities and economic calendar backup. Get at
tradingeconomics.com/api.
Powers live web search in Thematic Research (Stages 2 & 4). Free tier: 1,000 searches/mo.
Get at tavily.com.
Twitter / X — Historical Tweet Limit
Max tweets to fetch per account on first ingest. Incremental runs only pull tweets since the last stored ID,
so this only affects the initial backfill. Keep low to preserve X API credits
(free tier ≈ 10 reads/month; Basic tier ≈ 100/month).
tweets per account (5 – 100)
Tweet References in Synthesis & Research Queries
How many semantically-matched tweets to include when answering questions in the Synthesize tool.
Higher = more tweet signal, but also more noise if handles aren't yet scored for relevance.
tweets in synthesis (0 – 20)
Tweet References in Risk Memos
How many tweets to inject into the Pre-Open and Pre-Close memo context (Block 6 — Intelligence Signals).
Set to 0 to disable. Tweets are selected by semantic similarity to an energy/risk query.
tweets in memos (0 – 10)
✉️ Email Configuration
Press Enter or comma to add an address. Click × to remove.
will@energygroupcapital.com
geoff@energygroupcapital.com
2 recipients
Cloud Scheduler fires
POST /api/scheduler/send_preopen_memo at this time.
Cloud Scheduler fires
POST /api/scheduler/send_preclose_memo at this time.
Sender: will@energygroupcapital.com
🕐 Ingest & Memo Schedules
Schedules run via Cloud Scheduler hitting the endpoints below.
Timezone: America/Los_Angeles ·
Pre-Open: 05:45 ·
Pre-Close: 13:15
"Run Now" fires the endpoint immediately (same as Cloud Scheduler would). Pre-Open Send will generate the memo if not yet cached for today.
🤖 AI Prompt Templates
These prompts are sent to Claude when generating each memo type. Edit to customise the structure, tone, or sections. Changes take effect on the next memo generation.
Pre-Open Memo Prompt
Used for the morning pre-open briefing (end-of-day positions from BigQuery).
Pre-Close Memo Prompt
Used for the intraday pre-close briefing (live IBKR snapshot positions).