trading-researcher

star 3

Automated market research and data collection for trading strategies. Use when analyzing market conditions, collecting OHLCV data, scanning for trading opportunities, generating market analysis reports, or integrating data sources like Yahoo Finance and Exa for trading research.

oyi77 By oyi77 schedule Updated 6/8/2026

name: trading-researcher description: Research market conditions, on-chain data, and sentiment to identify trading opportunities. Use for market analysis. domain: trading tags:

  • algorithms
  • markets
  • researcher
  • trading allowed-tools:
  • Bash(trading:*)
  • MCP(yahoo:*)
  • MCP(exa:*)
  • fs
  • network

Trading Researcher

Overview

Automated market research and data collection for trading strategies. The Researcher serves as the intelligence arm of the trading team, continuously scanning markets, analyzing conditions, and identifying high-probability trading opportunities. It integrates with Yahoo Finance for price data and Exa for internet-based market research, providing the foundational insights that drive strategy development and execution decisions.

When to Use

  • Analyzing current market conditions for specific symbols or multiple symbols
  • Collecting historical OHLCV data for backtesting and strategy development
  • Scanning watchlists for trading opportunities across multiple instruments
  • Generating market analysis reports with technical indicators
  • Integrating external research from Exa to supplement price data
  • Building opportunity scores based on multiple criteria (trend, momentum, volatility)
  • Creating market condition alerts for automated triggers

The Process

The research pipeline collects market data, calculates technical indicators, scans watchlists, and generates analysis reports.

1. Analyze Market Conditions

Analyze current market conditions for a specific symbol:

const data = await yahoo.getOHLCV({
  symbol: "XAUUSD=X",
  interval: "1h",
  count: 100
});

const sma20 = calculateSMA(data.close, 20);
const rsi = calculateRSI(data.close, 14);

const analysis = {
  trend: sma20 > sma50 ? "bullish" : "bearish",
  rsi: rsi.value,
  recommendation: rsi > 70 ? "overbought" : rsi < 30 ? "oversold" : "neutral"
};

console.log(analysis);

2. Collect Historical Data

Fetch and store historical data for backtesting:

const params = {
  symbol: "XAUUSD",
  start: "2024-01-01",
  end: "2024-12-31",
  timeframe: "H1"
};

const data = await yahoo.getHistorical(params);
await storage.save("xauusd_2024_h1.json", data);

console.log(`Collected ${data.length} bars`);

3. Scan for Opportunities

Scan watchlist and rank opportunities by signal strength:

const symbols = ["XAUUSD", "EURUSD", "GBPUSD", "BTCUSD"];

const opportunities = [];
for (const symbol of symbols) {
  const data = await yahoo.getOHLCV(symbol, "1h", 100);
  const signal = await analyze(data);
  
  if (signal.strength > 0.7) {
    opportunities.push({ symbol, ...signal });
  }
}

opporunities.sort((a, b) => b.strength - a.strength);
console.table(opportunities);

4. Generate Market Analysis Report

Create comprehensive market analysis for strategy teams:

const report = {
  date: new Date().toISOString(),
  symbols: ["XAUUSD", "EURUSD", "GBPUSD"],
  analysis: {},
  recommendations: {},
  riskLevel: "moderate"
};

await notion.createPage("Market Analysis", report);

5. Scan with External Research

Integrate Exa for additional market context:

const research = await exa.search({
  query: "XAUUSD technical analysis and news",
  numResults: 5
});

const signals = await analyzeWithNews(data, research);

When NOT to Use

  • Task is about portfolio management, not trading (use portfolio skills)
  • Task is about financial analysis (use analysis skills)
  • You need to analyze trade results (use analytics skills)
  • Task is about risk management (use risk skills)
  • You don't have trading capital
  • Task requires financial advice (consult advisors)

Red Flags

  • Data quality issues detected: Missing bars, sudden price jumps, or inconsistent volumes may indicate data provider issues; verify source and interval settings
  • Opportunity scoring produces no candidates: Market may be in low-volatility range or strategy parameters too restrictive; review scan criteria and expand if needed
  • Yahoo Finance API rate limited: Reduce query frequency or implement caching; consider data provider rotation
  • Analysis results inconsistent with visible chart patterns: Calculation errors or incorrect parameter usage; verify indicator formulas and data alignment
  • Exa search returning irrelevant results: Query too generic or time-sensitive content not indexed; refine search terms and add date filters
  • No trading signals generated during volatile periods: Strategy may require adjustment for high-volatility regimes; review parameter sensitivity

Verification

Verification covers data quality, indicator accuracy, scan consistency, and integration with data sources.

Data Collection Verification

  • Historical data covers required date range without gaps
  • OHLCV data quality validated (no extreme outliers, consistent volume)
  • Data stored in appropriate format for backtesting engine
  • Data timestamps correctly aligned with trading session hours

Market Analysis Verification

  • Technical indicators (SMA, RSI, ATR) calculated correctly
  • Trend identification matches visual chart patterns
  • Overbought/oversold signals align with RSI levels (70/30 thresholds)
  • Analysis updates in near real-time with new data

Opportunity Scanning Verification

  • All symbols in watchlist scanned consistently
  • Opportunity scores computed using defined criteria
  • Ranking correctly orders by signal strength or probability
  • Scan results exported in format usable by Strategist

Integration Verification

  • Yahoo Finance data feeds correctly configured and responding
  • Exa search queries return relevant market research
  • Notion integration creates research log entries
  • Data collection jobs scheduled and running on configured intervals

Process

  1. Analyze the task requirements
  2. Apply domain expertise
  3. Verify output quality

Anti-Rationalization

Rationalization Reality
"I will cut losses later" Later never comes. Set stop-losses before entering any trade.
"This time is different" It never is. Follow your strategy, not your emotions.
"I do not need to journal" Journaling reveals patterns in your behavior. Track every trade.
Install via CLI
npx skills add https://github.com/oyi77/1ai-skills --skill trading-researcher
Repository Details
star Stars 3
call_split Forks 0
navigation Branch main
article Path SKILL.md
More from Creator