# Weekly Fno Trade Planner

> >

- **Type:** Skill
- **Install:** `agentstack add skill-ajeeshworkspace-indian-trading-skills-weekly-fno-trade-planner`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [ajeeshworkspace](https://agentstack.voostack.com/s/ajeeshworkspace)
- **Installs:** 0
- **Category:** [Finance & Payments](https://agentstack.voostack.com/c/finance-and-payments)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [ajeeshworkspace](https://github.com/ajeeshworkspace)
- **Source:** https://github.com/ajeeshworkspace/indian-trading-skills/tree/master/skills/weekly-fno-trade-planner

## Install

```sh
agentstack add skill-ajeeshworkspace-indian-trading-skills-weekly-fno-trade-planner
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Weekly F&O Trade Planner

## Overview

A complete weekly trading workflow for Indian F&O markets — from macro thesis to
position management. This skill identifies high-conviction directional trades by
combining news analysis, sector screening, technical confirmation, and institutional
flow data, then manages the position with structured stop-loss and profit-booking rules.

Designed for retail traders with limited capital who prefer option buying over selling.
Supports both Groww MCP and Zerodha Kite MCP for live execution.

---

## Phase 1: News & Macro Scan

### Goal
Identify the dominant narrative driving markets this week.

### Steps

1. **Fetch breaking news and macro events**:
```
WebSearch: "Indian stock market news this week {current_date}"
WebSearch: "global markets impact India {current_week}"
WebSearch: "RBI SEBI announcement {current_month} {current_year}"
WebSearch: "geopolitical risk India market {current_date}"
```

2. **Categorize the macro environment**:

| Category | Examples | Typical F&O Play |
|----------|----------|------------------|
| **Geopolitical crisis** | War, sanctions, oil shock | Index PUTs (Nifty/BankNifty) |
| **Policy event** | RBI rate decision, budget, SEBI circular | Straddle/strangle before event |
| **Earnings season** | IT/Banking results week | Stock options directional |
| **Global risk-off** | US recession fear, China slowdown, Fed hawkish | Index PUTs, IT stock CALLs (INR weak) |
| **Domestic momentum** | DII buying, reform news, GDP beat | Index CALLs, banking CALLs |
| **Sector rotation** | Defence order, pharma approval, EV policy | Sector-specific stock options |
| **Low conviction** | No clear driver, range-bound | Avoid or play iron condor |

3. **Rate the macro conviction** (1-5):
   - 5: Clear, strong catalyst with defined timeline (e.g., war escalation, surprise rate cut)
   - 4: Strong theme but timing uncertain
   - 3: Moderate — multiple conflicting signals
   - 2: Weak — mostly noise
   - 1: No conviction — skip the week or go very small

**Rule: Only proceed to Phase 2 if conviction >= 3.**

---

## Phase 2: Sector & Instrument Identification

### Goal
Find the ONE instrument most likely to move meaningfully this week.

### Steps

1. **Screen market movers and sectors**:

Use whichever broker MCP is connected:

```python
# Groww MCP
fetch_market_movers_and_trending_stocks_funds(
    discovery_filter_types=["TOP_GAINERS", "TOP_LOSERS", "VOLUME_SHOCKERS",
                           "YEARLY_HIGH", "YEARLY_LOW", "STOCKS_IN_NEWS"]
)
fetch_curated_fno(fno_filter_types=["GAINERS", "LOSERS", "TOP_TRADED"])

# Zerodha Kite MCP — use web search for movers, then:
# search_instruments(query="{sector_leader}")
```

2. **Check institutional flows** (invoke `fii-dii-flow-tracker` skill):
   - FII net buy/sell trend (last 5-10 days)
   - DII positioning
   - Sector-wise FII allocation shifts

3. **Narrow to ONE instrument** using this priority:
   - **Index (Nifty/BankNifty)**: For macro/geopolitical/broad market themes
   - **Sector ETF or index**: For sector rotation themes
   - **Single stock**: For earnings/company-specific catalysts (must be in F&O list)

4. **Validate F&O availability**:
```python
# Groww MCP
fno_mcx_contracts_search_tool(search_term="{instrument_name}")

# Zerodha Kite MCP
search_instruments(query="{instrument_name}", segment="NFO-OPT")
```

### Selection Criteria

The ideal instrument has:
- Direct exposure to the identified macro theme
- High F&O liquidity (tight bid-ask spread)
- Clear technical setup (trending, not choppy)
- Manageable lot size for user's capital

---

## Phase 3: Direction & Technical Confirmation

### Goal
Determine the probable direction (bullish/bearish) with technical evidence.

### Steps

1. **Fetch price data** (daily and hourly):
```python
# Groww MCP
fetch_historical_candle_data(
    trading_symbol="{symbol}",
    start_time="{60_days_ago} 09:15:00",
    end_time="{today} 15:30:00",
    interval_in_minutes="1440"
)

# Zerodha Kite MCP
get_historical_data(
    instrument_token="{token}",
    from_date="{60_days_ago}",
    to_date="{today}",
    interval="day"
)
```

2. **Run technical indicators**:
```python
# Groww MCP
get_historical_technical_indicators(
    trading_symbol="{symbol}",
    start_time="{30_days_ago} 09:15:00",
    end_time="{today} 15:30:00",
    interval_in_minutes="1440",
    indicators=["sma", "ema", "rsi", "macd", "supertrend", "bollinger", "atr", "vwap"]
)

# Zerodha Kite MCP — fetch raw candles and compute indicators manually or via yfinance
```

3. **Identify key levels**:
   - **Support levels**: Recent swing lows, round numbers, SMA/EMA zones
   - **Resistance levels**: Recent swing highs, previous breakdown points
   - **Trend**: Higher highs/lows (bullish) or lower highs/lows (bearish)
   - **Momentum**: RSI, MACD crossover direction, SuperTrend signal

4. **Check Open Interest for institutional positioning**:
```python
# Groww MCP
get_open_interest_analysis(symbol="{symbol}", view="all")

# Zerodha Kite MCP — use web search for OI data from NSE
```

   - Heavy PUT writing at a strike = institutional support floor
   - Heavy CALL writing at a strike = institutional resistance ceiling
   - PCR > 1.2 = market leaning bullish (hedged)
   - PCR = 4 and direction is clear
- **Always** when an active geopolitical/macro crisis is ongoing

### Steps

1. **Check GIFT Nifty / SGX Nifty (after hours)**:
```
WebSearch: "GIFT Nifty live today {current_date}"
WebSearch: "SGX Nifty futures {current_date} evening"
```
   - GIFT Nifty trading > 100 pts below close = **high gap-down probability**
   - GIFT Nifty trading > 100 pts above close = **high gap-up probability**

2. **Check overnight global cues**:
```
WebSearch: "US futures S&P Nasdaq live {current_date}"
WebSearch: "Asian markets Japan China {current_date} evening"
WebSearch: "crude oil price Brent live tonight {current_date}"
```
   - US futures down > 1% = gap-down signal
   - Brent crude spike > 3% overnight = strong gap-down for India
   - Asian markets deep red = confirms gap-down

3. **Check overnight news catalysts**:
```
WebSearch: "{active_crisis} latest news tonight {current_date}"
WebSearch: "breaking news global markets after hours {current_date}"
```
   - New escalation in active crisis = gap accelerator
   - De-escalation / ceasefire = reverse gap

4. **Calculate Gap Probability Score**:

| Factor | Bearish Gap | Bullish Gap |
|--------|-------------|-------------|
| GIFT Nifty > 100 pts below close | +30% | — |
| GIFT Nifty > 200 pts below close | +50% | — |
| US futures down > 1% | +15% | — |
| Brent crude up > 3% overnight | +20% | — |
| Active geopolitical crisis escalating | +20% | — |
| FII selling > ₹3,000 cr today | +10% | — |
| GIFT Nifty > 100 pts above close | — | +30% |
| GIFT Nifty > 200 pts above close | — | +50% |
| US futures up > 1% | — | +15% |
| Ceasefire / de-escalation news | — | +25% |
| FII buying > ₹2,000 cr today | — | +10% |

**Score > 60% = HIGH probability gap. RECOMMEND IMMEDIATE ENTRY.**

5. **Immediate Entry vs Wait Decision**:

| Gap Probability | Time | Action |
|----------------|------|--------|
| **> 60%** | **Before 3:15 PM** | **BUY NOW. Do not wait for tomorrow.** |
| **> 60%** | **After 3:30 PM** | **Alert user: Buy at 9:15 AM tomorrow. Pre-set limit order.** |
| 40-60% | Any | Buy half position now, half at open |
| = 4** — Don't gamble on uncertain gaps
2. **Max 40% of capital** — Even with high conviction, respect position limits
3. **Always use monthly expiry** for pre-gap entries — gives time if gap is delayed
4. **Set SL immediately** — Pre-gap entries can go wrong (gap doesn't materialize)
5. **If gap doesn't happen next day** — Hold if thesis is intact, exit if thesis breaks
6. **Don't chase if you miss the window** — Post-gap premiums are 2-3x, reduce lots

---

## Phase 5: Execution

### Goal
Place the trade with proper order types.

### Steps

1. **Verify live price before entry**:
```python
# Groww MCP
get_ltp(search_queries=["{option_symbol}"], segment="FNO", query_type="fno")
get_quotes_and_depth(search_query="{option_symbol}", segment="FNO", entity_type="fno")

# Zerodha Kite MCP
get_ltp(instruments=["NFO:{option_symbol}"])
get_quotes(instruments=["NFO:{option_symbol}"])
```

2. **Place the order** (always ask user for confirmation):
```python
# Groww MCP
place_fno_order(
    trading_symbol="{option_symbol}",
    num_lots={n},
    transaction_type="BUY",
    order_type="LIMIT",
    price={limit_price},
    product="NRML"
)

# Zerodha Kite MCP
place_order(
    exchange="NFO",
    tradingsymbol="{option_symbol}",
    transaction_type="BUY",
    quantity={quantity},
    order_type="LIMIT",
    price={limit_price},
    product="NRML"
)
```

3. **Set GTT stop-loss immediately after fill**:
```python
# Groww MCP
place_fno_order(
    trading_symbol="{option_symbol}",
    num_lots={n},
    transaction_type="SELL",
    order_type="LIMIT",
    price={sl_price},
    trigger_price={sl_trigger},
    smart_order_category="GTT",
    trigger_direction="DOWN",
    product="NRML"
)

# Zerodha Kite MCP
place_gtt_order(
    trigger_type="single",
    tradingsymbol="{option_symbol}",
    exchange="NFO",
    trigger_values=[{sl_trigger}],
    last_price={current_ltp},
    orders=[{
        "transaction_type": "SELL",
        "quantity": {quantity},
        "price": {sl_price},
        "order_type": "LIMIT",
        "product": "NRML"
    }]
)
```

4. **Set GTT profit target** (same pattern as above with trigger_direction="UP")

**Important GTT notes**:
- GTT triggers on the OPTION's LTP, not the underlying price
- Always set trigger_price slightly before the limit price (e.g., trigger at ₹95, sell at ₹90 for SL)
- On Groww: GTT may show "verification failed" — this is a known display bug, the order is active
- After exiting a position, ALWAYS cancel orphaned GTTs

---

## Phase 6: Position Management (Ongoing)

### Goal
Manage the position daily with structured rules for SL tightening, partial exits, and full exit.

### Daily Monitoring Checklist

1. **Check position P&L**:
```python
# Groww MCP
get_my_trading_positions_today()
get_specific_stock_position(trading_symbol="{option}", segment="FNO")

# Zerodha Kite MCP
get_positions()
```

2. **Check underlying price action**:
```python
# Use either broker MCP for live price + intraday chart
get_ltp(search_queries=["{underlying}"])
fetch_historical_candle_data(
    trading_symbol="{underlying}",
    start_time="{today} 09:15:00",
    end_time="{today} 15:30:00",
    interval_in_minutes="5"
)
```

3. **Check news for thesis changes**:
```
WebSearch: "{macro_theme} latest news {current_date}"
```

4. **Check institutional flows** (FII/DII daily data via `fii-dii-flow-tracker` skill)

### Stop-Loss Tightening Rules

| Premium Move | New SL Level | Logic |
|-------------|-------------|-------|
| Entry | -30% of premium | Initial risk limit |
| +30% profit | Breakeven (entry price) | "Free trade" — can't lose |
| +50% profit | Entry + 20% | Lock 20% guaranteed profit |
| +100% profit | Entry + 50% | Lock 50%, let rest run |
| +150%+ profit | Trail by 30% from peak | Ride the momentum |

To tighten a GTT SL:
```python
# Groww MCP
modify_order_with_confirmation(
    groww_order_id="{gtt_order_id}",
    quantity={qty},
    segment="FNO",
    order_type="LIMIT",
    price={new_sl_price},
    trigger_price={new_trigger},
    trigger_direction="DOWN",
    order_category="GTT"
)

# Zerodha Kite MCP
modify_gtt_order(
    trigger_id={gtt_id},
    trigger_type="single",
    tradingsymbol="{option_symbol}",
    exchange="NFO",
    trigger_values=[{new_trigger}],
    last_price={current_ltp},
    orders=[{
        "transaction_type": "SELL",
        "quantity": {qty},
        "price": {new_sl_price},
        "order_type": "LIMIT",
        "product": "NRML"
    }]
)
```

### Partial Profit Booking Rules

| Condition | Action | Remaining |
|-----------|--------|-----------|
| Target 1 hit (+50-80%) | Exit 40-50% of position | 50-60% as runner |
| Target 2 hit (+100-150%) | Exit another 30% | 20-30% as runner |
| Momentum continues | Trail SL on remaining | Let it ride |
| Thesis weakens | Exit all remaining | Protect profits |

### Full Exit Triggers

Exit the ENTIRE position when:
- **SL hit**: No questions, no hoping — exit immediately
- **Thesis invalidated**: Key news changes the setup (e.g., ceasefire in a war trade)
- **Time decay risk**: = 3, the skill MUST run Phase 4.5 to check for overnight gap opportunities.

**The #1 profit multiplier in F&O is buying BEFORE the gap, not AFTER.**

If the user invokes this skill in the evening / after hours:
1. Skip Phases 1-3 if thesis is already established
2. Go DIRECTLY to Phase 4.5 (Gap Probability)
3. If gap score > 60%, issue Immediate Entry Alert
4. **NEVER say "wait for tomorrow" when gap probability is high and market is still open**
5. If market is closed, alert user to set pre-market limit order or buy at 9:15 sharp

---

## Tools Used

Use whichever broker MCP is connected (Groww or Zerodha Kite):

| Action | Groww MCP | Zerodha Kite MCP | Fallback |
|--------|-----------|------------------|----------|
| Live price | `get_ltp` | `get_ltp` | yfinance |
| Market depth | `get_quotes_and_depth` | `get_quotes` | — |
| Historical data | `fetch_historical_candle_data` | `get_historical_data` | yfinance |
| Technical indicators | `get_historical_technical_indicators` | — (compute from candles) | yfinance + pandas |
| Open interest | `get_open_interest_analysis` | — | Web search (NSE) |
| Greeks/IV | `get_greeks_for_fno_contract` | — | Black-Scholes script |
| ATM straddle | `get_atm_straddle_chart` | — | Manual calculation |
| Margin check | `calculate_fno_margin` | `get_margins` | — |
| F&O search | `fno_mcx_contracts_search_tool` | `search_instruments` | — |
| Place order | `place_fno_order` | `place_order` | — |
| GTT orders | `place_fno_order` (GTT) | `place_gtt_order` | — |
| Modify GTT | `modify_order_with_confirmation` | `modify_gtt_order` | — |
| Cancel GTT | `cancel_order_with_confirmation` | `delete_gtt_order` | — |
| Positions | `get_my_trading_positions_today` | `get_positions` | — |
| Portfolio | `get_equity_portfolio_holdings` | `get_holdings` | — |
| Market movers | `fetch_market_movers_and_trending_stocks_funds` | — | Web search |
| F&O movers | `fetch_curated_fno` | — | Web search |
| Trading calendar | `resolve_market_time_and_calendar` | — | Web search |
| Screener | `fetch_technical_screener` | — | Web search |
| News | `WebSearch` | `WebSearch` | `WebSearch` |
| FII/DII flows | `fii-dii-flow-tracker` skill | `fii-dii-flow-tracker` skill | Web search |
| Calculator | `calculator` | — | Python |

---

## Disclaimer

This skill provides analysis and trade suggestions based on publicly available data
and technical/fundamental indicators. It is NOT financial advice. All F&O trading
involves significant risk of loss. Users must make their own investment decisions and
are responsible for their own trades. Past patterns do not guarantee future results.

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [ajeeshworkspace](https://github.com/ajeeshworkspace)
- **Source:** [ajeeshworkspace/indian-trading-skills](https://github.com/ajeeshworkspace/indian-trading-skills)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-ajeeshworkspace-indian-trading-skills-weekly-fno-trade-planner
- Seller: https://agentstack.voostack.com/s/ajeeshworkspace
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
