Skip to content

Commit ad23ee7

Browse files
author
Ishaan
committed
chore: merge v6.2.5 changes - organization, cleanup, and automation
2 parents dce817b + 2618895 commit ad23ee7

34 files changed

+492
-4248
lines changed

.github/workflows/publish-pypi.yml

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
name: Publish to PyPI
2+
3+
on:
4+
push:
5+
tags:
6+
- 'v*'
7+
8+
permissions:
9+
contents: write
10+
id-token: write
11+
12+
jobs:
13+
build-and-publish:
14+
runs-on: ubuntu-latest
15+
16+
steps:
17+
- name: Checkout code
18+
uses: actions/checkout@v4
19+
with:
20+
fetch-depth: 0
21+
22+
- name: Set up Python
23+
uses: actions/setup-python@v5
24+
with:
25+
python-version: "3.10"
26+
27+
- name: Install build dependencies
28+
run: |
29+
python -m pip install --upgrade pip
30+
pip install build twine ruff
31+
32+
- name: Lint with Ruff
33+
run: |
34+
ruff format --check .
35+
ruff check .
36+
37+
- name: Build package
38+
run: python -m build
39+
40+
- name: Check package
41+
run: twine check dist/*
42+
43+
- name: Create GitHub Release
44+
uses: softprops/action-gh-release@v1
45+
with:
46+
files: dist/*
47+
body_path: README.md
48+
name: Release ${{ github.ref_name }}
49+
draft: false
50+
prerelease: false
51+
env:
52+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
53+
54+
- name: Publish to PyPI
55+
uses: pypa/gh-action-pypi-publish@release/v1
56+
with:
57+
skip-existing: true

.gitignore

Lines changed: 25 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,8 @@
1-
# Byte-compiled / optimized / DLL files
1+
22
__pycache__/
33
*.py[cod]
4-
*$py.class
5-
6-
# C extensions
4+
*$py.clas
75
*.so
8-
9-
# Distribution / packaging
106
.Python
117
build/
128
develop-eggs/
@@ -23,16 +19,11 @@ wheels/
2319
*.egg-info/
2420
.installed.cfg
2521
*.egg
26-
27-
# PyInstaller
22+
MANIFEST
2823
*.manifest
2924
*.spec
30-
31-
# Installer logs
3225
pip-log.txt
3326
pip-delete-this-directory.txt
34-
35-
# Unit test / coverage reports
3627
htmlcov/
3728
.tox/
3829
.coverage
@@ -43,27 +34,24 @@ coverage.xml
4334
*.cover
4435
.hypothesis/
4536
.pytest_cache/
46-
47-
# Jupyter Notebook
37+
test-results/
38+
.mypy_cache/
39+
.ruff_cache/
4840
.ipynb_checkpoints
49-
50-
# IDE
5141
.idea/
5242
.vscode/
5343
*.swp
5444
*.swo
5545
*~
46+
.vs/
5647

57-
# Environment variables
5848
.env
5949
.venv
6050
env/
6151
venv/
6252
ENV/
6353
env.bak/
6454
venv.bak/
65-
66-
# Project specific
6755
*.csv
6856
*.pkl
6957
*.h5
@@ -72,16 +60,31 @@ venv.bak/
7260
*.npz
7361
*.parquet
7462
*.feather
75-
76-
# Logs
7763
logs/
7864
*.log
7965

80-
# OS generated files
8166
.DS_Store
8267
.DS_Store?
8368
._*
8469
.Spotlight-V100
8570
.Trashes
8671
ehthumbs.db
8772
Thumbs.db
73+
*.pyc
74+
*.pyo
75+
*.pyd
76+
.Python
77+
pip-wheel-metadata/
78+
docs/_build/
79+
docs/_static/
80+
docs/_templates/
81+
site/
82+
*.tmp
83+
*.bak
84+
*.swp
85+
*~.nib
86+
local_settings.py
87+
*.db
88+
*.sqlite
89+
*.sqlite3
90+

CHANGELOG.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,31 @@ All notable changes to MeridianAlgo will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [6.2.5] - 2026-03-12 "Organization & Automation Release"
9+
10+
### Changed
11+
- Consolidated all documentation into single docs folder
12+
- Removed duplicate documentation files (DEPLOYMENT.md, RELEASE_NOTES.md, duplicate CHANGELOGs)
13+
- Removed emoji usage throughout codebase for professional appearance
14+
- Humanized and professionalized README content
15+
- Cleaned up unnecessary comments in setup.py
16+
- Improved code organization and structure
17+
18+
### Added
19+
- New GitHub Action workflow for automatic PyPI publishing on tag push
20+
- Automated release creation using README as release notes
21+
- Separate CI/CD pipeline for testing and publishing
22+
23+
### Removed
24+
- Duplicate Sphinx documentation in meridianalgo/docs folder
25+
- .agent workflow folder
26+
- Unnecessary summary and duplicate documentation files
27+
- All emoji characters from documentation
28+
29+
### Fixed
30+
- Linted entire codebase with Ruff formatter
31+
- Cleaned up code comments and documentation
32+
833
## [6.2.2] - 2026-02-24 "Institutional Stability Release"
934

1035
### Added

README.md

Lines changed: 21 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,31 @@
11
# MeridianAlgo
2-
## A Powerful Python Library for Quantitative Finance
2+
3+
A comprehensive Python library for quantitative finance, algorithmic trading, and financial machine learning. Built for traders, researchers, and financial analysts who need professional-grade tools for market analysis, strategy development, and risk management.
34

45
[![PyPI version](https://img.shields.io/pypi/v/meridianalgo.svg?style=flat-square&color=blue)](https://pypi.org/project/meridianalgo/)
56
[![Python versions](https://img.shields.io/pypi/pyversions/meridianalgo.svg?style=flat-square)](https://pypi.org/project/meridianalgo/)
67
[![License](https://img.shields.io/github/license/MeridianAlgo/Python-Packages.svg?style=flat-square)](LICENSE)
78
[![Tests](https://img.shields.io/github/actions/workflow/status/MeridianAlgo/Python-Packages/ci.yml?branch=main&style=flat-square&label=tests)](https://github.com/MeridianAlgo/Python-Packages/actions)
89

9-
**MeridianAlgo** is a comprehensive Python library for quantitative finance, algorithmic trading, and financial machine learning. Whether you're a retail trader, quant researcher, or financial analyst, this library provides the tools you need to analyze markets, build strategies, and manage risk.
10-
11-
---
10+
**MeridianAlgo** is a comprehensive Python library for quantitative finance, algorithmic trading, and financial machine learning. Whether you're a retail trader, quant researcher, or financial analyst, this library provides professional tools to analyze markets, build strategies, and manage risk effectively.
1211

1312
## Installation
1413

14+
Install the latest version:
15+
1516
```bash
1617
pip install meridianalgo
1718
```
1819

19-
For full functionality with all optional dependencies:
20+
For complete functionality with all optional dependencies:
21+
2022
```bash
2123
pip install meridianalgo[all]
2224
```
2325

24-
---
25-
2626
## Quick Examples
2727

28-
### 🚀 Market Data & Basic Analysis
28+
### Market Data & Basic Analysis
2929

3030
```python
3131
import meridianalgo as ma
@@ -45,7 +45,7 @@ print(f"AAPL Sharpe Ratio: {ma.calculate_sharpe_ratio(returns['AAPL']):.2f}")
4545
print(f"MSFT Max Drawdown: {ma.calculate_max_drawdown(returns['MSFT']):.2%}")
4646
```
4747

48-
### 📊 Portfolio Optimization
48+
### Portfolio Optimization
4949

5050
```python
5151
from meridianalgo.portfolio import PortfolioOptimizer
@@ -71,7 +71,7 @@ print(f"Portfolio Annual Volatility: {portfolio_vol:.2%}")
7171
print(f"Portfolio Sharpe Ratio: {sharpe_ratio:.2f}")
7272
```
7373

74-
### Risk Management
74+
### Risk Management
7575

7676
```python
7777
from meridianalgo.risk import RiskMetrics
@@ -95,7 +95,7 @@ print(f"95% CVaR: {cvar_95['AAPL']:.2%}")
9595
print(f"95% Cornish-Fisher VaR: {cf_var['AAPL']:.2%}")
9696
```
9797

98-
### 🤖 Machine Learning for Finance
98+
### Machine Learning for Finance
9999

100100
```python
101101
from meridianalgo.ml import FeatureEngineer, ModelValidator
@@ -123,7 +123,7 @@ print(f"Average Precision: {results['precision'].mean():.2%}")
123123
print(f"Average F1 Score: {results['f1_score'].mean():.2%}")
124124
```
125125

126-
### 📈 Statistical Arbitrage
126+
### Statistical Arbitrage
127127

128128
```python
129129
from meridianalgo.quant import StatisticalArbitrage
@@ -148,7 +148,7 @@ if pairs:
148148
print(f"Generated {len(signals)} trading signals")
149149
```
150150

151-
### 💰 Options Pricing & Greeks
151+
### Options Pricing & Greeks
152152

153153
```python
154154
from meridianalgo.derivatives import BlackScholes, GreeksCalculator, ImpliedVolatility
@@ -176,7 +176,7 @@ implied_vol = ImpliedVolatility.calculate('call', S=100, K=105, T=0.25, r=0.05,
176176
print(f"Implied Volatility: {implied_vol:.2%}")
177177
```
178178

179-
### Backtesting Engine
179+
### Backtesting Engine
180180

181181
```python
182182
from meridianalgo.backtesting import Backtester, Strategy
@@ -211,7 +211,7 @@ print(f"Max Drawdown: {results['max_drawdown']:.2%}")
211211
print(f"Win Rate: {results['win_rate']:.2%}")
212212
```
213213

214-
### 📊 Advanced Technical Analysis
214+
### Advanced Technical Analysis
215215

216216
```python
217217
# Advanced indicators
@@ -334,32 +334,23 @@ pip install meridianalgo[distributed]
334334
pip install meridianalgo[all]
335335
```
336336

337-
---
338-
339337
## Documentation
340338

341-
- **Full API Documentation**: [meridianalgo.readthedocs.io](https://meridianalgo.readthedocs.io)
342-
- **Examples Gallery**: [github.com/MeridianAlgo/Python-Packages/tree/main/examples](https://github.com/MeridianAlgo/Python-Packages/tree/main/examples)
343-
- **Research Papers**: [github.com/MeridianAlgo/Python-Packages/tree/main/docs/research](https://github.com/MeridianAlgo/Python-Packages/tree/main/docs/research)
344-
345-
---
339+
- Full API Documentation: [meridianalgo.readthedocs.io](https://meridianalgo.readthedocs.io)
340+
- Examples Gallery: [github.com/MeridianAlgo/Python-Packages/tree/main/examples](https://github.com/MeridianAlgo/Python-Packages/tree/main/examples)
346341

347342
## Contributing
348343

349-
We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.
350-
351-
---
344+
We welcome contributions from the community. Please see our [Contributing Guide](CONTRIBUTING.md) for details on how to get started.
352345

353346
## License
354347

355-
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
356-
357-
---
348+
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
358349

359350
## Disclaimer
360351

361-
This software is for educational and research purposes. Trading financial instruments involves substantial risk of loss. The authors are not responsible for any financial losses incurred through the use of this software. Always do your own research and consider consulting with a financial advisor before making investment decisions.
352+
This software is for educational and research purposes only. Trading financial instruments involves substantial risk of loss. The authors are not responsible for any financial losses incurred through the use of this software. Always conduct your own research and consider consulting with a financial advisor before making investment decisions.
362353

363354
---
364355

365-
**Built with ❤️ by the Quantitative Finance Community**
356+
Built by the Quantitative Finance Community

docs/CHANGELOG.md

Lines changed: 0 additions & 56 deletions
This file was deleted.

0 commit comments

Comments
 (0)