Awesome
π’ Announcement
Good news! You can now use a patched version of the library empyrical through EigenLedger! π <br> π Learn how to use it here and read more in this announcement post. <br>
By Investors, For Investors.
<br> <div align="center"> <img src="https://github.com/user-attachments/assets/470f1d59-09c6-4b95-af7e-f142764d8195"/> <br><br><br><br> </div> <br>Want to read this in Mandarin π¨π³? Click here
EigenLedger (prev. "Empyrial") is a Python-based open-source quantitative investment library dedicated to financial institutions and retail investors, officially released in 2021. Already used by thousands of people working in the finance industry, EigenLedger aims to become an all-in-one platform for portfolio management, analysis, and optimization.
EigenLedger empowers portfolio management by bringing the best of performance and risk analysis in an easy-to-understand, flexible and powerful framework.
With EigenLedger, you can easily analyze security or a portfolio in order to get the best insights from it. This is mainly a wrapper of financial analysis libraries such as Quantstats and PyPortfolioOpt.
<br> <br> <div align="center">Table of Contents π |
---|
1. Installation |
2. Documentation |
3. Quickstart |
4. Contribution and Issues |
5. Contributors |
6. Contact |
7. License |
Installation
You can install EigenLedger using pip:
pip install EigenLedger
For a better experience, we advise you to use EigenLedger on a notebook (e.g., Jupyter, Google Colab)
Note: macOS users will need to install Xcode Command Line Tools.
Note: Windows users will need to install C++. (download, install instructions)
Documentation
Here is our full documentation! Check it out our full documentation for detailed guides, all features, and tips on getting the most out of this library.
Quickstart
from EigenLedger import portfolio_analysis, Engine
portfolio = Engine(
start_date = "2018-08-01",
portfolio = ["BABA", "PDD", "KO", "AMD","^IXIC"],
weights = [0.2, 0.2, 0.2, 0.2, 0.2], # equal weighting is set by default
benchmark = ["SPY"] # SPY is set by default
)
portfolio_analysis(portfolio)
<div align="center">
</div>
Stargazers over time
<div align="center"> </div>Contribution and Issues
EigenLedger uses GitHub to host its source code. Learn more about the Github flow.
For larger changes (e.g., new feature request, large refactoring), please open an issue to discuss first.
- If you wish to create a new Issue, then click here to create a new issue.
Smaller improvements (e.g., document improvements, bugfixes) can be handled by the Pull Request process of GitHub: pull requests.
-
To contribute to the code, you will need to do the following:
-
Fork EigenLedger - Click the Fork button at the upper right corner of this page.
-
Clone your own fork. E.g.,
git clone https://github.com/ssantoshp/EigenLedger.git
If your fork is out of date, then will you need to manually sync your fork: Synchronization method -
Create a Pull Request using your fork as the
compare head repository
.
You contributions will be reviewed, potentially modified, and hopefully merged into EigenLedger.
Contributors
Thanks goes to these wonderful people (emoji key):
<table> <tr> <td align="center"><a href="https://github.com/BrendanGlancy"><img src="https://avatars.githubusercontent.com/u/61941978?v=4" width="100px;" alt=""/><br /><sub><b>Brendan Glancy</b></sub></a><br /><a title="Code">π»</a> <a title="Bug report">π</a></td> <td align="center"><a href="https://github.com/rslopes"><img src="https://avatars.githubusercontent.com/u/24928343?v=4" width="100px;" alt=""/><br /><sub><b>Renan Lopes</b></sub></a><br /><a title="Code">π»</a> <a title="Bug report">π</a></td> <td align="center"><a href="https://github.com/markthebault"><img src="https://avatars.githubusercontent.com/u/3846664?v=4" width="100px;" alt=""/><br /><sub><b>Mark Thebault</b></sub></a><br /><a title="Code">π»</a></td> <td align="center"><a href="https://github.com/diegodalvarez"><img src="https://avatars.githubusercontent.com/u/48641554?v=4" width="100px;" alt=""/><br /><sub><b>Diego Alvarez</b></sub></a><br /><a title="Code">π»π</a></td> <td align="center"><a href="https://github.com/rakeshbhat9"><img src="https://avatars.githubusercontent.com/u/11472305?v=4" width="100px;" alt=""/><br /><sub><b>Rakesh Bhat</b></sub></a><br /><a title="Code">π»</a></td> <td align="center"><a href="https://github.com/Haizzz"><img src="https://avatars.githubusercontent.com/u/5275680?v=4" width="100px;" alt=""/><br /><sub><b>Anh Le</b></sub></a><br /><a title="Bug report">π</a></td> <td align="center"><a href="https://github.com/TonyZhangkz"><img src="https://avatars.githubusercontent.com/u/65281213?v=4" width="100px;" alt=""/><br /><sub><b>Tony Zhang</b></sub></a><br /><a title="Code">π»</a></td> <td align="center"><a href="https://github.com/eltociear"><img src="https://avatars.githubusercontent.com/u/22633385?v=4" width="100px;" alt=""/><br /><sub><b>Ikko Ashimine</b></sub></a><br /><a title="Code">βοΈ</a></td> <td align="center"><a href="https://www.youtube.com/watch?v=-4qx3tbtTgs"><img src="https://avatars.githubusercontent.com/u/50767660?v=4" width="100px;" alt=""/><br /><sub><b>QuantNomad</b></sub></a><br /><a title="Code">πΉ</a></td> <td align="center"><a href="https://github.com/buckleyc"><img src="https://avatars.githubusercontent.com/u/4175900?v=4" width="100px;" alt=""/><br /><sub><b>Buckley</b></sub></a><br /><a title="Code">βοΈπ»</a></td> <td align="center"><a href="https://github.com/agn35"><img src="https://lh3.googleusercontent.com/a-/AOh14GhXGFHHpVQTL2r23oEXFssH0f7RyoGDihrS_HmT=s48" width="100px;" alt=""/><br /><sub><b>Adam Nelsson</b></sub></a><br /><a title="Code">π»</a></td> <td align="center"><a href="https://github.com/rgleavenworth"><img src="https://avatars.githubusercontent.com/u/87843950?v=4" width="100px;" alt=""/><br /><sub><b>Ranjan Grover</b></sub></a><br /><a title="Code">ππ»</a></td> </tr> </table>This project follows the all-contributors specification. Contributions of any kind are welcome!
Credit
This library has also been made possible because of the work of these incredible people:
- Ran Aroussi for the Quantstats library
- Robert Martin for the PyPortfolioOpt
Contact
You are welcome to contact us by email at santoshpassoubady@gmail.com or in EigenLedger's discussion space
License
Apache License 2.0