bquant 0.0.0__py3-none-any.whl

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.
Files changed (49) hide show
  1. bquant/__init__.py +31 -0
  2. bquant/analysis/__init__.py +297 -0
  3. bquant/analysis/candlestick/__init__.py +100 -0
  4. bquant/analysis/chart/__init__.py +98 -0
  5. bquant/analysis/statistical/__init__.py +414 -0
  6. bquant/analysis/statistical/hypothesis_testing.py +657 -0
  7. bquant/analysis/technical/__init__.py +98 -0
  8. bquant/analysis/timeseries/__init__.py +102 -0
  9. bquant/analysis/zones/__init__.py +547 -0
  10. bquant/analysis/zones/sequence_analysis.py +661 -0
  11. bquant/analysis/zones/zone_features.py +520 -0
  12. bquant/cli.py +160 -0
  13. bquant/core/__init__.py +112 -0
  14. bquant/core/cache.py +534 -0
  15. bquant/core/config.py +328 -0
  16. bquant/core/exceptions.py +351 -0
  17. bquant/core/logging_config.py +368 -0
  18. bquant/core/numpy_fix.py +99 -0
  19. bquant/core/performance.py +554 -0
  20. bquant/core/utils.py +327 -0
  21. bquant/data/__init__.py +85 -0
  22. bquant/data/loader.py +436 -0
  23. bquant/data/processor.py +644 -0
  24. bquant/data/samples/__init__.py +442 -0
  25. bquant/data/samples/datasets.py +246 -0
  26. bquant/data/samples/embedded/__init__.py +16 -0
  27. bquant/data/samples/embedded/mt_xauusd_m15.py +9018 -0
  28. bquant/data/samples/embedded/tv_xauusd_1h.py +17018 -0
  29. bquant/data/samples/utils.py +393 -0
  30. bquant/data/schemas.py +285 -0
  31. bquant/data/validator.py +498 -0
  32. bquant/indicators/__init__.py +115 -0
  33. bquant/indicators/base.py +487 -0
  34. bquant/indicators/calculators.py +404 -0
  35. bquant/indicators/library.py +514 -0
  36. bquant/indicators/loaders.py +413 -0
  37. bquant/indicators/macd.py +754 -0
  38. bquant/ml/__init__.py +19 -0
  39. bquant/visualization/__init__.py +316 -0
  40. bquant/visualization/charts.py +616 -0
  41. bquant/visualization/statistical.py +812 -0
  42. bquant/visualization/themes.py +599 -0
  43. bquant/visualization/zones.py +775 -0
  44. bquant-0.0.0.dist-info/METADATA +167 -0
  45. bquant-0.0.0.dist-info/RECORD +49 -0
  46. bquant-0.0.0.dist-info/WHEEL +5 -0
  47. bquant-0.0.0.dist-info/entry_points.txt +2 -0
  48. bquant-0.0.0.dist-info/licenses/LICENSE +21 -0
  49. bquant-0.0.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,167 @@
1
+ Metadata-Version: 2.4
2
+ Name: bquant
3
+ Version: 0.0.0
4
+ Summary: Quantitative research toolkit for financial markets
5
+ Author-email: kogriv <kogriv@gmail.com>
6
+ License: MIT
7
+ Project-URL: Homepage, https://github.com/kogriv/bquant
8
+ Project-URL: Documentation, https://bquant.readthedocs.io/
9
+ Project-URL: Repository, https://github.com/kogriv/bquant.git
10
+ Project-URL: Issues, https://github.com/kogriv/bquant/issues
11
+ Classifier: Development Status :: 4 - Beta
12
+ Classifier: Intended Audience :: Financial and Insurance Industry
13
+ Classifier: License :: OSI Approved :: MIT License
14
+ Classifier: Operating System :: OS Independent
15
+ Classifier: Programming Language :: Python :: 3.13
16
+ Classifier: Topic :: Office/Business :: Financial
17
+ Classifier: Topic :: Scientific/Engineering :: Information Analysis
18
+ Requires-Python: >=3.13
19
+ Description-Content-Type: text/markdown
20
+ License-File: LICENSE
21
+ Requires-Dist: pandas==2.3.1
22
+ Requires-Dist: numpy==2.3.2
23
+ Requires-Dist: matplotlib==3.10.5
24
+ Requires-Dist: seaborn==0.13.2
25
+ Requires-Dist: pandas-ta==0.3.14b0
26
+ Requires-Dist: statsmodels==0.14.5
27
+ Requires-Dist: scipy==1.16.1
28
+ Requires-Dist: scikit-learn==1.7.1
29
+ Requires-Dist: plotly==6.3.0
30
+ Requires-Dist: kaleido==1.0.0
31
+ Requires-Dist: ipywidgets==8.1.7
32
+ Requires-Dist: psutil>=5.9.0
33
+ Provides-Extra: dev
34
+ Requires-Dist: pytest>=6.0; extra == "dev"
35
+ Requires-Dist: pytest-cov>=2.0; extra == "dev"
36
+ Requires-Dist: black>=21.0; extra == "dev"
37
+ Requires-Dist: flake8>=3.8; extra == "dev"
38
+ Provides-Extra: notebooks
39
+ Requires-Dist: jupyter==1.1.1; extra == "notebooks"
40
+ Requires-Dist: ipywidgets==8.1.7; extra == "notebooks"
41
+ Requires-Dist: plotly==6.3.0; extra == "notebooks"
42
+ Requires-Dist: kaleido==1.0.0; extra == "notebooks"
43
+ Provides-Extra: full
44
+ Requires-Dist: pytest>=6.0; extra == "full"
45
+ Requires-Dist: pytest-cov>=2.0; extra == "full"
46
+ Requires-Dist: black>=21.0; extra == "full"
47
+ Requires-Dist: flake8>=3.8; extra == "full"
48
+ Requires-Dist: jupyter==1.1.1; extra == "full"
49
+ Requires-Dist: ipywidgets==8.1.7; extra == "full"
50
+ Requires-Dist: plotly==6.3.0; extra == "full"
51
+ Requires-Dist: kaleido==1.0.0; extra == "full"
52
+ Dynamic: license-file
53
+
54
+ # BQuant - Quantitative Research Toolkit
55
+
56
+ **BQuant** is a universal toolkit for quantitative research of financial markets. The project starts with MACD zone analysis as the first use case, but the architecture is designed for exploring various aspects: technical indicators, chart patterns, candlestick formations, time series, and machine learning applications.
57
+
58
+ ## 🔧 Key Features
59
+
60
+ - **Universal configuration system** - support for multiple data sources and brokers
61
+ - **Multi-level analysis** - technical, statistical, graphical, candlestick, time series
62
+ - **ML readiness** - structure for machine learning (stubs)
63
+ - **Visualization tools** - charts and reports
64
+ - **Research environment** - notebooks and experiments
65
+ - **Automated pipelines** - ready-to-use analysis scripts
66
+
67
+ ## 🚀 Quick Start
68
+
69
+ ### Installation
70
+
71
+ ```bash
72
+ # Install in development mode
73
+ pip install -e .
74
+
75
+ # Install with optional dependencies
76
+ pip install -e .[dev,notebooks]
77
+ ```
78
+
79
+ ### Basic Usage
80
+
81
+ ```python
82
+ from bquant.data import load_symbol_data
83
+ from bquant.indicators import MACDAnalyzer
84
+
85
+ # Load data
86
+ data = load_symbol_data('XAUUSD', '1h')
87
+
88
+ # Analyze MACD zones
89
+ analyzer = MACDAnalyzer(data, fast=8, slow=21)
90
+ zones = analyzer.identify_zones()
91
+
92
+ print(f"Found {len(zones)} zones")
93
+ ```
94
+
95
+ ### Command Line
96
+
97
+ ```bash
98
+ # Analyze single instrument
99
+ bquant-analyze XAUUSD
100
+
101
+ # Batch analysis
102
+ bquant-batch EURUSD GBPUSD XAUUSD
103
+ ```
104
+
105
+ ## 📋 Project Structure
106
+
107
+ This is a monorepo that contains:
108
+
109
+ - **`bquant/`** - Python package (for PyPI)
110
+ - **`research/`** - Jupyter notebooks and experiments
111
+ - **`scripts/`** - Automation scripts
112
+ - **`data/`** - Data storage
113
+ - **`tests/`** - Test suite
114
+ - **`docs/`** - Documentation
115
+
116
+ ## 🛠️ Development
117
+
118
+ ### Setting up development environment
119
+
120
+ ```bash
121
+ # Create virtual environment
122
+ python -m venv venv_bquant_dell
123
+
124
+ # Activate (Windows)
125
+ venv_bquant_dell\Scripts\activate
126
+
127
+ # Activate (Linux/Mac)
128
+ source venv_bquant_dell/bin/activate
129
+
130
+ # Install dependencies
131
+ pip install -r requirements.txt
132
+
133
+ # Install in development mode
134
+ pip install -e .[dev]
135
+ ```
136
+
137
+ ### Running tests
138
+
139
+ ```bash
140
+ pytest tests/ -v
141
+ ```
142
+
143
+ ## 📚 Documentation
144
+
145
+ - [API Documentation](docs/api/)
146
+ - [Tutorials](docs/tutorials/)
147
+ - [Examples](docs/examples/)
148
+
149
+ ## 🎯 Roadmap
150
+
151
+ - **Phase 1**: Core functionality (data, MACD analysis, statistics)
152
+ - **Phase 2**: Extended visualization, time series, other indicators
153
+ - **Phase 3**: Full ML, chart patterns, automation
154
+
155
+ ## 📄 License
156
+
157
+ MIT License - see [LICENSE](LICENSE) file for details.
158
+
159
+ ## 🤝 Contributing
160
+
161
+ Contributions are welcome! Please read our contributing guidelines and submit pull requests.
162
+
163
+ ## 📞 Contact
164
+
165
+ - **Author**: kogriv
166
+ - **Email**: kogriv@gmail.com
167
+ - **Repository**: https://github.com/kogriv/bquant
@@ -0,0 +1,49 @@
1
+ bquant/__init__.py,sha256=agV3BMLNghgRhkwJNZJ7-oNUKkZWuWsRmBmFlBUglr4,671
2
+ bquant/cli.py,sha256=WIlA6pWJEAJDJ8YAWN1VjDAGBvszOQnYPR4nYCt4-UE,6142
3
+ bquant/analysis/__init__.py,sha256=5njG9mnKWI6LH2TfwsXipmQLaEVo0Kz74sYT4aGqM1Q,11434
4
+ bquant/analysis/candlestick/__init__.py,sha256=X8gA8VZ0hHWEjKlwAAdRd6O2T_KA9ekmZVD8b5iD8q4,3494
5
+ bquant/analysis/chart/__init__.py,sha256=gcuLyz9wtPWAnMUPB0d5tyH5iRZ-F342sNMZ0Idc2J8,3290
6
+ bquant/analysis/statistical/__init__.py,sha256=nRpLrCPqV0lIPM3Sfni9JepWsnzDHxY5BIk7iT3QfgM,15548
7
+ bquant/analysis/statistical/hypothesis_testing.py,sha256=OUAcZ3lZXURPg9mwK4eWjmiwMLnyO383RujPV_xMHpA,29135
8
+ bquant/analysis/technical/__init__.py,sha256=OU95QlJf445bgJp-luv6KXZ--6C710JG_Vg6OeMJTlI,3294
9
+ bquant/analysis/timeseries/__init__.py,sha256=-S2hXbqhA9xkBRyvu1AJtrakqbUT8dE4ZBLMSDyJVy4,3494
10
+ bquant/analysis/zones/__init__.py,sha256=q35QsSkz6pDnn3JjsuLIujcAvst8Mm4xqIGHQdaBrtA,20518
11
+ bquant/analysis/zones/sequence_analysis.py,sha256=BrOKHSgpun4lkX0aVmMQAWEVAMLPqNp-i-Kjm-vG94Q,30114
12
+ bquant/analysis/zones/zone_features.py,sha256=UYs0EnI63kLOBKpgetAaNS8-DIpaBZ4cQNt3WRBlgAQ,23957
13
+ bquant/core/__init__.py,sha256=lN6dLafJPnP0-dI0OCx1c1zmwcRc065j4Flv9WXhY80,2314
14
+ bquant/core/cache.py,sha256=wvvz2roHaxXqODR9Fvcj0_EPuS99UrfHexjepzoxDjg,19145
15
+ bquant/core/config.py,sha256=fOhmgHm5HNY-HDGsq_RGQs7s1ZQY3NifmSD0vbbs5-Q,11702
16
+ bquant/core/exceptions.py,sha256=QyDvyZlPPHOA0oLJr_byBhdzZpu3QQfSe8bqviGeJvw,11492
17
+ bquant/core/logging_config.py,sha256=1vs58w9YUUqoLLLo5y3ht4ftdORPBmLxHvLwgg-NJvA,13653
18
+ bquant/core/numpy_fix.py,sha256=pXEcsjgsCJebLqZi1N1ZkTVeXZMiBcp0SkTBnBapZI0,2893
19
+ bquant/core/performance.py,sha256=wCqhhvLiAYocNoAatKwYrB-t_D4Safw5_P2lIJcYt3E,20132
20
+ bquant/core/utils.py,sha256=9j7qWfWjUB1X5XVUydiFzCR4uNhJDcH_jCB38SL0O4c,11148
21
+ bquant/data/__init__.py,sha256=_CpJAhBSINLKXRg_IHECLcsnsnBJrzajJhTCXlEtCM8,1921
22
+ bquant/data/loader.py,sha256=Pv23QT5T439WseJEdROZcPi2RRAM_m64J_JR4_fKNZ8,14970
23
+ bquant/data/processor.py,sha256=iU1w5lsOtUEJJ9mt7tSZuOm2T4TJgWYtM9DxX8nrabE,23410
24
+ bquant/data/schemas.py,sha256=5ZyMyCjW_GZUkT-OUsXNyM_chm3L3RZT7nUCqI9Fqq0,8140
25
+ bquant/data/validator.py,sha256=hhb5jBJ1hkQrLfRtLC4uZ94_ty2b9WZLbsV-4nTNXHs,17207
26
+ bquant/data/samples/__init__.py,sha256=uMyvUD0TBrLq4akqrbOP9HS7D3Myfq0_ltxhVbBDHOk,15870
27
+ bquant/data/samples/datasets.py,sha256=NBfKLpb37bVI4pZgwIQw0TPA0nQl9KZkNBukC_UX7zo,8391
28
+ bquant/data/samples/utils.py,sha256=SvjhFzxNzNfGfjRb2wnMj8OrczZyIF2zd_jsHprXQyo,14217
29
+ bquant/data/samples/embedded/__init__.py,sha256=t7i2A7dxTlmE0xqPUasDcwupGG1pl05hpYkjrr89GDg,657
30
+ bquant/data/samples/embedded/mt_xauusd_m15.py,sha256=sDb_ttO-fBYvYQIUcUTzvEHQ-jY5QPss2kqxhXNJvCk,207315
31
+ bquant/data/samples/embedded/tv_xauusd_1h.py,sha256=PFeilXsk348ORhhtxzpCCXUPfFC6c_oSxuk5qVSmvhM,555425
32
+ bquant/indicators/__init__.py,sha256=0-vHO9Tl-VxC7mEWxUCAR5EXMSIMDzai39HnVKuP2Wc,2467
33
+ bquant/indicators/base.py,sha256=MX65sfTgNtEyrj5Q169WXUh33fm8s0Q13GFe24HRnuo,17565
34
+ bquant/indicators/calculators.py,sha256=i3-U4kZXDC-_frDTL6c7GaX_9sCjI2nEJrDOnKd-lqk,13766
35
+ bquant/indicators/library.py,sha256=kntWqnVwxpe2_Ib47rFMqUeMvyntMcjcybs2Ecf07MA,17698
36
+ bquant/indicators/loaders.py,sha256=OXDStTOEkUNbjGhS0wuNAKBKYxrdahWvvvpZsbddPXQ,14238
37
+ bquant/indicators/macd.py,sha256=-kGuzZim1zpSNCwa-yFyADBKlFqM1RjChH5VEN6jeOI,33652
38
+ bquant/ml/__init__.py,sha256=Ps48G10UR4ZZemcbG3JyYFxo-b8vw_J0lDwQOcHj3AM,498
39
+ bquant/visualization/__init__.py,sha256=vIWFWUb3jTw2WzRKgp_QpPgpZRCXCYhYHK2--FQMGZw,10982
40
+ bquant/visualization/charts.py,sha256=sLgJzoJePiD4lk4nzgsUHIXzW6iDjH9N1Y-xJHyU1zs,24019
41
+ bquant/visualization/statistical.py,sha256=dVhBRTlYFHgGIyTz5ZZib-NeEG4JCVa0kic1V-Yp9D4,33464
42
+ bquant/visualization/themes.py,sha256=QEWB0Ri-mzBowjN3AsAZ_QqZcRV94DGNxl5OHnDnK84,21861
43
+ bquant/visualization/zones.py,sha256=FCizt_BHerD2i0LvbUquT9HxU2DAoW5vMRX0iy6qRsw,32019
44
+ bquant-0.0.0.dist-info/licenses/LICENSE,sha256=7BjOeRAQP71sc8JRZ06Xe9nXUhrjRB1Lu0H3yN4AMQI,1089
45
+ bquant-0.0.0.dist-info/METADATA,sha256=gogoxNlznyCFacf1HotOTJlcd07MVLeFUo9iFs_Ikds,4976
46
+ bquant-0.0.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
47
+ bquant-0.0.0.dist-info/entry_points.txt,sha256=QtomD95uwRY7-Io_88CBZznBmK0b_Ac-EitYjYfGBJs,43
48
+ bquant-0.0.0.dist-info/top_level.txt,sha256=W9hwj9gy5bRZgttXgAM-YQ_mlHoDAejKTygs9ckV7XQ,7
49
+ bquant-0.0.0.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (80.9.0)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ bquant = bquant.cli:main
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 BQuant Team
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.
@@ -0,0 +1 @@
1
+ bquant