SciFin is a python package for Science and Finance.
Project description
SciFin
SciFin is a python package for Science and Finance.
Summary
The SciFin package is a Python package designed to gather and develop methods for scientific studies and financial services. It originates from the observation that numerous methods developed in scientific fields (such as mathematics, physics, biology and climate sciences) have direct applicability in finance and that, conversely, multiple methods developed in finance can benefit science.
The development goal of this package is to offer a toolbox that can be used both in research and business. Its purpose is not only to bring these fields together, but also to increase interoperability between them, helping science turn into business and finance to get new insights from science. Some functions are thus neutral to any scientific or economical fields, while others are more specialized to precise tasks. The motivation behind this design is to provide tools that perform advanced tasks while remaining simple (not depending on too many parameters).
Table of Contents
Development Stage
The current development is focused on the following topics:
Subpackage | Short Description | Development Stage |
---|---|---|
classifier |
classification techniques | ■ □ □ □ □ |
fouriertrf |
Fourier transforms | ■ □ □ □ □ |
geneticalg |
genetic algorithms | ■ ■ ■ □ □ |
marketdata |
reading market data | ■ □ □ □ □ |
montecarlo |
Monte Carlo simulations | ■ □ □ □ □ |
neuralnets |
neural networks | □ □ □ □ □ |
statistics |
basic statistics | ■ □ □ □ □ |
timeseries |
time series analysis | ■ ■ ■ ■ □ |
The topics already developed are time series analysis, genetic algorithms and statistics.
A lot of development still needs to be done. Other topics will also later follow.
Installation
Installing SciFin on Linux or Mac is very easy, you can simply run this on a terminal:
pip install SciFin
You can also access the last version of the package on PyPI.
If you encounter problems during installation or after and think you know how the problem can be improved, please share it with me.
Version 0.0.8 may lead to a small problem from pandas. If you get an error message such as:
ImportError: cannot import name 'urlencode' from 'pandas.io.common'
it is advised to install pandas version 1.0.3 using e.g. the command line:
pip install pandas==1.0.3
.
Usage
The code is growing fast and many classes and function acquire new features. Hence, one version can be significantly different from the previous one at the moment. That's what makes development exciting! But that can also be confusing.
A documentation of the code should help users. Once ready, this documentation will start appearing on SciFin's Wiki page.
If you encounter any problem while using SciFin, please do not hesitate to report it to us by creating an issue.
Contributing
The package tries to follow the style guide for Python code PEP8. If you find any part of the code unclear or departing from this style, please let me know. As for docstrings, the format we try to follow here is given by the numpy doc style.
It is strongly advised to have a fair knowledge of Python to contribute, at least a strong motivation to learn, and recommanded to read the following Python3 Tutorial before joining the project.
To know more about the (evolving) rules that make the project self-consistent and eases interaction between contributors, please refer to details in the Contributing file.
Credits
All the development up to now has been done by Fabien Nugier. New contributors will join soon.
License
SciFin is currently developed under the MIT license.
Please keep in mind that SciFin and its developers hold no responsibility for any wrong usage or losses related to the package usage.
For more details, please refer to the license.
Contacts
If you have comments or suggestions, please reach Fabien Nugier. Thank you very much in advance for your feedback.
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.