mirror of
https://github.com/koala73/worldmonitor.git
synced 2026-04-25 17:14:57 +02:00
310 lines
16 KiB
TypeScript
310 lines
16 KiB
TypeScript
// Finance/Trading variant - finance.worldmonitor.app
|
|
import type { PanelConfig, MapLayers } from '@/types';
|
|
import type { VariantConfig } from './base';
|
|
|
|
// Re-export base config
|
|
export * from './base';
|
|
|
|
// Finance-specific exports
|
|
export * from '../finance-geo';
|
|
|
|
// Re-export feeds infrastructure
|
|
export {
|
|
SOURCE_TIERS,
|
|
getSourceTier,
|
|
SOURCE_TYPES,
|
|
getSourceType,
|
|
getSourcePropagandaRisk,
|
|
type SourceRiskProfile,
|
|
type SourceType,
|
|
} from '../feeds';
|
|
|
|
// Finance-specific FEEDS configuration
|
|
import type { Feed } from '@/types';
|
|
import { rssProxyUrl } from '@/utils';
|
|
|
|
const rss = rssProxyUrl;
|
|
|
|
export const FEEDS: Record<string, Feed[]> = {
|
|
// Core Markets & Trading News (all free RSS / Google News proxies)
|
|
markets: [
|
|
{ name: 'CNBC', url: rss('https://www.cnbc.com/id/100003114/device/rss/rss.html') },
|
|
{ name: 'MarketWatch', url: rss('https://news.google.com/rss/search?q=site:marketwatch.com+markets+when:1d&hl=en-US&gl=US&ceid=US:en') },
|
|
{ name: 'Yahoo Finance', url: rss('https://finance.yahoo.com/rss/topstories') },
|
|
{ name: 'Seeking Alpha', url: rss('https://seekingalpha.com/market_currents.xml') },
|
|
{ name: 'Reuters Markets', url: rss('https://news.google.com/rss/search?q=site:reuters.com+markets+stocks+when:1d&hl=en-US&gl=US&ceid=US:en') },
|
|
{ name: 'Bloomberg Markets', url: rss('https://news.google.com/rss/search?q=site:bloomberg.com+markets+when:1d&hl=en-US&gl=US&ceid=US:en') },
|
|
{ name: 'Investing.com', url: rss('https://news.google.com/rss/search?q=site:investing.com+markets+when:1d&hl=en-US&gl=US&ceid=US:en') },
|
|
{ name: 'Nikkei Asia', url: rss('https://news.google.com/rss/search?q=site:asia.nikkei.com+markets+when:3d&hl=en-US&gl=US&ceid=US:en') },
|
|
],
|
|
|
|
// Forex & Currencies
|
|
forex: [
|
|
{ name: 'Forex News', url: rss('https://news.google.com/rss/search?q=("forex"+OR+"currency"+OR+"FX+market")+trading+when:1d&hl=en-US&gl=US&ceid=US:en') },
|
|
{ name: 'Dollar Watch', url: rss('https://news.google.com/rss/search?q=("dollar+index"+OR+DXY+OR+"US+dollar"+OR+"euro+dollar")+when:2d&hl=en-US&gl=US&ceid=US:en') },
|
|
{ name: 'Central Bank Rates', url: rss('https://news.google.com/rss/search?q=("central+bank"+OR+"interest+rate"+OR+"rate+decision"+OR+"monetary+policy")+when:2d&hl=en-US&gl=US&ceid=US:en') },
|
|
],
|
|
|
|
// Fixed Income & Bonds
|
|
bonds: [
|
|
{ name: 'Bond Market', url: rss('https://news.google.com/rss/search?q=("bond+market"+OR+"treasury+yields"+OR+"bond+yields"+OR+"fixed+income")+when:2d&hl=en-US&gl=US&ceid=US:en') },
|
|
{ name: 'Treasury Watch', url: rss('https://news.google.com/rss/search?q=("US+Treasury"+OR+"Treasury+auction"+OR+"10-year+yield"+OR+"2-year+yield")+when:2d&hl=en-US&gl=US&ceid=US:en') },
|
|
{ name: 'Corporate Bonds', url: rss('https://news.google.com/rss/search?q=("corporate+bond"+OR+"high+yield"+OR+"investment+grade"+OR+"credit+spread")+when:3d&hl=en-US&gl=US&ceid=US:en') },
|
|
],
|
|
|
|
// Commodities & Futures
|
|
commodities: [
|
|
{ name: 'Oil & Gas', url: rss('https://news.google.com/rss/search?q=(oil+price+OR+OPEC+OR+"natural+gas"+OR+"crude+oil"+OR+WTI+OR+Brent)+when:1d&hl=en-US&gl=US&ceid=US:en') },
|
|
{ name: 'Gold & Metals', url: rss('https://news.google.com/rss/search?q=(gold+price+OR+silver+price+OR+copper+OR+platinum+OR+"precious+metals")+when:2d&hl=en-US&gl=US&ceid=US:en') },
|
|
{ name: 'Agriculture', url: rss('https://news.google.com/rss/search?q=(wheat+OR+corn+OR+soybeans+OR+coffee+OR+sugar)+price+OR+commodity+when:3d&hl=en-US&gl=US&ceid=US:en') },
|
|
{ name: 'Commodity Trading', url: rss('https://news.google.com/rss/search?q=("commodity+trading"+OR+"futures+market"+OR+CME+OR+NYMEX+OR+COMEX)+when:2d&hl=en-US&gl=US&ceid=US:en') },
|
|
],
|
|
|
|
// Crypto & Digital Assets
|
|
crypto: [
|
|
{ name: 'CoinDesk', url: rss('https://www.coindesk.com/arc/outboundfeeds/rss/') },
|
|
{ name: 'Cointelegraph', url: rss('https://cointelegraph.com/rss') },
|
|
{ name: 'The Block', url: rss('https://news.google.com/rss/search?q=site:theblock.co+when:1d&hl=en-US&gl=US&ceid=US:en') },
|
|
{ name: 'Crypto News', url: rss('https://news.google.com/rss/search?q=(bitcoin+OR+ethereum+OR+crypto+OR+"digital+assets")+when:1d&hl=en-US&gl=US&ceid=US:en') },
|
|
{ name: 'DeFi News', url: rss('https://news.google.com/rss/search?q=(DeFi+OR+"decentralized+finance"+OR+DEX+OR+"yield+farming")+when:3d&hl=en-US&gl=US&ceid=US:en') },
|
|
],
|
|
|
|
// Central Banks & Monetary Policy
|
|
centralbanks: [
|
|
{ name: 'Federal Reserve', url: rss('https://www.federalreserve.gov/feeds/press_all.xml') },
|
|
{ name: 'ECB Watch', url: rss('https://news.google.com/rss/search?q=("European+Central+Bank"+OR+ECB+OR+Lagarde)+monetary+policy+when:3d&hl=en-US&gl=US&ceid=US:en') },
|
|
{ name: 'BoJ Watch', url: rss('https://news.google.com/rss/search?q=("Bank+of+Japan"+OR+BoJ)+monetary+policy+when:3d&hl=en-US&gl=US&ceid=US:en') },
|
|
{ name: 'BoE Watch', url: rss('https://news.google.com/rss/search?q=("Bank+of+England"+OR+BoE)+monetary+policy+when:3d&hl=en-US&gl=US&ceid=US:en') },
|
|
{ name: 'PBoC Watch', url: rss('https://news.google.com/rss/search?q=("People%27s+Bank+of+China"+OR+PBoC+OR+PBOC)+when:7d&hl=en-US&gl=US&ceid=US:en') },
|
|
{ name: 'Global Central Banks', url: rss('https://news.google.com/rss/search?q=("rate+hike"+OR+"rate+cut"+OR+"interest+rate+decision")+central+bank+when:3d&hl=en-US&gl=US&ceid=US:en') },
|
|
],
|
|
|
|
// Economic Data & Indicators
|
|
economic: [
|
|
{ name: 'Economic Data', url: rss('https://news.google.com/rss/search?q=(CPI+OR+inflation+OR+GDP+OR+"jobs+report"+OR+"nonfarm+payrolls"+OR+PMI)+when:2d&hl=en-US&gl=US&ceid=US:en') },
|
|
{ name: 'Trade & Tariffs', url: rss('https://news.google.com/rss/search?q=(tariff+OR+"trade+war"+OR+"trade+deficit"+OR+sanctions)+when:2d&hl=en-US&gl=US&ceid=US:en') },
|
|
{ name: 'Housing Market', url: rss('https://news.google.com/rss/search?q=("housing+market"+OR+"home+prices"+OR+"mortgage+rates"+OR+REIT)+when:3d&hl=en-US&gl=US&ceid=US:en') },
|
|
],
|
|
|
|
// IPOs & Earnings
|
|
ipo: [
|
|
{ name: 'IPO News', url: rss('https://news.google.com/rss/search?q=(IPO+OR+"initial+public+offering"+OR+SPAC+OR+"direct+listing")+when:3d&hl=en-US&gl=US&ceid=US:en') },
|
|
{ name: 'Earnings Reports', url: rss('https://news.google.com/rss/search?q=("earnings+report"+OR+"quarterly+earnings"+OR+"revenue+beat"+OR+"earnings+miss")+when:2d&hl=en-US&gl=US&ceid=US:en') },
|
|
{ name: 'M&A News', url: rss('https://news.google.com/rss/search?q=("merger"+OR+"acquisition"+OR+"takeover+bid"+OR+"buyout")+billion+when:3d&hl=en-US&gl=US&ceid=US:en') },
|
|
],
|
|
|
|
// Derivatives & Options
|
|
derivatives: [
|
|
{ name: 'Options Market', url: rss('https://news.google.com/rss/search?q=("options+market"+OR+"options+trading"+OR+"put+call+ratio"+OR+VIX)+when:2d&hl=en-US&gl=US&ceid=US:en') },
|
|
{ name: 'Futures Trading', url: rss('https://news.google.com/rss/search?q=("futures+trading"+OR+"S%26P+500+futures"+OR+"Nasdaq+futures")+when:1d&hl=en-US&gl=US&ceid=US:en') },
|
|
],
|
|
|
|
// Fintech & Trading Technology
|
|
fintech: [
|
|
{ name: 'Fintech News', url: rss('https://news.google.com/rss/search?q=(fintech+OR+"payment+technology"+OR+"neobank"+OR+"digital+banking")+when:3d&hl=en-US&gl=US&ceid=US:en') },
|
|
{ name: 'Trading Tech', url: rss('https://news.google.com/rss/search?q=("algorithmic+trading"+OR+"trading+platform"+OR+"quantitative+finance")+when:7d&hl=en-US&gl=US&ceid=US:en') },
|
|
{ name: 'Blockchain Finance', url: rss('https://news.google.com/rss/search?q=("blockchain+finance"+OR+"tokenization"+OR+"digital+securities"+OR+CBDC)+when:7d&hl=en-US&gl=US&ceid=US:en') },
|
|
],
|
|
|
|
// Regulation & Compliance
|
|
regulation: [
|
|
{ name: 'SEC', url: rss('https://www.sec.gov/news/pressreleases.rss') },
|
|
{ name: 'Financial Regulation', url: rss('https://news.google.com/rss/search?q=(SEC+OR+CFTC+OR+FINRA+OR+FCA)+regulation+OR+enforcement+when:3d&hl=en-US&gl=US&ceid=US:en') },
|
|
{ name: 'Banking Rules', url: rss('https://news.google.com/rss/search?q=(Basel+OR+"capital+requirements"+OR+"banking+regulation")+when:7d&hl=en-US&gl=US&ceid=US:en') },
|
|
{ name: 'Crypto Regulation', url: rss('https://news.google.com/rss/search?q=(crypto+regulation+OR+"digital+asset"+regulation+OR+"stablecoin"+regulation)+when:7d&hl=en-US&gl=US&ceid=US:en') },
|
|
],
|
|
|
|
// Institutional Investors
|
|
institutional: [
|
|
{ name: 'Hedge Fund News', url: rss('https://news.google.com/rss/search?q=("hedge+fund"+OR+"Bridgewater"+OR+"Citadel"+OR+"Renaissance")+when:7d&hl=en-US&gl=US&ceid=US:en') },
|
|
{ name: 'Private Equity', url: rss('https://news.google.com/rss/search?q=("private+equity"+OR+Blackstone+OR+KKR+OR+Apollo+OR+Carlyle)+when:3d&hl=en-US&gl=US&ceid=US:en') },
|
|
{ name: 'Sovereign Wealth', url: rss('https://news.google.com/rss/search?q=("sovereign+wealth+fund"+OR+"pension+fund"+OR+"institutional+investor")+when:7d&hl=en-US&gl=US&ceid=US:en') },
|
|
],
|
|
|
|
// GCC Business & Investment News
|
|
gccNews: [
|
|
{ name: 'Arabian Business', url: rss('https://news.google.com/rss/search?q=site:arabianbusiness.com+(Saudi+Arabia+OR+UAE+OR+GCC)+when:7d&hl=en-US&gl=US&ceid=US:en') },
|
|
{ name: 'The National', url: rss('https://news.google.com/rss/search?q=site:thenationalnews.com+(Abu+Dhabi+OR+UAE+OR+Saudi)+when:7d&hl=en-US&gl=US&ceid=US:en') },
|
|
{ name: 'Arab News', url: rss('https://news.google.com/rss/search?q=site:arabnews.com+(Saudi+Arabia+OR+investment+OR+infrastructure)+when:7d&hl=en-US&gl=US&ceid=US:en') },
|
|
{ name: 'Gulf FDI', url: rss('https://news.google.com/rss/search?q=(PIF+OR+"DP+World"+OR+Mubadala+OR+ADNOC+OR+Masdar+OR+"ACWA+Power")+infrastructure+when:7d&hl=en-US&gl=US&ceid=US:en') },
|
|
{ name: 'Gulf Investments', url: rss('https://news.google.com/rss/search?q=("Saudi+Arabia"+OR+"UAE"+OR+"Abu+Dhabi")+investment+infrastructure+when:7d&hl=en-US&gl=US&ceid=US:en') },
|
|
{ name: 'Vision 2030', url: rss('https://news.google.com/rss/search?q="Vision+2030"+(project+OR+investment+OR+announced)+when:14d&hl=en-US&gl=US&ceid=US:en') },
|
|
],
|
|
|
|
// Market Analysis & Outlook
|
|
analysis: [
|
|
{ name: 'Market Outlook', url: rss('https://news.google.com/rss/search?q=("market+outlook"+OR+"stock+market+forecast"+OR+"bull+market"+OR+"bear+market")+when:3d&hl=en-US&gl=US&ceid=US:en') },
|
|
{ name: 'Risk & Volatility', url: rss('https://news.google.com/rss/search?q=(VIX+OR+"market+volatility"+OR+"risk+off"+OR+"market+correction")+when:3d&hl=en-US&gl=US&ceid=US:en') },
|
|
{ name: 'Bank Research', url: rss('https://news.google.com/rss/search?q=("Goldman+Sachs"+OR+"JPMorgan"+OR+"Morgan+Stanley")+forecast+OR+outlook+when:3d&hl=en-US&gl=US&ceid=US:en') },
|
|
],
|
|
};
|
|
|
|
// Panel configuration for finance/trading
|
|
export const DEFAULT_PANELS: Record<string, PanelConfig> = {
|
|
map: { name: 'Global Markets Map', enabled: true, priority: 1 },
|
|
'live-news': { name: 'Market Headlines', enabled: true, priority: 1 },
|
|
insights: { name: 'AI Market Insights', enabled: true, priority: 1 },
|
|
markets: { name: 'Live Markets', enabled: true, priority: 1 },
|
|
'stock-analysis': { name: 'Stock Analysis', enabled: true, priority: 1 },
|
|
'stock-backtest': { name: 'Backtesting', enabled: true, priority: 1 },
|
|
'daily-market-brief': { name: 'Daily Market Brief', enabled: true, priority: 1 },
|
|
'markets-news': { name: 'Markets News', enabled: true, priority: 2 },
|
|
forex: { name: 'Forex & Currencies', enabled: true, priority: 1 },
|
|
bonds: { name: 'Fixed Income', enabled: true, priority: 1 },
|
|
commodities: { name: 'Commodities & Futures', enabled: true, priority: 1 },
|
|
'commodities-news': { name: 'Commodities News', enabled: true, priority: 2 },
|
|
crypto: { name: 'Crypto & Digital Assets', enabled: true, priority: 1 },
|
|
'crypto-news': { name: 'Crypto News', enabled: true, priority: 2 },
|
|
centralbanks: { name: 'Central Bank Watch', enabled: true, priority: 1 },
|
|
economic: { name: 'Economic Data', enabled: true, priority: 1 },
|
|
'economic-news': { name: 'Economic News', enabled: true, priority: 2 },
|
|
ipo: { name: 'IPOs, Earnings & M&A', enabled: true, priority: 1 },
|
|
heatmap: { name: 'Sector Heatmap', enabled: true, priority: 1 },
|
|
'macro-signals': { name: 'Market Radar', enabled: true, priority: 1 },
|
|
'fear-greed': { name: 'Fear & Greed', enabled: true, priority: 1 },
|
|
'market-breadth': { name: 'Market Breadth', enabled: true, priority: 1 },
|
|
derivatives: { name: 'Derivatives & Options', enabled: true, priority: 2 },
|
|
fintech: { name: 'Fintech & Trading Tech', enabled: true, priority: 2 },
|
|
regulation: { name: 'Financial Regulation', enabled: true, priority: 2 },
|
|
institutional: { name: 'Hedge Funds & PE', enabled: true, priority: 2 },
|
|
analysis: { name: 'Market Analysis', enabled: true, priority: 2 },
|
|
'etf-flows': { name: 'BTC ETF Tracker', enabled: true, priority: 2 },
|
|
stablecoins: { name: 'Stablecoins', enabled: true, priority: 2 },
|
|
'gcc-investments': { name: 'GCC Investments', enabled: true, priority: 2 },
|
|
gccNews: { name: 'GCC Business News', enabled: true, priority: 2 },
|
|
polymarket: { name: 'Predictions', enabled: true, priority: 2 },
|
|
monitors: { name: 'My Monitors', enabled: true, priority: 2 },
|
|
};
|
|
|
|
// Finance-focused map layers
|
|
export const DEFAULT_MAP_LAYERS: MapLayers = {
|
|
gpsJamming: false,
|
|
satellites: false,
|
|
|
|
|
|
conflicts: false,
|
|
bases: false,
|
|
cables: true,
|
|
pipelines: true,
|
|
hotspots: false,
|
|
ais: false,
|
|
nuclear: false,
|
|
irradiators: false,
|
|
sanctions: true,
|
|
weather: true,
|
|
economic: true,
|
|
waterways: true,
|
|
outages: true,
|
|
cyberThreats: false,
|
|
datacenters: false,
|
|
protests: false,
|
|
flights: false,
|
|
military: false,
|
|
natural: true,
|
|
spaceports: false,
|
|
minerals: false,
|
|
fires: false,
|
|
ucdpEvents: false,
|
|
displacement: false,
|
|
climate: false,
|
|
// Tech layers (disabled in finance variant)
|
|
startupHubs: false,
|
|
cloudRegions: false,
|
|
accelerators: false,
|
|
techHQs: false,
|
|
techEvents: false,
|
|
// Finance-specific layers
|
|
stockExchanges: true,
|
|
financialCenters: true,
|
|
centralBanks: true,
|
|
commodityHubs: false,
|
|
gulfInvestments: false,
|
|
// Happy variant layers
|
|
positiveEvents: false,
|
|
kindness: false,
|
|
happiness: false,
|
|
speciesRecovery: false,
|
|
renewableInstallations: false,
|
|
tradeRoutes: true,
|
|
iranAttacks: false,
|
|
ciiChoropleth: false,
|
|
resilienceScore: false,
|
|
dayNight: false,
|
|
// Commodity variant layers (disabled in finance variant)
|
|
miningSites: false,
|
|
processingPlants: false,
|
|
commodityPorts: false,
|
|
webcams: false,
|
|
diseaseOutbreaks: false,
|
|
};
|
|
|
|
// Mobile defaults for finance variant
|
|
export const MOBILE_DEFAULT_MAP_LAYERS: MapLayers = {
|
|
gpsJamming: false,
|
|
satellites: false,
|
|
|
|
|
|
conflicts: false,
|
|
bases: false,
|
|
cables: false,
|
|
pipelines: false,
|
|
hotspots: false,
|
|
ais: false,
|
|
nuclear: false,
|
|
irradiators: false,
|
|
sanctions: false,
|
|
weather: false,
|
|
economic: true,
|
|
waterways: false,
|
|
outages: true,
|
|
cyberThreats: false,
|
|
datacenters: false,
|
|
protests: false,
|
|
flights: false,
|
|
military: false,
|
|
natural: true,
|
|
spaceports: false,
|
|
minerals: false,
|
|
fires: false,
|
|
ucdpEvents: false,
|
|
displacement: false,
|
|
climate: false,
|
|
// Tech layers (disabled)
|
|
startupHubs: false,
|
|
cloudRegions: false,
|
|
accelerators: false,
|
|
techHQs: false,
|
|
techEvents: false,
|
|
// Finance layers (limited on mobile)
|
|
stockExchanges: true,
|
|
financialCenters: false,
|
|
centralBanks: true,
|
|
commodityHubs: false,
|
|
gulfInvestments: false,
|
|
// Happy variant layers
|
|
positiveEvents: false,
|
|
kindness: false,
|
|
happiness: false,
|
|
speciesRecovery: false,
|
|
renewableInstallations: false,
|
|
tradeRoutes: false,
|
|
iranAttacks: false,
|
|
ciiChoropleth: false,
|
|
resilienceScore: false,
|
|
dayNight: false,
|
|
// Commodity variant layers (disabled in finance variant)
|
|
miningSites: false,
|
|
processingPlants: false,
|
|
commodityPorts: false,
|
|
webcams: false,
|
|
diseaseOutbreaks: false,
|
|
};
|
|
|
|
export const VARIANT_CONFIG: VariantConfig = {
|
|
name: 'finance',
|
|
description: 'Finance, markets & trading intelligence dashboard',
|
|
panels: DEFAULT_PANELS,
|
|
mapLayers: DEFAULT_MAP_LAYERS,
|
|
mobileMapLayers: MOBILE_DEFAULT_MAP_LAYERS,
|
|
};
|