Dual Momentum Investing Strategy Tool
Project description
GEM - Global Equities Momentum
A professional dual momentum investing strategy tool built with Python, featuring robust configuration management, CLI interface, and comprehensive financial analysis capabilities.
This implementation is based on the Dual Momentum / Global Equities Momentum strategy described by Gary Antonacci. This repository is not affiliated with the author.
🤖 AI-Generated Code: This entire project was created using AI-assisted coding (vibe coding) to demonstrate modern Python development practices and financial analysis capabilities. The code structure, architecture, and implementation were generated by AI with human guidance.
🚀 Basic Usage
Prerequisites
- Python 3.13+ (required for modern type hints and features)
- pip or uv package manager (uv recommended for faster dependency resolution)
Ticker Compatibility
⚠️ Important: This tool only works with ticker symbols that are compatible with Yahoo Finance.
You can verify ticker compatibility by checking if the symbol exists on Yahoo Finance.
Installation
# Clone the repository
git clone https://github.com/karta9821/global-equities-momentum.git
cd global-equities-momentum
# Install with uv (recommended)
uv sync
uv pip install -e .
# Or install with pip
pip install -e .
Quick Commands
# Run analysis with default settings
gem
# Analyze specific symbols
gem --mode analyze --symbols EIMI.L IWDA.L CNDX.L
# Validate symbols
gem --mode validate --symbols EIMI.L IWDA.L
# Show help
gem --help
🌐 View Current Analysis
You can view the latest GEM analysis results directly in your browser without installing anything:
The GitHub Pages site is automatically updated with the latest analysis results, showing current momentum rankings and charts for global stock markets.
🍴 Fork and Run Locally
I recommend forking this repository to run it on your own GitHub Actions and customize it for your needs.
1. Fork the Repository
-
Click the "Fork" button in the top-right corner
-
Clone your forked repository:
git clone https://github.com/YOUR_USERNAME/global-equities-momentum.git cd gem
2. Set Up GitHub Actions
The project includes GitHub Actions workflows for automated testing and deployment. After forking:
- Enable GitHub Actions in your forked repository settings
- Set up environment variables if needed in Settings → Secrets and variables → Actions
- Push changes to trigger the workflows
3. Run Locally
# Install dependencies
uv sync
# Install in development mode
uv pip install -e .
# Test the installation
gem --help
⚠️ Important Disclaimers
Investment Disclaimer
This tool is for educational and research purposes only. Always do your own research and consider consulting with a financial advisor before making investment decisions. Past performance does not guarantee future results.
AI-Generated Code Disclaimer
This project was entirely created using AI-assisted coding. While the code follows best practices and has been tested, it serves as a demonstration of AI-assisted development capabilities. Users should review and validate the code according to their specific needs and requirements.
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
Built with ❤️ using AI-assisted development practices
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file global_equities_momentum-1.0.0.tar.gz.
File metadata
- Download URL: global_equities_momentum-1.0.0.tar.gz
- Upload date:
- Size: 69.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7eaf6f08ae4dcebfe4c48649ef2773b771de5cea844741785cad9f0244de0e17
|
|
| MD5 |
f68a4f7c1edc18e944f24b9d3795e441
|
|
| BLAKE2b-256 |
ebcc93df8b3bb7f1f2c21c9d27e12f4c529c45f460bd91897a818672a7a9c18b
|
Provenance
The following attestation bundles were made for global_equities_momentum-1.0.0.tar.gz:
Publisher:
publish.yml on karta9821/global-equities-momentum
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
global_equities_momentum-1.0.0.tar.gz -
Subject digest:
7eaf6f08ae4dcebfe4c48649ef2773b771de5cea844741785cad9f0244de0e17 - Sigstore transparency entry: 583921121
- Sigstore integration time:
-
Permalink:
karta9821/global-equities-momentum@ed760c403042af3eeb974fdaac69c9249e333c3e -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/karta9821
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@ed760c403042af3eeb974fdaac69c9249e333c3e -
Trigger Event:
release
-
Statement type:
File details
Details for the file global_equities_momentum-1.0.0-py3-none-any.whl.
File metadata
- Download URL: global_equities_momentum-1.0.0-py3-none-any.whl
- Upload date:
- Size: 4.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1c4c76abaed70199d171748e043eef5efc0ff8e0cda5940e92aba09f25546667
|
|
| MD5 |
ea9e63b58215dfde47a023df3acb8a37
|
|
| BLAKE2b-256 |
748827ed0c68207f4a300fdc4aefe7925f6469ef972bc17662d3f906c6364462
|
Provenance
The following attestation bundles were made for global_equities_momentum-1.0.0-py3-none-any.whl:
Publisher:
publish.yml on karta9821/global-equities-momentum
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
global_equities_momentum-1.0.0-py3-none-any.whl -
Subject digest:
1c4c76abaed70199d171748e043eef5efc0ff8e0cda5940e92aba09f25546667 - Sigstore transparency entry: 583921122
- Sigstore integration time:
-
Permalink:
karta9821/global-equities-momentum@ed760c403042af3eeb974fdaac69c9249e333c3e -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/karta9821
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@ed760c403042af3eeb974fdaac69c9249e333c3e -
Trigger Event:
release
-
Statement type: