mlquantx 0.2.5__tar.gz → 0.2.6__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.
- {mlquantx-0.2.5/src/mlquantx.egg-info → mlquantx-0.2.6}/PKG-INFO +19 -1
- {mlquantx-0.2.5 → mlquantx-0.2.6}/PYPI_README.md +16 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/README.md +13 -4
- {mlquantx-0.2.5 → mlquantx-0.2.6}/pyproject.toml +3 -1
- {mlquantx-0.2.5 → mlquantx-0.2.6}/src/mlquant/__init__.py +1 -1
- {mlquantx-0.2.5 → mlquantx-0.2.6}/src/mlquant/cli/main.py +17 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6/src/mlquantx.egg-info}/PKG-INFO +19 -1
- {mlquantx-0.2.5 → mlquantx-0.2.6}/tests/test_cli.py +7 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/LICENSE +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/NOTICE.md +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/setup.cfg +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/src/mlquant/backtest/__init__.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/src/mlquant/backtest/engine.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/src/mlquant/backtest/metrics.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/src/mlquant/cli/__init__.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/src/mlquant/configs/__init__.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/src/mlquant/configs/small.yaml +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/src/mlquant/data/__init__.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/src/mlquant/data/akshare_loader.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/src/mlquant/data/baostock_loader.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/src/mlquant/data/loaders.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/src/mlquant/data/panel.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/src/mlquant/data/synthetic.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/src/mlquant/data/yfinance_loader.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/src/mlquant/features/__init__.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/src/mlquant/features/_factors_add.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/src/mlquant/features/_factors_alpha101.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/src/mlquant/features/_factors_best.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/src/mlquant/features/_factors_better.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/src/mlquant/features/_factors_change.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/src/mlquant/features/_factors_extra.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/src/mlquant/features/_factors_market.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/src/mlquant/features/_factors_old.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/src/mlquant/features/_factors_original.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/src/mlquant/features/_factors_stock.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/src/mlquant/features/alpha101.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/src/mlquant/features/bias.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/src/mlquant/features/legacy_factors.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/src/mlquant/features/market_breadth.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/src/mlquant/features/neutralize.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/src/mlquant/features/target.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/src/mlquant/features/tensor_factors.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/src/mlquant/features.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/src/mlquant/models/__init__.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/src/mlquant/models/losses.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/src/mlquant/models/nets.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/src/mlquant/portfolio/__init__.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/src/mlquant/portfolio/frontier.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/src/mlquant/portfolio/markowitz.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/src/mlquant/training/__init__.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/src/mlquant/training/augment.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/src/mlquant/training/dataset.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/src/mlquant/training/trainer.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/src/mlquant/utils/__init__.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/src/mlquant/utils/config.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/src/mlquant/utils/seed.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/src/mlquantx.egg-info/SOURCES.txt +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/src/mlquantx.egg-info/dependency_links.txt +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/src/mlquantx.egg-info/entry_points.txt +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/src/mlquantx.egg-info/requires.txt +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/src/mlquantx.egg-info/top_level.txt +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/tests/test_aggregate_validation_reports.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/tests/test_akshare.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/tests/test_akshare_csi300_full_pipeline.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/tests/test_alpha101.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/tests/test_audit_validation_report.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/tests/test_augment.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/tests/test_baostock.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/tests/test_benchmark_tensor_factors.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/tests/test_bias.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/tests/test_cost_drag_units.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/tests/test_export_huggingface_artifacts.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/tests/test_losses.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/tests/test_markowitz.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/tests/test_metrics.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/tests/test_neutralize.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/tests/test_public_data_validation.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/tests/test_synthetic.py +0 -0
- {mlquantx-0.2.5 → mlquantx-0.2.6}/tests/test_tensor_factors.py +0 -0
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mlquantx
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.6
|
|
4
4
|
Summary: Reference implementation of ‘ML-Enhanced Multi-Factor Quantitative Trading’ (arXiv:2507.07107).
|
|
5
5
|
Author: Yimin Du
|
|
6
6
|
License-Expression: MIT
|
|
7
7
|
Project-URL: Homepage, https://github.com/initial-d/ml-quant-trading
|
|
8
|
+
Project-URL: Source, https://github.com/initial-d/ml-quant-trading
|
|
8
9
|
Project-URL: Documentation, https://initial-d.github.io/ml-quant-trading/
|
|
9
10
|
Project-URL: Paper, https://arxiv.org/abs/2507.07107
|
|
10
11
|
Project-URL: Issues, https://github.com/initial-d/ml-quant-trading/issues
|
|
12
|
+
Project-URL: Discussions, https://github.com/initial-d/ml-quant-trading/discussions
|
|
11
13
|
Project-URL: Changelog, https://github.com/initial-d/ml-quant-trading/blob/main/CHANGELOG.md
|
|
12
14
|
Keywords: quant,alpha,factor,portfolio,pytorch,markowitz
|
|
13
15
|
Classifier: Development Status :: 4 - Beta
|
|
@@ -74,6 +76,22 @@ training, portfolio construction, cost-aware backtesting, and Markdown/JSON
|
|
|
74
76
|
report generation. The default config ships inside the wheel, so the command
|
|
75
77
|
works outside a repository checkout.
|
|
76
78
|
|
|
79
|
+
## Customize or contribute
|
|
80
|
+
|
|
81
|
+
The wheel is the fastest way to try the project. Clone the repository when you
|
|
82
|
+
want to change factors, models, portfolio constraints, data sources, or
|
|
83
|
+
backtest assumptions:
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
git clone https://github.com/initial-d/ml-quant-trading.git
|
|
87
|
+
cd ml-quant-trading
|
|
88
|
+
python -m pip install -e '.[dev]'
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
If the demo saves you setup time, consider
|
|
92
|
+
[starring the repository](https://github.com/initial-d/ml-quant-trading) or
|
|
93
|
+
[sharing a reproducible run](https://github.com/initial-d/ml-quant-trading/issues/new?template=reproduction_report.yml).
|
|
94
|
+
|
|
77
95
|
## What is included
|
|
78
96
|
|
|
79
97
|
- 204 hand-crafted factors plus 9 curated Alpha101-style factors
|
|
@@ -21,6 +21,22 @@ training, portfolio construction, cost-aware backtesting, and Markdown/JSON
|
|
|
21
21
|
report generation. The default config ships inside the wheel, so the command
|
|
22
22
|
works outside a repository checkout.
|
|
23
23
|
|
|
24
|
+
## Customize or contribute
|
|
25
|
+
|
|
26
|
+
The wheel is the fastest way to try the project. Clone the repository when you
|
|
27
|
+
want to change factors, models, portfolio constraints, data sources, or
|
|
28
|
+
backtest assumptions:
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
git clone https://github.com/initial-d/ml-quant-trading.git
|
|
32
|
+
cd ml-quant-trading
|
|
33
|
+
python -m pip install -e '.[dev]'
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
If the demo saves you setup time, consider
|
|
37
|
+
[starring the repository](https://github.com/initial-d/ml-quant-trading) or
|
|
38
|
+
[sharing a reproducible run](https://github.com/initial-d/ml-quant-trading/issues/new?template=reproduction_report.yml).
|
|
39
|
+
|
|
24
40
|
## What is included
|
|
25
41
|
|
|
26
42
|
- 204 hand-crafted factors plus 9 curated Alpha101-style factors
|
|
@@ -22,10 +22,10 @@ Languages: [English](README.md) | [简体中文](README.zh-CN.md) | [繁體中
|
|
|
22
22
|
· [**See cost-aware results**](docs/validation_dashboard.md)
|
|
23
23
|
· [**Read the paper**](https://arxiv.org/abs/2507.07107)
|
|
24
24
|
|
|
25
|
-
> **New in v0.2.
|
|
25
|
+
> **New in v0.2.6 — PyPI-to-GitHub contributor path.**
|
|
26
26
|
> The distribution is published as `mlquantx`; the Python import package and
|
|
27
|
-
> command remain `mlquant`.
|
|
28
|
-
>
|
|
27
|
+
> command remain `mlquant`. The demo now links successful runs back to the
|
|
28
|
+
> source, reproduction form, and next contribution steps.
|
|
29
29
|
|
|
30
30
|
---
|
|
31
31
|
|
|
@@ -55,6 +55,15 @@ mlquant demo
|
|
|
55
55
|
No market-data account is required. The deterministic demo prints each pipeline
|
|
56
56
|
stage and writes a shareable Markdown/JSON report.
|
|
57
57
|
|
|
58
|
+
Ready to modify factors, models, data sources, or backtest assumptions? Switch
|
|
59
|
+
from the packaged demo to a source checkout:
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
git clone https://github.com/initial-d/ml-quant-trading.git
|
|
63
|
+
cd ml-quant-trading
|
|
64
|
+
python -m pip install -e '.[dev]'
|
|
65
|
+
```
|
|
66
|
+
|
|
58
67
|
## Fast Path
|
|
59
68
|
|
|
60
69
|
| If you want to... | Start here | What you get |
|
|
@@ -114,7 +123,7 @@ Successful and failed runs are both useful and credited.
|
|
|
114
123
|
**Other current calls for contributors**
|
|
115
124
|
|
|
116
125
|
- Join the [August 2026 reproduction challenge](https://github.com/initial-d/ml-quant-trading/discussions/43): run Colab once, then use the [structured report form](https://github.com/initial-d/ml-quant-trading/issues/new?template=reproduction_report.yml), whether it succeeds or fails.
|
|
117
|
-
- Try the [`v0.2.
|
|
126
|
+
- Try the [`v0.2.6` release](https://github.com/initial-d/ml-quant-trading/releases/tag/v0.2.6).
|
|
118
127
|
- Read the [Research Card](docs/research_card.md) for intended use, current evidence, and non-goals.
|
|
119
128
|
- Read the [public-data mini reproduction](docs/public_data_mini_reproduction.md).
|
|
120
129
|
- Share benchmark or public-data results in [Discussions #13](https://github.com/initial-d/ml-quant-trading/discussions/13).
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "mlquantx"
|
|
7
|
-
version = "0.2.
|
|
7
|
+
version = "0.2.6"
|
|
8
8
|
description = "Reference implementation of ‘ML-Enhanced Multi-Factor Quantitative Trading’ (arXiv:2507.07107)."
|
|
9
9
|
readme = "PYPI_README.md"
|
|
10
10
|
requires-python = ">=3.9"
|
|
@@ -57,9 +57,11 @@ mlquant = "mlquant.cli.main:main"
|
|
|
57
57
|
|
|
58
58
|
[project.urls]
|
|
59
59
|
Homepage = "https://github.com/initial-d/ml-quant-trading"
|
|
60
|
+
Source = "https://github.com/initial-d/ml-quant-trading"
|
|
60
61
|
Documentation = "https://initial-d.github.io/ml-quant-trading/"
|
|
61
62
|
Paper = "https://arxiv.org/abs/2507.07107"
|
|
62
63
|
Issues = "https://github.com/initial-d/ml-quant-trading/issues"
|
|
64
|
+
Discussions = "https://github.com/initial-d/ml-quant-trading/discussions"
|
|
63
65
|
Changelog = "https://github.com/initial-d/ml-quant-trading/blob/main/CHANGELOG.md"
|
|
64
66
|
|
|
65
67
|
[tool.setuptools.packages.find]
|
|
@@ -30,6 +30,12 @@ from ..utils.config import load_config
|
|
|
30
30
|
from ..utils.seed import seed_everything
|
|
31
31
|
|
|
32
32
|
|
|
33
|
+
PROJECT_URL = "https://github.com/initial-d/ml-quant-trading"
|
|
34
|
+
REPRODUCTION_REPORT_URL = (
|
|
35
|
+
f"{PROJECT_URL}/issues/new?template=reproduction_report.yml"
|
|
36
|
+
)
|
|
37
|
+
|
|
38
|
+
|
|
33
39
|
def _artifacts_dir(cfg) -> Path:
|
|
34
40
|
p = Path(cfg.get("artifacts_dir", "artifacts"))
|
|
35
41
|
p.mkdir(parents=True, exist_ok=True)
|
|
@@ -50,6 +56,8 @@ def _write_backtest_summary(
|
|
|
50
56
|
}
|
|
51
57
|
payload = {
|
|
52
58
|
"project": "ml-quant-trading",
|
|
59
|
+
"repository": PROJECT_URL,
|
|
60
|
+
"reproduction_report": REPRODUCTION_REPORT_URL,
|
|
53
61
|
"workflow": "synthetic factor-to-backtest demo",
|
|
54
62
|
"config": config_path,
|
|
55
63
|
"costs_bps": float(costs_bps),
|
|
@@ -78,6 +86,11 @@ def _write_backtest_summary(
|
|
|
78
86
|
f"- Config: `{config_path}`",
|
|
79
87
|
f"- Transaction cost assumption: `{costs_bps:g} bps`",
|
|
80
88
|
"- Workflow: synthetic data → 213 factors → MLP → Markowitz → backtest",
|
|
89
|
+
f"- Source: [{PROJECT_URL}]({PROJECT_URL})",
|
|
90
|
+
(
|
|
91
|
+
"- Share a reproducible run: "
|
|
92
|
+
f"[open the report form]({REPRODUCTION_REPORT_URL})"
|
|
93
|
+
),
|
|
81
94
|
"",
|
|
82
95
|
"| Metric | Value |",
|
|
83
96
|
"|---|---:|",
|
|
@@ -137,6 +150,10 @@ def _run_demo(ctx: click.Context, config_path: str) -> None:
|
|
|
137
150
|
ctx.invoke(command, config_path=config_path)
|
|
138
151
|
click.echo()
|
|
139
152
|
click.echo("Demo complete. Inspect the backtest summary above and artifacts/ for outputs.")
|
|
153
|
+
click.echo("\nNext steps")
|
|
154
|
+
click.echo(f" Customize or inspect the source: {PROJECT_URL}")
|
|
155
|
+
click.echo(f" Share a reproducible run: {REPRODUCTION_REPORT_URL}")
|
|
156
|
+
click.echo(" If this saved you setup time, consider starring the repository.")
|
|
140
157
|
|
|
141
158
|
|
|
142
159
|
@cli.command("gen-data")
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mlquantx
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.6
|
|
4
4
|
Summary: Reference implementation of ‘ML-Enhanced Multi-Factor Quantitative Trading’ (arXiv:2507.07107).
|
|
5
5
|
Author: Yimin Du
|
|
6
6
|
License-Expression: MIT
|
|
7
7
|
Project-URL: Homepage, https://github.com/initial-d/ml-quant-trading
|
|
8
|
+
Project-URL: Source, https://github.com/initial-d/ml-quant-trading
|
|
8
9
|
Project-URL: Documentation, https://initial-d.github.io/ml-quant-trading/
|
|
9
10
|
Project-URL: Paper, https://arxiv.org/abs/2507.07107
|
|
10
11
|
Project-URL: Issues, https://github.com/initial-d/ml-quant-trading/issues
|
|
12
|
+
Project-URL: Discussions, https://github.com/initial-d/ml-quant-trading/discussions
|
|
11
13
|
Project-URL: Changelog, https://github.com/initial-d/ml-quant-trading/blob/main/CHANGELOG.md
|
|
12
14
|
Keywords: quant,alpha,factor,portfolio,pytorch,markowitz
|
|
13
15
|
Classifier: Development Status :: 4 - Beta
|
|
@@ -74,6 +76,22 @@ training, portfolio construction, cost-aware backtesting, and Markdown/JSON
|
|
|
74
76
|
report generation. The default config ships inside the wheel, so the command
|
|
75
77
|
works outside a repository checkout.
|
|
76
78
|
|
|
79
|
+
## Customize or contribute
|
|
80
|
+
|
|
81
|
+
The wheel is the fastest way to try the project. Clone the repository when you
|
|
82
|
+
want to change factors, models, portfolio constraints, data sources, or
|
|
83
|
+
backtest assumptions:
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
git clone https://github.com/initial-d/ml-quant-trading.git
|
|
87
|
+
cd ml-quant-trading
|
|
88
|
+
python -m pip install -e '.[dev]'
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
If the demo saves you setup time, consider
|
|
92
|
+
[starring the repository](https://github.com/initial-d/ml-quant-trading) or
|
|
93
|
+
[sharing a reproducible run](https://github.com/initial-d/ml-quant-trading/issues/new?template=reproduction_report.yml).
|
|
94
|
+
|
|
77
95
|
## What is included
|
|
78
96
|
|
|
79
97
|
- 204 hand-crafted factors plus 9 curated Alpha101-style factors
|
|
@@ -39,6 +39,9 @@ def test_demo_runs_pipeline_stages_in_order(monkeypatch, tmp_path):
|
|
|
39
39
|
]
|
|
40
40
|
assert all(path == str(config) for _, path in calls)
|
|
41
41
|
assert "Demo complete" in result.output
|
|
42
|
+
assert "https://github.com/initial-d/ml-quant-trading" in result.output
|
|
43
|
+
assert "reproduction_report.yml" in result.output
|
|
44
|
+
assert "consider starring" in result.output
|
|
42
45
|
|
|
43
46
|
|
|
44
47
|
def test_demo_is_visible_in_cli_help():
|
|
@@ -88,8 +91,12 @@ def test_backtest_summary_is_shareable_and_strict_json(tmp_path):
|
|
|
88
91
|
assert payload["metrics"]["sharpe"] == 1.25
|
|
89
92
|
assert payload["metrics"]["sortino"] is None
|
|
90
93
|
assert payload["costs_bps"] == 5.0
|
|
94
|
+
assert payload["repository"] == "https://github.com/initial-d/ml-quant-trading"
|
|
95
|
+
assert payload["reproduction_report"].endswith("reproduction_report.yml")
|
|
91
96
|
|
|
92
97
|
markdown = markdown_path.read_text()
|
|
93
98
|
assert "| `sharpe` | 1.250000 |" in markdown
|
|
94
99
|
assert "| `sortino` | n/a |" in markdown
|
|
95
100
|
assert "not investment advice" in markdown
|
|
101
|
+
assert "https://github.com/initial-d/ml-quant-trading" in markdown
|
|
102
|
+
assert "open the report form" in markdown
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|