Skip to main content

Flexible and easy-to-use Python library for analysis & manipulation with financial & economic data

Project description

Status

Travis Gitter Pepy Codecov

Examples

Binder

Support

Donate

cifrum – a flexible and easy-to-use Python 3.6+ library for analysis & manipulation with financial & economic data

cifrum is released under the terms of GPL license. We appreciate all kinds of contributions, financial resources to maintain the project and accelerate its development.

If you find cifrum useful in your financial research, private investments or company, please consider making a donation to the project commensurate with your resources. Any amount helps!

All donations will be used strictly to fund cifrum development supporting activities: the Python library development, frontend solutions, documentation and maintenance work, and paying for hosting costs of servers.

If you are interested in donating to the project, please, use the Paypal button: Donate

Introduction

cifrum is a Python library developed to solve quantitative finance and investments tasks. Additionally, it has the broader goal to become the most useful and flexible open sourced tool for financial data analysis available in popular programming languages.

Applications

Useful applications of cifrum in the community developed are as follows:

The Ecosystem

The ecosystem around the library consists of:

Main Features

  • [x] TimeSeries to verify correctness of financial data manipulations

  • [x] Error-free manipulations with financial data checked by tests and active community

  • [x] Asset analysis tools for asset correlations and main performance indicators

  • [ ] Portfolio analysis tools for asset class allocation and portfolio backtesting

  • [ ] Portfolio optimization and efficient frontier visualization

  • [ ] Monte Carlo Simulation for financial assets and investment portfolios

  • [ ] Bonds key properties calculations

  • [x] Access to financial data from different stock markets: EOD close, adjusted close, currency rates, inflation

  • [x] Financial and Economic data with API with GraphQL data access

Financial and Economic data freely available

  • [x] EOD adjusted close for NYSE and NASDAQ stocks and ETF

  • [x] EOD close for Moscow Exchange stocks and ETF

  • [x] EOD close for Russian open-end funds

  • [ ] EOD close for BSE and NSE stocks and ETF (India)

  • [x] EOD for main stock and bond Indexes

  • [ ] Bonds data for Moscow Exchange-traded securities: EOD close, coupons, maturity

  • [x] Exchange Rates for USD, EUR, RUB

  • [ ] Exchange Rates for Bitcoin [BTC], Ethereum [ETH], Binance Coin [BNB] and other cryptocurrencies

  • [x] Inflation for US, EU, and Russia

  • [x] Key interest rates for US, EU, and Russia

  • [x] History of deposit rates for top 10 banks of Russia

Installation

The library is published to pypi.org.

Install stable version:

pip install -U cifrum

Install development version:

pip install -U git+https://github.com/okama-io/cifrum.git

Jupyter Notebooks

The examples folder contains Jupyter notebooks that show how to use the library parts in depth.

examples are also compatible with binder. You can try it by pressing the Binder button.

Dependencies

The library dependencies are listed at pyproject.toml under [tool.poetry.dependencies] section.

Discussion, Development, and Getting Help

  • The development discussion takes place at the GitHub repo. We encourage you to report issues using the Github tracker. We welcome all kinds of issues related to correctness, documentation, performance, and feature requests.

  • The community forum can also be used for general questions and discussions.

  • Finally, the Gitter channel is available for the development related questions.

Contributing

All contributions, bug reports, bug fixes, documentation improvements, enhancements, frontend implementation, and ideas are welcomed and the subject to discuss. Simple ways to start contributing immediately:

  • Browse the issue tracker to find issues that interest you

  • Read the source code and improve the documentation or address TODOs

  • Improve the example library and tutorials

  • Bug reports are an important part of making the library more stable

  • Run the library through the okama.io frontend and suggest improvements in design, UI, and functionality

The code is hosted at GitHub. You need an GitHub account which is free to contribute to the project. We use git for the version control to enable distributed work on the project.

Contributions should be submitted as a pull request. A member of the development team will review the pull request and guide you through the contributing process.

Feel free to ask questions at the community.

License

GPL

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cifrum-0.2.5.tar.gz (35.2 kB view hashes)

Uploaded Source

Built Distribution

cifrum-0.2.5-py3-none-any.whl (43.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page