Skip to content
Back to skills

Build Dataset

ASecurity

Run the NSE-noodles pipeline end to end (pull NSE bhavcopies, indices, corporate actions and lists, then build bars, the corporate-action DB, lineage and factor versions, the hindsight series and the reports), read the counts, and decide what to rerun or hand to research. Use when asked to build, refresh, extend or check the NSE dataset.

  • 3 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added October 25, 2026
datagobashgitsecurity

Works with

  • cli

Security analysis

A92/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro shows the line behind each finding and how to fix it

Scanned October 25, 2026

npx -y skills add abhij1306/NSE-noodles --skill build-dataset --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Build Dataset?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Build Dataset
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/abhij1306-build-dataset/badge)](https://www.skillsdirectory.com/skills/abhij1306-build-dataset)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: build-dataset
description: Run the NSE-noodles pipeline end to end (pull NSE bhavcopies, indices, corporate actions and lists, then build bars, the corporate-action DB, lineage and factor versions, the hindsight series and the reports), read the counts, and decide what to rerun or hand to research. Use when asked to build, refresh, extend or check the NSE dataset.
---

# Build the dataset

The CLI is `noodles` (`pip install -e .` in this repo). Every step is resumable and idempotent.

## Rules

- `--data DIR` must be outside any git repository. Never commit or paste data (prices, CA rows,
  research rows) into the repo, an issue or a PR.
- One pull at a time, default pace (2 s). Never lower `--interval` below 2. NSE's data and
  terms apply.
- Long pulls: run them in the background and wait for completion; do not poll in a loop.
- Never read `.env` or credentials; none are needed.

## Steps

1. Pull (each resumes where it stopped):
   ```bash
   noodles --data D pull bhavcopy --from 2011-06-22 [--to YYYY-MM-DD]
   noodles --data D build bars
   noodles --data D pull indices --from 2011-06-22
   noodles --data D pull nse --dataset corporate_actions --index equities sme --from 2011-01-01
   noodles --data D pull lists
   # optional, slow: announcements give instrument-class evidence for bonuses; announcements
   # and board meetings date demerger record-date notices (the demerger exit calendar)
   noodles --data D pull nse --dataset announcements board_meetings --from 2011-01-01
   ```
   Or everything in order: `noodles --data D run --from 2011-06-22`.
2. Build: `for s in bars ca-db actions hindsight reports; do noodles --data D build $s; done`
   (`--curation DIR` if the curation folder is not `D/curation`). For a backtest, also
   `noodles --data D build replay --as-of YYYY-MM-DD` per cutoff (the point-in-time replay).
   Keep `D/ledger/` with `D/raw/`: it is append-only and no rebuild recreates it.
3. Read the printed counts:
   - `bhavcopy.errors` / `indices.errors` / `failed` months: transient, rerun the same pull.
   - `coverage.gap`: weekdays with no file that no holiday list names. Add the true holidays
     to `curation/holidays.txt` (from NSE circulars), or refetch with `--recheck`.
   - `coverage.unaccounted`: never fetched; rerun the bhavcopy pull for that range.
   - `actions.review` reasons: see the README table. Demergers (`needs_research:*`) and rights
     (`no_issue_price`, `non_simple`, `ambiguous`) go to the `research-corporate-action` skill.
   - `reports.jumps` by security: equity jumps go to the `triage-jumps` skill; rights
     entitlements and fund units are expected.
   - `actions.available_at_unknown` / `reports.adjustment_log.available_at_unknown`: versions
     that never enter a replay (research or corrections without a source date: add the date
     the source shows, never an earlier one); `available_after_ex_date` counts events a
     backtest could only use some sessions after the ex-date (README, Point in time).
   - `reports.demerger_exits`: demergers exitable before their ex-date, and why the others are
     not. `not_exitable:announced_on_unknown` means no pulled filing writes the record date:
     pull announcements and board meetings for the range, or accept that those hold through.
   - `actions.disputed` / review `demerger_versions_disagree`: a demerger whose ratio-priced
     factor is more than 10% from its ex-date gap; research the ratio and the dates.
   - `actions.withdrawn_from_ledger`: versions an earlier build produced and this one did not
     (a research row edited or removed). Correct through `corrections.tsv` instead, which adds
     versions.
4. After curation changes (research CSVs, corrections, lineage overrides), rerun only
   `build actions`, `build hindsight`, `build reports`, and `build replay --as-of D` for every
   replay a backtest reads (a replay file keeps the versions of the build that wrote it).

## Done when

- No pull errors, `coverage.gap` and `unaccounted` empty (or explained),
- every `review` row is either researched, corrected or knowingly left (with a note),
- equity jumps in `out/jumps.csv` are all triaged.

Report the counts verbatim; never claim a step passed without its printed output.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.