Skip to content

Commit 6497daa

Browse files
PerHac13Satvik-Singh192
authored andcommitted
chore: update readme
1 parent f230d03 commit 6497daa

File tree

1 file changed

+17
-135
lines changed

1 file changed

+17
-135
lines changed

README.md

Lines changed: 17 additions & 135 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,23 @@
11
# QuantResearchStarter
22

3-
[![Python Version](https://img.shields.io/badge/python-3.10%2B-blue)](https://www.python.org/)
4-
[![License: MIT](https://img.shields.io/badge/license-MIT-green)](LICENSE)
5-
[![CI](https://github.com/username/QuantResearchStarter/actions/workflows/ci.yml/badge.svg)](https://github.com/username/QuantResearchStarter/actions)
6-
7-
A modular, open-source quantitative research and backtesting framework built for clarity, reproducibility, and extensibility. Ideal for researchers, students, and engineers building and testing systematic strategies.
8-
9-
---
10-
11-
## Why this project
3+
A modular, open-source quantitative research and backtesting framework designed for clarity and extensibility. Perfect for researchers, students, and developers interested in quantitative finance.
124

13-
QuantResearchStarter provides a clean, well-documented starting point for quantitative research and backtesting. Its priorities are:
14-
15-
* **Readability**: idiomatic Python, type hints, and small modules you can read and change quickly.
16-
* **Testability**: deterministic vectorized backtests with unit tests and CI.
17-
* **Extensibility**: plugin-friendly factor & data adapters so you can try new ideas fast.
18-
19-
---
5+
![Python Version](https://img.shields.io/badge/python-3.10%2B-blue)
6+
![License](https://img.shields.io/badge/license-MIT-green)
7+
[![CI](https://github.com/username/QuantResearchStarter/actions/workflows/ci.yml/badge.svg)](https://github.com/username/QuantResearchStarter/actions)
208

219
## Features
2210

23-
* **Data management** — download market data or generate synthetic price series for experiments.
24-
* **Factor library** — example implementations of momentum, value, size, and volatility factors.
25-
* **Vectorized backtesting engine** — supports transaction costs, slippage, and portfolio constraints.
26-
* **Risk & performance analytics** — returns, drawdowns, Sharpe, turnover, and other risk metrics.
27-
* **CLI & scripts** — small tools to generate data, compute factors, and run backtests from the terminal.
28-
* **Production-ready utilities** — type hints, tests, continuous integration, and documentation scaffolding.
11+
- **Data Management**: Download real data or generate synthetic data for testing
12+
- **Factor Library**: Implement momentum, value, size, and volatility factors
13+
- **Backtesting Engine**: Vectorized backtester with transaction costs and constraints
14+
- **Risk Metrics**: Comprehensive performance and risk analytics
15+
- **Modular Design**: Easy to extend with new factors and strategies
16+
- **Production Ready**: Type hints, tests, CI/CD, and documentation
2917

30-
---
18+
## Quick Start
3119

32-
## Quick start
33-
34-
### Requirements
35-
36-
* Python 3.10+
37-
* pip
38-
39-
### Install locally
20+
### Installation
4021

4122
```bash
4223
# Clone the repository
@@ -46,125 +27,26 @@ cd QuantResearchStarter
4627
# Install package in development mode
4728
pip install -e .
4829

49-
# Install development dependencies (tests, linters, docs)
30+
# Install development dependencies
5031
pip install -e ".[dev]"
5132

52-
# Optional UI dependencies
33+
# Optional UI
5334
pip install streamlit plotly
5435
```
5536

56-
### Demo (one-line)
37+
### Quick Demo
5738

5839
```bash
5940
make demo
6041
```
6142

62-
### Step-by-step demo
43+
Or step-by-step:
6344

6445
```bash
65-
# generate synthetic sample price series
6646
qrs generate-data -o data_sample/sample_prices.csv -s 5 -d 365
67-
68-
# compute example factors
6947
qrs compute-factors -d data_sample/sample_prices.csv -f momentum -f value -o output/factors.csv
70-
71-
# run a backtest
7248
qrs backtest -d data_sample/sample_prices.csv -s output/factors.csv -o output/backtest_results.json
7349

74-
# optional: start the Streamlit dashboard
50+
# Streamlit dashboard (optional)
7551
streamlit run src/quant_research_starter/dashboard/streamlit_app.py
7652
```
77-
78-
---
79-
80-
## Minimal example
81-
82-
```python
83-
from quant_research_starter.backtest import Backtester
84-
from quant_research_starter.data import load_prices
85-
from quant_research_starter.factors import Momentum
86-
87-
prices = load_prices("data_sample/sample_prices.csv")
88-
factor = Momentum(window=63)
89-
scores = factor.compute(prices)
90-
91-
bt = Backtester(prices, signals=scores, capital=1_000_000)
92-
results = bt.run()
93-
print(results.performance.summary())
94-
```
95-
96-
> See the `examples/` directory for fully working notebooks and scripts.
97-
98-
---
99-
100-
## CLI reference
101-
102-
Run `qrs --help` or `qrs <command> --help` for full usage. Main commands include:
103-
104-
* `qrs generate-data` — create synthetic price series or download data from adapters
105-
* `qrs compute-factors` — calculate and export factor scores
106-
* `qrs backtest` — run the vectorized backtest and export results
107-
108-
---
109-
110-
## Project structure (overview)
111-
112-
```
113-
QuantResearchStarter/
114-
├─ src/quant_research_starter/
115-
│ ├─ data/ # data loaders & adapters
116-
│ ├─ factors/ # factor implementations
117-
│ ├─ backtest/ # backtester & portfolio logic
118-
│ ├─ analytics/ # performance and risk metrics
119-
│ ├─ cli/ # command line entry points
120-
│ └─ dashboard/ # optional Streamlit dashboard
121-
├─ examples/ # runnable notebooks & example strategies
122-
├─ tests/ # unit + integration tests
123-
└─ docs/ # documentation source
124-
```
125-
126-
---
127-
128-
## Tests & CI
129-
130-
Run unit tests locally with:
131-
132-
```bash
133-
pytest -q
134-
```
135-
136-
CI runs linting (ruff), formatting checks (black), and unit tests across supported Python versions. The workflow is defined in `.github/workflows/ci.yml`.
137-
138-
---
139-
140-
## Contributing
141-
142-
Contributions are welcome. Please follow these steps:
143-
144-
1. Fork the repository
145-
2. Create a descriptive branch (feature or fix)
146-
3. Add tests for new behavior
147-
4. Open a pull request with a clear description and rationale
148-
149-
Before submitting, ensure your tests pass and formatting/linting checks succeed.
150-
151-
---
152-
153-
## AI policy (short & practical)
154-
155-
**Yes — you may use AI tools** (ChatGPT, Copilot, etc.) to help write or review code and documentation. Please follow these guidelines:
156-
157-
* **Disclose** substantial AI assistance in the PR or commit message (e.g., "Generated with ChatGPT; reviewed and adapted by @your-username").
158-
* **Review thoroughly** all AI-generated code for correctness, security, numerical stability, and licensing concerns.
159-
* **Add tests** for AI-generated logic when applicable.
160-
* **Respect licenses**: do not paste or rely on large verbatim copyrighted snippets without appropriate permission or attribution.
161-
162-
This policy encourages fast iteration while maintaining quality and transparency.
163-
164-
---
165-
166-
## License
167-
168-
This project is available under the MIT License — see the `LICENSE` file for details.
169-
170-
---

0 commit comments

Comments
 (0)