Technical Analysis Automation
What if your watchlist checked itself every morning? OpenClaw automates the repetitive parts of technical analysis — scanning, alerting, charting — so you spend your time on decisions, not data gathering.
What Is Technical Analysis?
Technical analysis is the practice of using a stock's price and volume history to make judgments about where it might go next. Instead of reading earnings reports or company news, technical analysts look at charts — patterns in price movement that have historically repeated.
Common things technical analysts watch:
- Is the stock trending up or down over the last 50 days?
- Has it been falling so fast it might be due for a bounce?
- Are two different trend lines about to cross — which often signals a shift?
- Is volatility compressing before a big move?
These are the questions technical indicators are designed to help answer.
What Does OpenClaw Automate?
The honest before/after:
Without OpenClaw
Every morning you open your charting platform. You pull up AAPL — check the RSI, check the moving averages, make a note. Then MSFT. Then NVDA. Then 47 more tickers. An hour later you've finished your "quick" morning check. Half the signals you spotted you've already forgotten to write down.
With OpenClaw
OpenClaw runs the scan automatically at 4:15pm every market day. You get one email summarizing every signal that fired across your entire watchlist. Your charts are already generated and waiting in a folder. Morning review: 5 minutes, not 60.
OpenClaw doesn't make trading decisions for you. It handles the mechanical, repetitive parts — so when you do sit down to review, you're working with organized, current information instead of spending all your time gathering it.
The OpenClaw TA Stack
RSI · MACD · SMA · Bollinger
Everything starts from a single config file — `ta-config.yaml`. You define your tickers and thresholds once. Every OpenClaw tool reads from the same file.
The ta-config.yaml File — The Heart of It All
# ta-config.yaml # This is the only file you need to customize. # OpenClaw reads it every time any TA tool runs. # ── Your watchlist ──────────────────────────────────────────────── watchlist: tickers: - AAPL # Add any ticker Yahoo Finance supports - MSFT # Stocks, ETFs, crypto (BTC-USD), indices (^SPX) - NVDA - SPY # S&P 500 ETF — good benchmark to always include - QQQ # Nasdaq ETF # ── Which signals to watch for ──────────────────────────────────── signals: # RSI thresholds — what counts as "oversold" or "overbought"? # Default values of 30/70 are the most widely used rsi_oversold: 30 # Alert when RSI drops below this (lower = more extreme) rsi_overbought: 70 # Alert when RSI rises above this # Moving average crossovers — true = enable, false = ignore golden_cross: true # 50-day crosses above 200-day (bullish) death_cross: true # 50-day crosses below 200-day (bearish) # MACD crossover macd_cross: true # Detects momentum shifts # Bollinger Band squeeze bb_squeeze: true # Low volatility before a breakout # ── Alert delivery settings ─────────────────────────────────────── alerts: email: "you@example.com" # Where to send notifications cooldown_hours: 24 # Don't re-alert the same signal for 24 hours daily_digest: true # true = one daily email | false = instant alerts # ── Scanner settings ────────────────────────────────────────────── scanner: lookback_period: "1y" # How much history to load (try "6mo" or "2y") export_csv: true # Save scan results to a spreadsheet? output_file: "scan_results.csv" # ── Chart settings ──────────────────────────────────────────────── charts: format: "plotly" # "plotly" = interactive HTML, "matplotlib" = PNG period: "6mo" # How much history to show in each chart output_dir: "charts" # Folder where chart files are saved show_sma20: true show_sma50: true show_sma200: true show_bollinger: true show_volume: true show_rsi: true # ── Backtesting settings ────────────────────────────────────────── backtest: strategy: "rsi_mean_reversion" period: "5y" rsi_buy: 30 rsi_sell: 60 max_hold: 30
That's it. Every setting in OpenClaw starts here. You don't need to touch Python code — just edit this one file to match your watchlist and thresholds.
The Five Modules
This series is broken into five focused, hands-on parts. Start with Part 1 and move forward at your own pace.
What You'll Need
Everything you need is free, open-source, and doesn't require signing up for anything.
| Tool | What It Does | How to Get It |
|---|---|---|
| Python 3.8+ | Runs the scripts | python.org (free) |
| yfinance | Downloads stock price data from Yahoo Finance | pip install yfinance |
| pandas-ta | Calculates 130+ technical indicators | pip install pandas-ta |
| pandas | Handles data in tables | pip install pandas |
| Plotly | Creates interactive charts | pip install plotly |
| PyYAML | Reads your ta-config.yaml file | pip install pyyaml |
Install Everything at Once
pip install yfinance pandas-ta pandas plotly pyyaml tabulate matplotlib
That's it. No API keys, no subscriptions, no sign-ups. All data comes from Yahoo Finance's free public feed.
FAQ
Do I need to know Python to use this?
You don't need to write Python from scratch. The scripts are provided — you just edit ta-config.yaml to customize your watchlist and thresholds. If you want to modify the actual code, basic Python knowledge helps, but it's not required to get started.
Is Yahoo Finance data good enough?
For end-of-day signals and daily chart review, yes. Yahoo Finance OHLCV data is generally accurate for daily timeframes. For intraday signals (minute-by-minute) you'd need a paid source. Most retail technical analysts work with daily data anyway.
Can OpenClaw automatically buy stocks?
No. OpenClaw is a monitoring and alerting framework — it surfaces signals and sends notifications. Execution requires a separate brokerage integration and is intentionally outside the scope of this series. OpenClaw helps you make informed decisions, not automate trading.
How often should I run the scanner?
Once per day, after market close (around 4:15–4:30pm ET), is the right cadence for daily signals. The scheduler config in Part 3 automates this, so you don't have to remember to run it manually.