Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

7. Weekly Operational Workflow

Independent / quantitative investing

PowerShell note: Use ; to chain commands, not &&
Correct: python script1.py ; python script2.py
Incorrect: python script1.py && python script2.py

  1. Optional automation: Run python watch_downloads.py (from project root) so new downloads are renamed and filed into holdings/ and data/input/.

  2. IBD downloads: From IBD Digital, export (Excel) at minimum:

    • Big Cap 20

    • Big Cap 50 (used as the IBD 50-family input in this pipeline via BIG_CAP_50_*.xls pattern in weekly_run)

    • IBD Relative Strength / RS master list: weekly export uses the same filename each week, e.g. [local path] STRENGTH AT NEW HIGH.xls. Also matches IBD_RS*.xls / “RELATIVE STRENGTH” patterns—see etrade_identify.py.

    • Save into Downloads (or a watched folder) so watch_downloads or manual copy can place files in data/input/ with the expected BIG_CAP_20_*.xls, BIG_CAP_50_*.xls, IBD_RS_*.xls naming.

    • MarketSurge workflow note (PowerShell): Correct command to copy only IBD/MarketSurge files (and avoid unrelated files):

      # Correct command — only copies IBD/MarketSurge files, not unrelated files
      Get-ChildItem "$env:USERPROFILE\Downloads\*.xlsx", "$env:USERPROFILE\Downloads\*.csv" |
        Where-Object {$_.Name -match "^(IBD|Big.Cap|RS.Leader|Near.Pivot|Technical.Strength|MarketSurge)"} |
        Copy-Item -Destination "[local path] Projects\ibd-strategy\data\input\"
  3. E*TRADE exports: Download positions for IRA and Brokerage; ensure filenames end up as etrade_ira_raw_YYYY_MM_DD.csv and etrade_brokerage_raw_YYYY_MM_DD.csv in holdings/ (via watcher or manual rename).

  4. Run pipeline: From project root: python weekly_run.py. Resolves latest inputs by date in filename (YYYY_MM_DD) or mtime.

  5. Outputs: Check data/output/ for watchlists, reports, performance_latest.json. Console prints performance tracker status; browser may open http://localhost:8765/dashboard.html (server started if port 8765 is free).

  6. Interpreting the dashboard: See §10.

  7. Commit and push weekly run: git add -A ; git commit -m 'W## weekly run complete' ; git push

7.1 File naming conventions

PatternRole
BIG_CAP_20_*.xlsIRA universe (BC20)
BIG_CAP_50_*.xlsIRA universe (IBD 50 / Big Cap 50 export)
IBD_RS_*.xlsBrokerage RS Master
etrade_ira_raw_YYYY_MM_DD.csvRaw IRA positions
etrade_brokerage_raw_YYYY_MM_DD.csvRaw brokerage positions
etrade_ira_clean_YYYY_MM_DD.csvProduced by normalize_etrade
Etrade_IRA_Report.csvportfolio_analyzer output (account label “Etrade IRA”)

normalize_etrade.py — correct usage

Requires two positional arguments: python normalize_etrade.py <raw_csv> <clean_csv>

Example (replace date with today’s date): python normalize_etrade.py holdings/etrade_ira_raw_2026_04_27.csv holdings/etrade_ira_clean_2026_04_27.csv python normalize_etrade.py holdings/etrade_brokerage_raw_2026_04_27.csv holdings/etrade_brokerage_clean_2026_04_27.csv

Note: weekly_run.py handles this automatically when holdings files from today exist. Only run manually if clean files are missing after watch_downloads.py

7.2 Entry Decision Checklist — Complete Entry Rules

Run through all 10 checks in order before any entry. Every rule below came from a real trade W14-W18 where the rule was missing or violated.

60-Second Checklist — Run Before Price Chart

Mandatory gate on IBD Digital Stock Checkup and MarketSurge pattern data before opening the price chart. Completes in under 60 seconds. If any step fails — do not proceed to chart analysis.

StepCheckAction
1Acc/DisD or E → close chart immediately
2Earnings surpriseNegative → flag; investigate before any buy
3% from pivotAbove 5% → do not buy
4Group RS rankBelow 50/145 → caution
5Base stageStage 1-2 preferred; Stage 3 acceptable with caution; Stage 4+ → do not buy

THEN: Look at price chart (daily chart for current base stage; weekly for context).

Real example — CRDO:

See also §4.12 Pre-Buy Thesis Template (MarketSurge pattern fields).

The Two-Step Rule (Core — non-negotiable)

Step 1: Price above IBD buy point? YES -> Step 2 / NO -> wait
Step 2: Volume 1.40x+ after 1pm ET? YES -> BUY / NO -> wait

BOTH must be YES simultaneously.
Established after: WWD, ADI, NVDA failed breakout

Complete 10-Point Entry Checklist

  1. IBD market pulse: Confirmed Uptrend?
    Exposure 60%+: consider entries
    Exposure below 40%: hold cash, no new entries

  2. Composite Rating 85+?
    Prefer 90+. Below 75 = auto-disqualify.

  3. RS Rating 80+?
    Prefer 85+. Below 70 = auto-disqualify.

  4. Acc/Dis Rating B or better?
    A = strong institutional accumulation
    C or below = wait for improvement
    D or E = auto-disqualify

  5. Profitable company? (IRA requirement)
    Positive EPS required for IRA quality strategy
    Brokerage: pre-earnings growth names acceptable

  6. Beta within account mandate?
    IRA: under 1.5 (prefer under 1.0)
    Brokerage: under 2.5
    Aggressive: any beta acceptable

  7. Earnings more than 2 weeks away?
    Earnings within 2 weeks = binary risk = wait
    Exception: position already held through earnings

    Holding through earnings: See Earnings Season — Conference Call Risk below. Do not re-assess on headline price alone.

  8. Price within 5% of IBD buy point?
    Below buy point: not ready — wait
    0-5% above: in buy zone — valid entry
    5-8% above: extended — caution
    Above 8%: do not chase — wait for base

  9. Volume 1.40x+ average after 1pm ET?
    Never check volume before 1pm — misleading
    1.40x+ = institutional confirmation = BUY
    Below 1.0x = weak = wait

  10. Ticker appeared 2+ consecutive weeks?
    1 week: note only
    2 weeks: watchlist — approaching
    3+ weeks: high conviction — actively ready
    5+ weeks: highest conviction — deploy on signal

Entry Signal Score (Enhancement 8)

Score 75-100: BUY_ZONE — all four components aligned
Score 60-74: WATCH — developing, set price alert
Score 45-59: MONITOR — early stage
Below 45: NOT_READY — conditions not aligned

Score is a guide — two-step rule still required before entry.

Buy Zone Calculation

IBD buy point from chart (weekly view, 10 cents above base high)
Buy zone top = buy point x 1.05

Example: Buy point 600Buyzone:600 Buy zone: 600 to 630Above630 Above 630: extended — do not enter

To find buy point:
IBD Digital: Stock -> Chart tab -> Weekly -> look for
horizontal buy point line
MarketSurge: Near Pivot list shows stocks within 5% of buy point

Position Sizing Rules

IRA quality account:
First position: up to 50% of available cash
Second add: smaller than first (pyramid up)
Third add: smaller than second
Max any one name: 70% of IRA invested capital

Brokerage momentum account:
Standard: 2,000−3,000perpositionHighconviction:upto40Papertradesize:2,000-3,000 per position High conviction: up to 40% of brokerage capital Paper trade size: 2,000 fixed (for statistical comparison)

Volume-Adjusted Sell Rules (§16.15)

Standard 8% rule — apply when ANY true:
Company-specific negative news
Volume on down day 1.40x+ (distribution)
Composite drops below 75
Acc/Dis drops to D or E

After exit — classify per §4.15 Enhancement 11:
Type 1 (thesis broken) → permanent exit, no re-entry watch
Type 2 (macro interruption) → Thesis Intact Exits watchlist

Extended hold (8-12%) — apply when ALL true:
Macro/sector decline only (not company news)
Volume below average on down day
Composite 85+, RS 80+, Acc/Dis B+
Thesis unchanged

Failed breakout rule:
Stock breaks above buy point then falls back below
Exit the breakout entry only
Keep original lower-cost position

Earnings Season — Conference Call Risk

When holding through earnings, price immediately after the announcement does not represent the final institutional view.

Three-stage reaction model (MRVL May 2026):

Rule: Wait for the full conference call to complete before re-assessing any position held through earnings. The Stage 3 settled price is the meaningful signal.

See also §4.15 Conference Call Risk and §4.11 Pre-Earnings Run-Up Rule.

Auto-Disqualifiers (do not enter regardless of price)

Real Trade Examples

WWD April 14: Violated Rule 9 (volume below average)
Result: -11.25% loss

ADI April 20: Violated Rule 9 (volume 0.66x)
Result: Position struggled early

NVDA $215 ATH: Violated Rule 8 (1.3% above, volume 0.83x)
Modified exception — conservative 5 shares
Result: -6.87% failed breakout, sold correctly

AGX May 3: Violated Rule 8 (15-17% above buy point)
Result: Waiting for base — correct discipline