Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,11 @@ The callable receives `(venue, config)` and returns a structural
`MarketDataProvider`. See [docs/provider-contract.md](docs/provider-contract.md)
for the normalized model and a complete skeleton.

Every provider must have a second-level API guide at
`docs/providers/<provider>.md` and a catalog row in
`docs/providers.md`. Keep provider-specific installation, constructor,
configuration, behavior, errors, and limitations out of the catalog page.

## Determinism and macro vintages

Historical results must be reproducible. Cache or snapshot mutable upstream
Expand Down
11 changes: 5 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,8 @@ the engine receives only normalized bars and ordered trades.
request, and local or remote backtest.
- [Normalized data model](docs/data-model.md) — instruments, contracts, bars,
live trades, macro vintages, and validation rules.
- [Using providers](docs/providers.md) — registry, CCXT market discovery,
historical bars, live trades, configuration, and errors.
- [Local files and databases](docs/local-data.md) — runtime schema discovery,
arbitrary CSV/SQLite DDL, SQLAlchemy databases, and column mappings.
- [Provider catalog](docs/providers.md) — shared lifecycle and second-level API
guides for CCXT, CSV, SQLite, and SQLAlchemy.
- [Backtesting](docs/backtesting.md) — CLI options, configuration files, runtime
channels, report schema, and reproducibility.
- [FastAPI server](docs/server.md) — concurrency, authentication, timeouts,
Expand Down Expand Up @@ -131,8 +129,9 @@ schema = await provider.inspect_schema()
SQL identifiers are validated against reflected metadata; filter values are
bound parameters. For complex transformations, expose a database view rather
than putting raw SQL in harness configuration. See the complete
[local-data guide](docs/local-data.md) for CSV, native read-only SQLite,
SQLAlchemy URLs, timestamp handling, symbol/timeframe semantics, and CLI JSON.
[provider catalog](docs/providers.md), with dedicated API guides for
[CSV](docs/providers/csv.md), [SQLite](docs/providers/sqlite.md), and
[SQLAlchemy](docs/providers/sqlalchemy.md).

## Direct backtest harness

Expand Down
3 changes: 2 additions & 1 deletion docs/backtesting.md
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,8 @@ The same harness accepts `--provider csv`, `--provider sqlite`, or
`--provider sqlalchemy`. Their provider configuration maps arbitrary source
columns to normalized OHLCV, while raw Pine and normalized bars follow the
same local-container or FastAPI path. See
[Local files and databases](local-data.md) for complete configuration examples.
the [provider catalog](providers.md) for their individual API and configuration
guides.

## Runtime image policy

Expand Down
3 changes: 1 addition & 2 deletions docs/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,6 @@ cache.
## Next steps

- [Learn the normalized data model](data-model.md).
- [Search and filter provider markets](providers.md).
- [Connect local CSV, SQLite, or SQLAlchemy data](local-data.md).
- [Choose a provider and open its API guide](providers.md).
- [Configure parameters, runtime channels, and reports](backtesting.md).
- [Deploy the concurrent server](server.md).
3 changes: 1 addition & 2 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,7 @@ exchange / broker / macro API
|---|---|
| Install the package and run a first backtest | [Getting started](getting-started.md) |
| Understand instruments, contracts, bars, trades, and macro vintages | [Data model](data-model.md) |
| Discover markets and use CCXT or another provider | [Using providers](providers.md) |
| Connect a CSV file, SQLite table, or SQLAlchemy database | [Local files and databases](local-data.md) |
| Choose a provider and open its API guide | [Provider catalog](providers.md) |
| Configure local and remote raw-Pine backtests | [Backtesting](backtesting.md) |
| Deploy and operate the concurrent FastAPI service | [FastAPI server](server.md) |
| Implement a new exchange or broker adapter | [Provider contract](provider-contract.md) |
Expand Down
296 changes: 0 additions & 296 deletions docs/local-data.md

This file was deleted.

8 changes: 8 additions & 0 deletions docs/provider-contract.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,3 +88,11 @@ passes `--venue` plus the JSON object from `--provider-config` to the factory.
- confirmed OHLCV behavior, pagination, deduplication, and source provenance;
- close/cleanup behavior and explicit missing-capability errors;
- no network access or credentials in CI.

## Documentation required for a provider PR

Add `docs/providers/<provider>.md` with installation, constructor and registry
configuration, supported capabilities, symbol semantics, examples, errors, and
limitations. Add the provider to the catalog in [providers.md](providers.md).
Provider-specific API details belong on that second-level page; keep the
catalog focused on discovery and shared lifecycle behavior.
Loading