<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Bhanu Pratap Singh Rathore</title>
    <description>The latest articles on Forem by Bhanu Pratap Singh Rathore (@bhanu_pratapsinghrathor).</description>
    <link>https://forem.com/bhanu_pratapsinghrathor</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3809333%2Fea52fab2-6714-4e12-bc57-6328169df21f.jpg</url>
      <title>Forem: Bhanu Pratap Singh Rathore</title>
      <link>https://forem.com/bhanu_pratapsinghrathor</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/bhanu_pratapsinghrathor"/>
    <language>en</language>
    <item>
      <title>Automating Stock Research with OpenClaw</title>
      <dc:creator>Bhanu Pratap Singh Rathore</dc:creator>
      <pubDate>Fri, 06 Mar 2026 07:32:52 +0000</pubDate>
      <link>https://forem.com/bhanu_pratapsinghrathor/automating-stock-research-with-openclaw-l1c</link>
      <guid>https://forem.com/bhanu_pratapsinghrathor/automating-stock-research-with-openclaw-l1c</guid>
      <description>&lt;p&gt;&lt;em&gt;How I built an AI-powered stock research system that runs itself&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;Researching stocks manually is time-consuming. Every time I wanted to analyze a company, I had to:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Find a stock idea&lt;/li&gt;
&lt;li&gt;Look up the company on screener.in&lt;/li&gt;
&lt;li&gt;Analyze financials, business, management, valuation, risks&lt;/li&gt;
&lt;li&gt;Make a decision&lt;/li&gt;
&lt;li&gt;Track it somewhere&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That's 5+ steps for every single stock. Multiply by dozens of stocks per month — and suddenly you're spending hours every week just on research.&lt;/p&gt;

&lt;p&gt;I wanted to automate this. Enter &lt;strong&gt;OpenClaw&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  What is OpenClaw?
&lt;/h2&gt;

&lt;p&gt;OpenClaw is an AI agent platform that runs on your machine. It can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Execute code and scripts&lt;/li&gt;
&lt;li&gt;Read/write files&lt;/li&gt;
&lt;li&gt;Manage cron jobs (scheduled tasks)&lt;/li&gt;
&lt;li&gt;Control a browser&lt;/li&gt;
&lt;li&gt;Send messages via Telegram, Discord, etc.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Think of it as having a personal AI assistant that can actually &lt;em&gt;do&lt;/em&gt; things for you — not just answer questions.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Architecture
&lt;/h2&gt;

&lt;p&gt;Here's what I built:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;┌─────────────────────────────────────────────────────────────┐
│                    OpenClaw Agent                           │
│                                                             │
│  ┌──────────────┐    ┌──────────────┐    ┌──────────────┐ │
│  │ Stock        │───▶ │ Deep Research│───▶ │ Research    │ │
│  │ Screener     │    │ Agent        │    │ Log         │ │
│  └──────────────┘    └──────────────┘    └──────────────┘ │
│         │                   │                               │
│         ▼                   ▼                               │
│  ┌──────────────────────────────────────────────────────┐  │
│  │           8 Specialized Skills                       │  │
│  │  • Business Understanding   • Management Quality    │  │
│  │  • Fundamental Analysis     • Risk Assessment       │  │
│  │  • Moat Analysis            • Valuation Analysis    │  │
│  │  • Trade Plan              • Thesis Synthesis      │  │
│  └──────────────────────────────────────────────────────┘  │
│                            │                                │
│                            ▼                                │
│  ┌──────────────────────────────────────────────────────┐  │
│  │           Automated Cron Jobs                        │  │
│  │  • Every 20 min: Research stocks                     │  │
│  │  • Every Sunday: Send recommendations to Telegram   │  │
│  └──────────────────────────────────────────────────────┘  │
└─────────────────────────────────────────────────────────────┘
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Step 1: Finding Stocks — The Screener Skill
&lt;/h2&gt;

&lt;p&gt;First, I needed a way to get stock ideas. I created a &lt;strong&gt;stock-screener&lt;/strong&gt; skill that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fetches popular stock screens from screener.in&lt;/li&gt;
&lt;li&gt;Extracts stock data using a Python script&lt;/li&gt;
&lt;li&gt;Filters out stocks I already own or track (via skip.json)&lt;/li&gt;
&lt;li&gt;Returns 50 fresh stock ideas
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;python3 skills/stock-screener/fetch_stocks.py &lt;span class="nt"&gt;--max-stocks&lt;/span&gt; 50
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The results go into &lt;code&gt;memory/stock-screener/stocks.md&lt;/code&gt; — ready for research.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 2: Deep Research Agent — 8 Skills in Sequence
&lt;/h2&gt;

&lt;p&gt;This is the core. I built a &lt;strong&gt;stock_deep_research_agent&lt;/strong&gt; skill that uses 8 specialized sub-agents:&lt;/p&gt;

&lt;h3&gt;
  
  
  Wave 1 (Parallel)
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Business Understanding&lt;/strong&gt; — Company description, revenue segments, business model, industry context, lifecycle stage&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fundamental Analysis&lt;/strong&gt; — Financials, cash flow, balance sheet health, peer comparison&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Wave 2 (Parallel)
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Moat Analysis&lt;/strong&gt; — Competitive advantage, moat types (brand, network effects, switching costs, etc.)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Management Quality&lt;/strong&gt; — Capital allocation, promoter skin in the game, governance&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Wave 3 (Parallel)
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Risk Assessment&lt;/strong&gt; — Business risks, financial risks, macro risks, execution risks&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Valuation Analysis&lt;/strong&gt; — PEG, PE, EV/EBITDA, DCF, P/FCF methods to find fair value&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Wave 4 (Sequential)
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Trade Plan&lt;/strong&gt; — Buy/sell price tiers, position sizing, hold duration, expected returns&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Thesis Synthesis&lt;/strong&gt; — Bull case, bear case, conviction score, final recommendation&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Each sub-agent runs as an isolated OpenClaw sub-agent and saves its output to markdown files. Finally, all outputs are compiled into a master report.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 3: Automation — Cron Jobs
&lt;/h2&gt;

&lt;p&gt;Here's where the magic happens. I set up two cron jobs:&lt;/p&gt;

&lt;h3&gt;
  
  
  Cron 1: Stock Research (Every 20 Minutes)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;stock-research&lt;/span&gt;
&lt;span class="na"&gt;schedule&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;every 20 minutes&lt;/span&gt;
&lt;span class="na"&gt;message&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;|&lt;/span&gt;
  &lt;span class="s"&gt;1. Read to_be_analysed.md for stocks to research&lt;/span&gt;
  &lt;span class="s"&gt;2. Check log.md — skip if analyzed in last 30 days&lt;/span&gt;
  &lt;span class="s"&gt;3. If no stocks left, fetch 50 new stocks from screener&lt;/span&gt;
  &lt;span class="s"&gt;4. If stocks available, run deep research skill&lt;/span&gt;
  &lt;span class="s"&gt;5. Update log.md with results&lt;/span&gt;
  &lt;span class="s"&gt;6. Save all research to memory/stock-research/&amp;lt;ticker&amp;gt;/&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;How it works:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Every 20 minutes, it checks if there's a stock to analyze&lt;/li&gt;
&lt;li&gt;If the queue is empty, it fetches 50 new stocks from screener.in&lt;/li&gt;
&lt;li&gt;If there's a stock, it runs the full 8-stage research&lt;/li&gt;
&lt;li&gt;Results are saved to markdown files&lt;/li&gt;
&lt;li&gt;Only processes ONE stock per run (to avoid timeout)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Cron 2: Weekly Recommendations (Sunday 9 AM)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Weekly Stock Ideas&lt;/span&gt;
&lt;span class="na"&gt;schedule&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Sunday 9:00 AM&lt;/span&gt;
&lt;span class="na"&gt;message&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;|&lt;/span&gt;
  &lt;span class="s"&gt;1. Check log.md for stocks analyzed in last 7 days&lt;/span&gt;
  &lt;span class="s"&gt;2. Filter for BUY or STRONG BUY recommendations&lt;/span&gt;
  &lt;span class="s"&gt;3. Exclude stocks already in portfolio or watchlist&lt;/span&gt;
  &lt;span class="s"&gt;4. Send to Telegram with ticker, price, fair value, conviction score&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Every Sunday morning, I get a Telegram message like:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;📈 &lt;strong&gt;Stock Recommendations&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;• &lt;strong&gt;TATASTEEL&lt;/strong&gt; — ₹180 | Fair Value: ₹250 | Conviction: 82/100&lt;br&gt;
• &lt;strong&gt;COALINDIA&lt;/strong&gt; — ₹431 | Fair Value: ₹550 | Conviction: 85/100&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  File Structure
&lt;/h2&gt;

&lt;p&gt;All research lives in the workspace:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;memory/stock-research/
├── log.md                    # Research execution log
├── to_be_analysed.md         # Queue of stocks to research
└── RELIANCE/
    ├── raw/profile.md        # Raw data from screener
    ├── business.md           # Business analysis
    ├── financials.md         # Financial analysis
    ├── moat.md              # Competitive moat
    ├── management.md         # Management quality
    ├── risk.md              # Risk assessment
    ├── valuation.md         # Valuation analysis
    ├── trade_plan.md        # Trade plan
    ├── synthesis.md         # Final thesis
    └── RELIANCE.md          # Master report
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Tools Used
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tool&lt;/th&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;stock-screener&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Fetch stock ideas from screener.in&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;fundamental-stock-analysis&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Analyze financials (from ClawHub)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;business-understanding&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Company business analysis&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;moat-analysis&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Competitive advantage analysis&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;management-quality&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Management team assessment&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;risk-assessment&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Risk identification&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;valuation-analysis&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Fair value calculation&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;trade-plan&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Entry/exit strategy&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;thesis-synthesis&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Final recommendation&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  Results
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Coverage:&lt;/strong&gt; 100+ stocks analyzed per week (automatically)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Consistency:&lt;/strong&gt; Same quality analysis every time&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Convenience:&lt;/strong&gt; Weekly Telegram updates with buy ideas&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;This entire system runs on a MacBook Pro, automated via OpenClaw. No server needed — just scheduled AI power.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>openclaw</category>
      <category>ai</category>
      <category>stocks</category>
      <category>automation</category>
    </item>
  </channel>
</rss>
