qsx-score-free 0.4.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- qsx_score_free-0.4.0/LICENSE +22 -0
- qsx_score_free-0.4.0/PKG-INFO +238 -0
- qsx_score_free-0.4.0/README.md +206 -0
- qsx_score_free-0.4.0/pyproject.toml +42 -0
- qsx_score_free-0.4.0/qsx_score_free.egg-info/PKG-INFO +238 -0
- qsx_score_free-0.4.0/qsx_score_free.egg-info/SOURCES.txt +27 -0
- qsx_score_free-0.4.0/qsx_score_free.egg-info/dependency_links.txt +1 -0
- qsx_score_free-0.4.0/qsx_score_free.egg-info/entry_points.txt +2 -0
- qsx_score_free-0.4.0/qsx_score_free.egg-info/requires.txt +19 -0
- qsx_score_free-0.4.0/qsx_score_free.egg-info/top_level.txt +1 -0
- qsx_score_free-0.4.0/qsx_strategy_score/__init__.py +37 -0
- qsx_score_free-0.4.0/qsx_strategy_score/_version.py +6 -0
- qsx_score_free-0.4.0/qsx_strategy_score/asset_library.py +264 -0
- qsx_score_free-0.4.0/qsx_strategy_score/assets.py +430 -0
- qsx_score_free-0.4.0/qsx_strategy_score/cli.py +202 -0
- qsx_score_free-0.4.0/qsx_strategy_score/coaching.py +224 -0
- qsx_score_free-0.4.0/qsx_strategy_score/i18n.py +920 -0
- qsx_score_free-0.4.0/qsx_strategy_score/io.py +934 -0
- qsx_score_free-0.4.0/qsx_strategy_score/metrics.py +656 -0
- qsx_score_free-0.4.0/qsx_strategy_score/overlay_client.py +144 -0
- qsx_score_free-0.4.0/qsx_strategy_score/profiles.py +61 -0
- qsx_score_free-0.4.0/qsx_strategy_score/report.py +1492 -0
- qsx_score_free-0.4.0/qsx_strategy_score/report_preflight.py +358 -0
- qsx_score_free-0.4.0/qsx_strategy_score/scoring.py +988 -0
- qsx_score_free-0.4.0/qsx_strategy_score/triage.py +317 -0
- qsx_score_free-0.4.0/setup.cfg +4 -0
- qsx_score_free-0.4.0/tests/test_chrome_contract.py +14 -0
- qsx_score_free-0.4.0/tests/test_correctness_v040.py +351 -0
- qsx_score_free-0.4.0/tests/test_free_core.py +782 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 QuantScopeX
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
22
|
+
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: qsx-score-free
|
|
3
|
+
Version: 0.4.0
|
|
4
|
+
Summary: QuantScopeX Strategy Score — an open-source, overfitting-aware strategy scorecard from CSV/TSV/Excel returns, equity, or trade-log uploads.
|
|
5
|
+
Author: QuantScopeX
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://www.quantscopex.com/
|
|
8
|
+
Project-URL: HostedTool, https://www.quantscopex.com/score?utm_source=pypi&utm_medium=project_urls&utm_campaign=qsx_strategy_score
|
|
9
|
+
Project-URL: FullAuditReport, https://www.quantscopex.com/report?utm_source=pypi&utm_medium=project_urls&utm_campaign=qsx_strategy_score
|
|
10
|
+
Project-URL: Source, https://github.com/jianweiweng05/qsx-strategy-score
|
|
11
|
+
Project-URL: Issues, https://github.com/jianweiweng05/qsx-strategy-score/issues
|
|
12
|
+
Keywords: quant,trading,backtest,strategy,score,sharpe,overfitting,psr,crypto
|
|
13
|
+
Requires-Python: >=3.9
|
|
14
|
+
Description-Content-Type: text/markdown
|
|
15
|
+
License-File: LICENSE
|
|
16
|
+
Requires-Dist: numpy>=1.21
|
|
17
|
+
Requires-Dist: pandas>=1.4
|
|
18
|
+
Provides-Extra: card
|
|
19
|
+
Requires-Dist: matplotlib>=3.5; extra == "card"
|
|
20
|
+
Provides-Extra: app
|
|
21
|
+
Requires-Dist: streamlit>=1.20; extra == "app"
|
|
22
|
+
Requires-Dist: matplotlib>=3.5; extra == "app"
|
|
23
|
+
Provides-Extra: excel
|
|
24
|
+
Requires-Dist: openpyxl>=3.1; extra == "excel"
|
|
25
|
+
Requires-Dist: xlrd>=2.0; extra == "excel"
|
|
26
|
+
Provides-Extra: dev
|
|
27
|
+
Requires-Dist: pytest>=7.0; extra == "dev"
|
|
28
|
+
Requires-Dist: matplotlib>=3.5; extra == "dev"
|
|
29
|
+
Requires-Dist: openpyxl>=3.1; extra == "dev"
|
|
30
|
+
Requires-Dist: xlrd>=2.0; extra == "dev"
|
|
31
|
+
Dynamic: license-file
|
|
32
|
+
|
|
33
|
+
# QSX Strategy Score
|
|
34
|
+
|
|
35
|
+
[](https://github.com/jianweiweng05/qsx-strategy-score/actions/workflows/tests.yml)
|
|
36
|
+
[](LICENSE)
|
|
37
|
+
[](pyproject.toml)
|
|
38
|
+
|
|
39
|
+
Free open-source backtest screener for trading strategies.
|
|
40
|
+
|
|
41
|
+
Upload a return curve, equity curve, or trade log. In a few minutes, see whether the path looks more like alpha, market beta, luck, or a backtest that needs more evidence — without creating an account.
|
|
42
|
+
|
|
43
|
+
[**Try the free strategy scorecard**](https://www.quantscopex.com/score?utm_source=github&utm_medium=readme&utm_campaign=qsx_strategy_score&utm_content=hero_scorecard)
|
|
44
|
+
|
|
45
|
+
Other ways to use it: [install the free Chrome extension](https://chromewebstore.google.com/detail/qsx-strategy-score/ledfoflekcjogmfnmomcnlkinfpblgck) · [run it locally](#install-and-run) · [free TradingView indicator](https://www.tradingview.com/script/nY7jGyZu/) · [Overlay Preview](https://www.quantscopex.com/tools?utm_source=github&utm_medium=readme&utm_campaign=qsx_strategy_score&utm_content=overlay) · [full audit report](https://www.quantscopex.com/report?utm_source=github&utm_medium=readme&utm_campaign=qsx_strategy_score&utm_content=audit_report) · [security](SECURITY.md)
|
|
46
|
+
|
|
47
|
+
**中文 30 秒入口:** [免费网页评分与内置样例](https://www.quantscopex.com/zh/score?utm_source=github&utm_medium=readme&utm_campaign=qsx_strategy_score&utm_content=zh_quickstart)。账户收益/净值可做历史路径初筛;平仓交易日志只给描述统计,不计算账户分数或 Overlay。无需注册。也可按下方步骤本地安装,用 `--lang zh` 输出中文;CLI 支持六种语言。
|
|
48
|
+
|
|
49
|
+
Scoring thresholds and hosted components may still change before v1.0.
|
|
50
|
+
|
|
51
|
+
Upload actual account returns or equity to get a **QSX Score** from 0 to 100 and historical screening checks. Closed-trade logs provide descriptive trade statistics only; account performance, risk, ratings and Overlay are N/A.
|
|
52
|
+
|
|
53
|
+
- QSX Score and grade
|
|
54
|
+
- Overfit and too-good-to-be-true checks
|
|
55
|
+
- Buy-and-hold comparison
|
|
56
|
+
- Random timing test
|
|
57
|
+
- Monte Carlo stress test
|
|
58
|
+
- Shareable PNG scorecard
|
|
59
|
+
- Localized CLI, PNG scorecard, and web output (`en`, `zh`, `ja`, `ko`, `es`, `pt-BR`)
|
|
60
|
+
- Free Chrome extension
|
|
61
|
+
- Optional QSX Overlay Preview
|
|
62
|
+
|
|
63
|
+
Many strategies with a positive edge still fail because of poor risk sizing and exposure control. The optional Overlay Preview lets you test whether dynamic risk sizing may improve your own strategy.
|
|
64
|
+
|
|
65
|
+
## Free Chrome Extension
|
|
66
|
+
|
|
67
|
+
QSX Strategy Score is now available on the Chrome Web Store: [install the free Chrome extension](https://chromewebstore.google.com/detail/qsx-strategy-score/ledfoflekcjogmfnmomcnlkinfpblgck).
|
|
68
|
+
|
|
69
|
+
The extension is completely free. It lets you upload strategy exports, return curves, equity curves, or closed-trade logs directly from Chrome without setting up Python. Account paths receive screening checks; closed-trade logs receive descriptive statistics.
|
|
70
|
+
|
|
71
|
+
## Free TradingView Indicator
|
|
72
|
+
|
|
73
|
+
We also publish a free open-source TradingView script: [QSX Crypto Bottom & Top Risk Radar](https://www.tradingview.com/script/nY7jGyZu/).
|
|
74
|
+
|
|
75
|
+
It is a crypto market-context radar, not a trading bot or position-sizing engine. The script combines BTC perpetual long/short account ratio percentiles with trend, volatility, and trend-strength filters to mark sparse states such as `BOTTOM`, `CALM`, `TOP RISK`, and `HIGH RISK`.
|
|
76
|
+
|
|
77
|
+
If it helps your chart workflow, open it on TradingView, add it to a chart, and consider liking or favoriting it so more traders can find the free indicator.
|
|
78
|
+
|
|
79
|
+

|
|
80
|
+
|
|
81
|
+
## Positioning
|
|
82
|
+
|
|
83
|
+
QSX Strategy Score is not a replacement for QuantStats, pyfolio, or a full research notebook.
|
|
84
|
+
|
|
85
|
+
Use QuantStats when you want a detailed performance tear sheet. Use QSX Strategy Score when you want a fast screening answer:
|
|
86
|
+
|
|
87
|
+
```text
|
|
88
|
+
Is this backtest worth deeper due diligence, or does it look fragile, lucky, overfit, or mostly beta?
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
The output is intentionally compact: one path-quality score, evidence status, the main failure modes, a shareable scorecard, and an optional QSX Overlay Preview.
|
|
92
|
+
|
|
93
|
+
## How grades work
|
|
94
|
+
|
|
95
|
+
Version 0.4.0 narrows timing qualification to supported daily account-path comparisons. Unsupported inputs show a reason and N/A. The displayed path-risk index excludes search risk; omitted search-trial counts are unknown. See the [input and comparison contract](docs/input-comparison-contract.md).
|
|
96
|
+
|
|
97
|
+
The 0-100 number describes the uploaded path. It does **not** prove real alpha or production readiness.
|
|
98
|
+
|
|
99
|
+
- `PROVISIONAL` means the path may look promising, but benchmark, random-control, sample, or track-record evidence is still incomplete.
|
|
100
|
+
- `GOLD`, `SILVER`, and `BRONZE` require comparable benchmark evidence and passed available free checks.
|
|
101
|
+
- `NEEDS WORK` and `FLAGGED` indicate a material weakness or a backtest that should be verified before trusting its score.
|
|
102
|
+
|
|
103
|
+
Read the [calibration policy](docs/calibration.md) and [release governance](docs/release-governance.md) for the exact boundaries and version policy.
|
|
104
|
+
|
|
105
|
+
Scorecards link to a full audit-report workflow at `quantscopex.com/report` for users who want deeper due diligence after screening.
|
|
106
|
+
|
|
107
|
+
## Overlay Preview
|
|
108
|
+
|
|
109
|
+
QSX Strategy Score can preview an external risk-sizing layer:
|
|
110
|
+
|
|
111
|
+
**QSX Crypto Universal Position Engine 1.0**
|
|
112
|
+
|
|
113
|
+
It is not an entry signal, exit signal, or coin selector. It is designed as an overlay that sits outside your original strategy:
|
|
114
|
+
|
|
115
|
+
```text
|
|
116
|
+
original strategy returns x QSX dynamic exposure = overlay-adjusted curve
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
Inspect the [current published Controller evidence](https://www.quantscopex.com/tools?utm_source=github&utm_medium=readme&utm_campaign=qsx_strategy_score&utm_content=overlay_evidence) and its model version, data cutoff, costs and limitations. Historical results do not guarantee improvement on your strategy.
|
|
120
|
+
|
|
121
|
+
Overlay Preview does not accept trade logs. Upload actual account equity or daily returns; trade endpoints cannot identify the intervening account drawdown.
|
|
122
|
+
|
|
123
|
+
## Install and Run
|
|
124
|
+
|
|
125
|
+
The current core release is **v0.4.0**. The GitHub tag installation below is available independently of package-registry availability. `qsx-score-free` is the distribution name; GitHub release artifacts and PyPI publication are separate. Python 3.9–3.12 and Git are required for this source-install path.
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
git clone --branch v0.4.0 --depth 1 https://github.com/jianweiweng05/qsx-strategy-score.git
|
|
129
|
+
cd qsx-strategy-score
|
|
130
|
+
python3 -m venv .venv
|
|
131
|
+
source .venv/bin/activate
|
|
132
|
+
python -m pip install --upgrade pip
|
|
133
|
+
python -m pip install -e ".[app,excel]"
|
|
134
|
+
qsx-score --version
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
On Windows, activate with `.venv\Scripts\activate` instead. For CLI-only use, `python -m pip install -e .` installs the core dependencies without Streamlit or Excel support.
|
|
138
|
+
|
|
139
|
+
Run a bundled example without a market-data download:
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
qsx-score examples/sample_returns.csv --no-auto-asset --lang en
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
Missing benchmark evidence keeps the result provisional; it is not a failed installation. For a BTC comparison, download benchmark data first (requires access to the public data source), then score:
|
|
146
|
+
|
|
147
|
+
```bash
|
|
148
|
+
python -m qsx_strategy_score.assets --keys BTC
|
|
149
|
+
qsx-score examples/strategy_alpha.csv --asset BTC --lang en
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
Alternatively use `--benchmark your_prices.csv` with actual overlapping `date,close` prices. Local scoring itself does not upload strategy data. The optional data refresh and hosted Overlay Preview require network access.
|
|
153
|
+
|
|
154
|
+
Supported languages:
|
|
155
|
+
|
|
156
|
+
```bash
|
|
157
|
+
qsx-score examples/sample_returns.csv --no-auto-asset --lang zh
|
|
158
|
+
qsx-score examples/sample_returns.csv --no-auto-asset --lang ja
|
|
159
|
+
qsx-score examples/sample_returns.csv --no-auto-asset --lang ko
|
|
160
|
+
qsx-score examples/sample_returns.csv --no-auto-asset --lang es
|
|
161
|
+
qsx-score examples/sample_returns.csv --no-auto-asset --lang pt-BR
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
Export a shareable PNG, a three-page free diagnostic PDF, and JSON:
|
|
165
|
+
|
|
166
|
+
```bash
|
|
167
|
+
qsx-score examples/sample_returns.csv --no-auto-asset --out card.png --pdf diagnostic.pdf --json report.json
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
Run the web app:
|
|
171
|
+
|
|
172
|
+
```bash
|
|
173
|
+
streamlit run app/streamlit_app.py
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
## Read the result
|
|
177
|
+
|
|
178
|
+
Read the evidence status and reason beside the path score. `PROVISIONAL` or N/A asks for the missing evidence or explains an unsupported comparison; it is not an instruction to buy a report. A material failed check remains visible. A passing daily proxy cannot certify real alpha, and calibration remains `VALIDATED=False`.
|
|
179
|
+
|
|
180
|
+
## Input Formats
|
|
181
|
+
|
|
182
|
+
Returns:
|
|
183
|
+
|
|
184
|
+
```csv
|
|
185
|
+
date,return
|
|
186
|
+
2021-01-01,0.012
|
|
187
|
+
2021-01-02,-0.004
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
Equity curve:
|
|
191
|
+
|
|
192
|
+
```csv
|
|
193
|
+
date,equity
|
|
194
|
+
2021-01-01,10000
|
|
195
|
+
2021-01-02,10120
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
Trade log:
|
|
199
|
+
|
|
200
|
+
```csv
|
|
201
|
+
entry_time,exit_time,pnl_pct,side,symbol
|
|
202
|
+
2021-01-01,2021-02-01,3.2,LONG,DOGE
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
CSV, TSV and TXT are supported; Excel needs the `excel` extra. TradingView-style exports must satisfy the same input contract. Supported closed-trade logs require every entry/exit timestamp and one symbol, with no overlap; they return descriptive statistics only. Use real account returns or NAV for account performance and Overlay. See the [exact input and comparison contract](docs/input-comparison-contract.md).
|
|
206
|
+
|
|
207
|
+
## Docs
|
|
208
|
+
|
|
209
|
+
- [Scoring model](docs/scoring.md)
|
|
210
|
+
- [Reproducible v0.4.0 screening examples](docs/case-studies.md)
|
|
211
|
+
- [Calibration policy](docs/calibration.md)
|
|
212
|
+
- [Release governance](docs/release-governance.md)
|
|
213
|
+
- [QSX Overlay Preview](docs/overlay.md)
|
|
214
|
+
- [Privacy boundary](docs/privacy.md)
|
|
215
|
+
- [Security policy](SECURITY.md)
|
|
216
|
+
- [Methodology notes](docs/methodology.md)
|
|
217
|
+
|
|
218
|
+
## Choose the next step
|
|
219
|
+
|
|
220
|
+
| Your task | Free first step | Optional paid product |
|
|
221
|
+
| --- | --- | --- |
|
|
222
|
+
| Investigate your own backtest | [Strategy Score](https://www.quantscopex.com/score?utm_source=github&utm_medium=readme&utm_campaign=qsx_strategy_score&utm_content=screening) | [Pro Audit](https://www.quantscopex.com/report?utm_source=github&utm_medium=readme&utm_campaign=qsx_strategy_score&utm_content=audit_report), **$99 once** for deeper diagnosis of the submitted history and whether to enter the next validation stage |
|
|
223
|
+
| Manage existing crypto exposure | [Overlay compatibility Preview](https://www.quantscopex.com/tools?utm_source=github&utm_medium=readme&utm_campaign=qsx_strategy_score&utm_content=overlay#free-risk-check), using actual account returns/NAV | Risk Controller, **$79/month or $799/year**, for current model exposure, risk state and change alerts |
|
|
224
|
+
| Study a BTC/ETH model portfolio | [Public evidence and delivery sample](https://www.quantscopex.com/model-portfolios?utm_source=github&utm_medium=readme&utm_campaign=qsx_strategy_score&utm_content=portfolio#delivery-sample) | BTC/ETH research, **$149/month**, including Controller access |
|
|
225
|
+
|
|
226
|
+
Choose by need; these are not sequential upgrades. Preview is a free, optional compatibility check, not a subscription benefit. BTC/ETH final model weights already include their own controls: do not multiply them by the Controller again. Pro Audit uses sanitized performance history and stated assumptions, not your strategy source code; it does not approve live trading or provide a portfolio allocation.
|
|
227
|
+
|
|
228
|
+
## Important Limitations
|
|
229
|
+
|
|
230
|
+
Free = screening, not proof. QSX Strategy Score is computed from the uploaded performance path; it does not inspect strategy code, raw market data, execution simulation, exchange fills, or the full parameter-search process.
|
|
231
|
+
|
|
232
|
+
It cannot prove the absence of code-level look-ahead, survivorship bias, unrealistic fills or slippage, hidden leverage, capacity constraints, manual selection, or train/validation contamination.
|
|
233
|
+
|
|
234
|
+
A high score is not investment advice. A flagged score does not prove a strategy is fake; it means the backtest method should be checked before trusting the result.
|
|
235
|
+
|
|
236
|
+
## License
|
|
237
|
+
|
|
238
|
+
MIT.
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
# QSX Strategy Score
|
|
2
|
+
|
|
3
|
+
[](https://github.com/jianweiweng05/qsx-strategy-score/actions/workflows/tests.yml)
|
|
4
|
+
[](LICENSE)
|
|
5
|
+
[](pyproject.toml)
|
|
6
|
+
|
|
7
|
+
Free open-source backtest screener for trading strategies.
|
|
8
|
+
|
|
9
|
+
Upload a return curve, equity curve, or trade log. In a few minutes, see whether the path looks more like alpha, market beta, luck, or a backtest that needs more evidence — without creating an account.
|
|
10
|
+
|
|
11
|
+
[**Try the free strategy scorecard**](https://www.quantscopex.com/score?utm_source=github&utm_medium=readme&utm_campaign=qsx_strategy_score&utm_content=hero_scorecard)
|
|
12
|
+
|
|
13
|
+
Other ways to use it: [install the free Chrome extension](https://chromewebstore.google.com/detail/qsx-strategy-score/ledfoflekcjogmfnmomcnlkinfpblgck) · [run it locally](#install-and-run) · [free TradingView indicator](https://www.tradingview.com/script/nY7jGyZu/) · [Overlay Preview](https://www.quantscopex.com/tools?utm_source=github&utm_medium=readme&utm_campaign=qsx_strategy_score&utm_content=overlay) · [full audit report](https://www.quantscopex.com/report?utm_source=github&utm_medium=readme&utm_campaign=qsx_strategy_score&utm_content=audit_report) · [security](SECURITY.md)
|
|
14
|
+
|
|
15
|
+
**中文 30 秒入口:** [免费网页评分与内置样例](https://www.quantscopex.com/zh/score?utm_source=github&utm_medium=readme&utm_campaign=qsx_strategy_score&utm_content=zh_quickstart)。账户收益/净值可做历史路径初筛;平仓交易日志只给描述统计,不计算账户分数或 Overlay。无需注册。也可按下方步骤本地安装,用 `--lang zh` 输出中文;CLI 支持六种语言。
|
|
16
|
+
|
|
17
|
+
Scoring thresholds and hosted components may still change before v1.0.
|
|
18
|
+
|
|
19
|
+
Upload actual account returns or equity to get a **QSX Score** from 0 to 100 and historical screening checks. Closed-trade logs provide descriptive trade statistics only; account performance, risk, ratings and Overlay are N/A.
|
|
20
|
+
|
|
21
|
+
- QSX Score and grade
|
|
22
|
+
- Overfit and too-good-to-be-true checks
|
|
23
|
+
- Buy-and-hold comparison
|
|
24
|
+
- Random timing test
|
|
25
|
+
- Monte Carlo stress test
|
|
26
|
+
- Shareable PNG scorecard
|
|
27
|
+
- Localized CLI, PNG scorecard, and web output (`en`, `zh`, `ja`, `ko`, `es`, `pt-BR`)
|
|
28
|
+
- Free Chrome extension
|
|
29
|
+
- Optional QSX Overlay Preview
|
|
30
|
+
|
|
31
|
+
Many strategies with a positive edge still fail because of poor risk sizing and exposure control. The optional Overlay Preview lets you test whether dynamic risk sizing may improve your own strategy.
|
|
32
|
+
|
|
33
|
+
## Free Chrome Extension
|
|
34
|
+
|
|
35
|
+
QSX Strategy Score is now available on the Chrome Web Store: [install the free Chrome extension](https://chromewebstore.google.com/detail/qsx-strategy-score/ledfoflekcjogmfnmomcnlkinfpblgck).
|
|
36
|
+
|
|
37
|
+
The extension is completely free. It lets you upload strategy exports, return curves, equity curves, or closed-trade logs directly from Chrome without setting up Python. Account paths receive screening checks; closed-trade logs receive descriptive statistics.
|
|
38
|
+
|
|
39
|
+
## Free TradingView Indicator
|
|
40
|
+
|
|
41
|
+
We also publish a free open-source TradingView script: [QSX Crypto Bottom & Top Risk Radar](https://www.tradingview.com/script/nY7jGyZu/).
|
|
42
|
+
|
|
43
|
+
It is a crypto market-context radar, not a trading bot or position-sizing engine. The script combines BTC perpetual long/short account ratio percentiles with trend, volatility, and trend-strength filters to mark sparse states such as `BOTTOM`, `CALM`, `TOP RISK`, and `HIGH RISK`.
|
|
44
|
+
|
|
45
|
+
If it helps your chart workflow, open it on TradingView, add it to a chart, and consider liking or favoriting it so more traders can find the free indicator.
|
|
46
|
+
|
|
47
|
+

|
|
48
|
+
|
|
49
|
+
## Positioning
|
|
50
|
+
|
|
51
|
+
QSX Strategy Score is not a replacement for QuantStats, pyfolio, or a full research notebook.
|
|
52
|
+
|
|
53
|
+
Use QuantStats when you want a detailed performance tear sheet. Use QSX Strategy Score when you want a fast screening answer:
|
|
54
|
+
|
|
55
|
+
```text
|
|
56
|
+
Is this backtest worth deeper due diligence, or does it look fragile, lucky, overfit, or mostly beta?
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
The output is intentionally compact: one path-quality score, evidence status, the main failure modes, a shareable scorecard, and an optional QSX Overlay Preview.
|
|
60
|
+
|
|
61
|
+
## How grades work
|
|
62
|
+
|
|
63
|
+
Version 0.4.0 narrows timing qualification to supported daily account-path comparisons. Unsupported inputs show a reason and N/A. The displayed path-risk index excludes search risk; omitted search-trial counts are unknown. See the [input and comparison contract](docs/input-comparison-contract.md).
|
|
64
|
+
|
|
65
|
+
The 0-100 number describes the uploaded path. It does **not** prove real alpha or production readiness.
|
|
66
|
+
|
|
67
|
+
- `PROVISIONAL` means the path may look promising, but benchmark, random-control, sample, or track-record evidence is still incomplete.
|
|
68
|
+
- `GOLD`, `SILVER`, and `BRONZE` require comparable benchmark evidence and passed available free checks.
|
|
69
|
+
- `NEEDS WORK` and `FLAGGED` indicate a material weakness or a backtest that should be verified before trusting its score.
|
|
70
|
+
|
|
71
|
+
Read the [calibration policy](docs/calibration.md) and [release governance](docs/release-governance.md) for the exact boundaries and version policy.
|
|
72
|
+
|
|
73
|
+
Scorecards link to a full audit-report workflow at `quantscopex.com/report` for users who want deeper due diligence after screening.
|
|
74
|
+
|
|
75
|
+
## Overlay Preview
|
|
76
|
+
|
|
77
|
+
QSX Strategy Score can preview an external risk-sizing layer:
|
|
78
|
+
|
|
79
|
+
**QSX Crypto Universal Position Engine 1.0**
|
|
80
|
+
|
|
81
|
+
It is not an entry signal, exit signal, or coin selector. It is designed as an overlay that sits outside your original strategy:
|
|
82
|
+
|
|
83
|
+
```text
|
|
84
|
+
original strategy returns x QSX dynamic exposure = overlay-adjusted curve
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
Inspect the [current published Controller evidence](https://www.quantscopex.com/tools?utm_source=github&utm_medium=readme&utm_campaign=qsx_strategy_score&utm_content=overlay_evidence) and its model version, data cutoff, costs and limitations. Historical results do not guarantee improvement on your strategy.
|
|
88
|
+
|
|
89
|
+
Overlay Preview does not accept trade logs. Upload actual account equity or daily returns; trade endpoints cannot identify the intervening account drawdown.
|
|
90
|
+
|
|
91
|
+
## Install and Run
|
|
92
|
+
|
|
93
|
+
The current core release is **v0.4.0**. The GitHub tag installation below is available independently of package-registry availability. `qsx-score-free` is the distribution name; GitHub release artifacts and PyPI publication are separate. Python 3.9–3.12 and Git are required for this source-install path.
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
git clone --branch v0.4.0 --depth 1 https://github.com/jianweiweng05/qsx-strategy-score.git
|
|
97
|
+
cd qsx-strategy-score
|
|
98
|
+
python3 -m venv .venv
|
|
99
|
+
source .venv/bin/activate
|
|
100
|
+
python -m pip install --upgrade pip
|
|
101
|
+
python -m pip install -e ".[app,excel]"
|
|
102
|
+
qsx-score --version
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
On Windows, activate with `.venv\Scripts\activate` instead. For CLI-only use, `python -m pip install -e .` installs the core dependencies without Streamlit or Excel support.
|
|
106
|
+
|
|
107
|
+
Run a bundled example without a market-data download:
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
qsx-score examples/sample_returns.csv --no-auto-asset --lang en
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
Missing benchmark evidence keeps the result provisional; it is not a failed installation. For a BTC comparison, download benchmark data first (requires access to the public data source), then score:
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
python -m qsx_strategy_score.assets --keys BTC
|
|
117
|
+
qsx-score examples/strategy_alpha.csv --asset BTC --lang en
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
Alternatively use `--benchmark your_prices.csv` with actual overlapping `date,close` prices. Local scoring itself does not upload strategy data. The optional data refresh and hosted Overlay Preview require network access.
|
|
121
|
+
|
|
122
|
+
Supported languages:
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
qsx-score examples/sample_returns.csv --no-auto-asset --lang zh
|
|
126
|
+
qsx-score examples/sample_returns.csv --no-auto-asset --lang ja
|
|
127
|
+
qsx-score examples/sample_returns.csv --no-auto-asset --lang ko
|
|
128
|
+
qsx-score examples/sample_returns.csv --no-auto-asset --lang es
|
|
129
|
+
qsx-score examples/sample_returns.csv --no-auto-asset --lang pt-BR
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
Export a shareable PNG, a three-page free diagnostic PDF, and JSON:
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
qsx-score examples/sample_returns.csv --no-auto-asset --out card.png --pdf diagnostic.pdf --json report.json
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
Run the web app:
|
|
139
|
+
|
|
140
|
+
```bash
|
|
141
|
+
streamlit run app/streamlit_app.py
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
## Read the result
|
|
145
|
+
|
|
146
|
+
Read the evidence status and reason beside the path score. `PROVISIONAL` or N/A asks for the missing evidence or explains an unsupported comparison; it is not an instruction to buy a report. A material failed check remains visible. A passing daily proxy cannot certify real alpha, and calibration remains `VALIDATED=False`.
|
|
147
|
+
|
|
148
|
+
## Input Formats
|
|
149
|
+
|
|
150
|
+
Returns:
|
|
151
|
+
|
|
152
|
+
```csv
|
|
153
|
+
date,return
|
|
154
|
+
2021-01-01,0.012
|
|
155
|
+
2021-01-02,-0.004
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
Equity curve:
|
|
159
|
+
|
|
160
|
+
```csv
|
|
161
|
+
date,equity
|
|
162
|
+
2021-01-01,10000
|
|
163
|
+
2021-01-02,10120
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
Trade log:
|
|
167
|
+
|
|
168
|
+
```csv
|
|
169
|
+
entry_time,exit_time,pnl_pct,side,symbol
|
|
170
|
+
2021-01-01,2021-02-01,3.2,LONG,DOGE
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
CSV, TSV and TXT are supported; Excel needs the `excel` extra. TradingView-style exports must satisfy the same input contract. Supported closed-trade logs require every entry/exit timestamp and one symbol, with no overlap; they return descriptive statistics only. Use real account returns or NAV for account performance and Overlay. See the [exact input and comparison contract](docs/input-comparison-contract.md).
|
|
174
|
+
|
|
175
|
+
## Docs
|
|
176
|
+
|
|
177
|
+
- [Scoring model](docs/scoring.md)
|
|
178
|
+
- [Reproducible v0.4.0 screening examples](docs/case-studies.md)
|
|
179
|
+
- [Calibration policy](docs/calibration.md)
|
|
180
|
+
- [Release governance](docs/release-governance.md)
|
|
181
|
+
- [QSX Overlay Preview](docs/overlay.md)
|
|
182
|
+
- [Privacy boundary](docs/privacy.md)
|
|
183
|
+
- [Security policy](SECURITY.md)
|
|
184
|
+
- [Methodology notes](docs/methodology.md)
|
|
185
|
+
|
|
186
|
+
## Choose the next step
|
|
187
|
+
|
|
188
|
+
| Your task | Free first step | Optional paid product |
|
|
189
|
+
| --- | --- | --- |
|
|
190
|
+
| Investigate your own backtest | [Strategy Score](https://www.quantscopex.com/score?utm_source=github&utm_medium=readme&utm_campaign=qsx_strategy_score&utm_content=screening) | [Pro Audit](https://www.quantscopex.com/report?utm_source=github&utm_medium=readme&utm_campaign=qsx_strategy_score&utm_content=audit_report), **$99 once** for deeper diagnosis of the submitted history and whether to enter the next validation stage |
|
|
191
|
+
| Manage existing crypto exposure | [Overlay compatibility Preview](https://www.quantscopex.com/tools?utm_source=github&utm_medium=readme&utm_campaign=qsx_strategy_score&utm_content=overlay#free-risk-check), using actual account returns/NAV | Risk Controller, **$79/month or $799/year**, for current model exposure, risk state and change alerts |
|
|
192
|
+
| Study a BTC/ETH model portfolio | [Public evidence and delivery sample](https://www.quantscopex.com/model-portfolios?utm_source=github&utm_medium=readme&utm_campaign=qsx_strategy_score&utm_content=portfolio#delivery-sample) | BTC/ETH research, **$149/month**, including Controller access |
|
|
193
|
+
|
|
194
|
+
Choose by need; these are not sequential upgrades. Preview is a free, optional compatibility check, not a subscription benefit. BTC/ETH final model weights already include their own controls: do not multiply them by the Controller again. Pro Audit uses sanitized performance history and stated assumptions, not your strategy source code; it does not approve live trading or provide a portfolio allocation.
|
|
195
|
+
|
|
196
|
+
## Important Limitations
|
|
197
|
+
|
|
198
|
+
Free = screening, not proof. QSX Strategy Score is computed from the uploaded performance path; it does not inspect strategy code, raw market data, execution simulation, exchange fills, or the full parameter-search process.
|
|
199
|
+
|
|
200
|
+
It cannot prove the absence of code-level look-ahead, survivorship bias, unrealistic fills or slippage, hidden leverage, capacity constraints, manual selection, or train/validation contamination.
|
|
201
|
+
|
|
202
|
+
A high score is not investment advice. A flagged score does not prove a strategy is fake; it means the backtest method should be checked before trusting the result.
|
|
203
|
+
|
|
204
|
+
## License
|
|
205
|
+
|
|
206
|
+
MIT.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=61.0"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "qsx-score-free"
|
|
7
|
+
dynamic = ["version"]
|
|
8
|
+
description = "QuantScopeX Strategy Score — an open-source, overfitting-aware strategy scorecard from CSV/TSV/Excel returns, equity, or trade-log uploads."
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
requires-python = ">=3.9"
|
|
11
|
+
license = { text = "MIT" }
|
|
12
|
+
authors = [{ name = "QuantScopeX" }]
|
|
13
|
+
keywords = ["quant", "trading", "backtest", "strategy", "score", "sharpe", "overfitting", "psr", "crypto"]
|
|
14
|
+
dependencies = [
|
|
15
|
+
"numpy>=1.21",
|
|
16
|
+
"pandas>=1.4",
|
|
17
|
+
]
|
|
18
|
+
|
|
19
|
+
[project.urls]
|
|
20
|
+
Homepage = "https://www.quantscopex.com/"
|
|
21
|
+
HostedTool = "https://www.quantscopex.com/score?utm_source=pypi&utm_medium=project_urls&utm_campaign=qsx_strategy_score"
|
|
22
|
+
FullAuditReport = "https://www.quantscopex.com/report?utm_source=pypi&utm_medium=project_urls&utm_campaign=qsx_strategy_score"
|
|
23
|
+
Source = "https://github.com/jianweiweng05/qsx-strategy-score"
|
|
24
|
+
Issues = "https://github.com/jianweiweng05/qsx-strategy-score/issues"
|
|
25
|
+
|
|
26
|
+
[project.optional-dependencies]
|
|
27
|
+
card = ["matplotlib>=3.5"]
|
|
28
|
+
app = ["streamlit>=1.20", "matplotlib>=3.5"]
|
|
29
|
+
excel = ["openpyxl>=3.1", "xlrd>=2.0"]
|
|
30
|
+
dev = ["pytest>=7.0", "matplotlib>=3.5", "openpyxl>=3.1", "xlrd>=2.0"]
|
|
31
|
+
|
|
32
|
+
[project.scripts]
|
|
33
|
+
qsx-score = "qsx_strategy_score.cli:main"
|
|
34
|
+
|
|
35
|
+
[tool.setuptools.packages.find]
|
|
36
|
+
include = ["qsx_strategy_score*"]
|
|
37
|
+
|
|
38
|
+
[tool.pytest.ini_options]
|
|
39
|
+
testpaths = ["tests"]
|
|
40
|
+
|
|
41
|
+
[tool.setuptools.dynamic]
|
|
42
|
+
version = {attr = "qsx_strategy_score._version.__version__"}
|