Skip to content

Commit

Permalink
improve Readme, Contribute, setup
Browse files Browse the repository at this point in the history
  • Loading branch information
Jackal08 committed May 2, 2020
1 parent 80a58d7 commit 9cc41ca
Show file tree
Hide file tree
Showing 4 changed files with 86 additions and 87 deletions.
38 changes: 21 additions & 17 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,26 +1,20 @@
# Contributing to mlfinlab
# Contributing to MlFinLab:

First off we wanted to thank you for taking the time to contribute to the project.

mlfinlab is an open source package based on the research of Dr Marcos Lopez de Prado in his new book
Advances in Financial Machine Learning. This implementation started out as a platform from which to base a masters research project on, [Masters in Financial Engineering at WorldQuant University](https://wqu.org/).
We make use of a [mentorship program](https://hudsonthames.org/mentorship/), which caters to ambitious students looking
to make an impact on open-source and develop a portfolio of work based on financial machine learning.

As we were working through the book we saw the opportunity to code up the implementations as well answer the
questions at the back of every chapter. It has since evolved into a larger project with various implementations of machine learning in finance from various sources, such as the [Journal of Financial Data Science](https://jfds.pm-research.com/).
This allows us to establish organised collaboration and control the level of code quality.

## Areas of Contribution
We have recently opened access to our [Slack channel](https://join.slack.com/t/mlfinlab/shared_invite/enQtOTUzNjAyNDI1NTc1LTU0NTczNWRlM2U5ZDZiZTUxNTgzNzBlNDU3YmY5MThkODdiMTgwNzI5NDQ2NWI0YTYyMmI3MjBkMzY2YjVkNzc) to help form a community and encourage contributions.
## External Contributions:

Additionally we have started to create tickets on the [issues board](https://github.com/hudson-and-thames/mlfinlab/issues) and tagged them with the `good first issue` label to let the community know where we need help.
We do encourage external contributions which are sourced by members of our community, [Slack Channel](https://www.patreon.com/HudsonThames),

Needless to say, if you are interested in working on something not on the issues board, just drop us a slack message. We would be very excited to discuss this further with you.
We have quite a rigorous process of unit testing, code style checks, and documentation.

Typical contributions are:
* Answering the questions at the back of a chapter in a Jupyter Notebook. [Research repo](https://github.com/hudson-and-thames/research)
* Adding new features and core functionality to the mlfinlab package.
* Bug fixes
* Imporved documentaiton

## Templates
## Raise an Issue
We have created [templates](https://github.com/hudson-and-thames/mlfinlab/issues/new/choose) to help aid in creating issues and PRs:
* Bug report
* Feature request
Expand All @@ -30,5 +24,15 @@ We have created [templates](https://github.com/hudson-and-thames/mlfinlab/issues
---

## Contact us
We have recently opened access to our [Slack channel](https://join.slack.com/t/mlfinlab/shared_invite/enQtOTUzNjAyNDI1NTc1LTU0NTczNWRlM2U5ZDZiZTUxNTgzNzBlNDU3YmY5MThkODdiMTgwNzI5NDQ2NWI0YTYyMmI3MjBkMzY2YjVkNzc) to help form a community and encourage contributions.

We host a booming community of like minded data scientists and quants, join the
[Slack Channel](https://www.patreon.com/HudsonThames) now! Open to sponsors of our package.

The channel has the following benefits:

* Community of like minded individuals.
* Ask questions about the package implementations and get community feedback.
* Occasional presentations on topics within financial machine learning.
* A papers channel where we share the papers which are freely available.
* Access to members of our research group.

Looking forward to hearing from you!
90 changes: 60 additions & 30 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
<div align="center">
<img src="https://raw.githubusercontent.com/hudson-and-thames/mlfinlab/master/.github/logo/hudson_and_thames_logo.png" height="300"><br>
<a href="https://hudsonthames.org/">
<img src="https://raw.githubusercontent.com/hudson-and-thames/mlfinlab/master/.github/logo/hudson_and_thames_logo.png" height="300"><br>
</div>

-----------------
# Machine Learning Financial Laboratory (mlfinlab)
# Machine Learning Financial Laboratory (MlFinLab)
[![PyPi](https://img.shields.io/pypi/v/mlfinlab.svg)]((https://pypi.org/project/mlfinlab/))
[![Python](https://img.shields.io/pypi/pyversions/mlfinlab.svg)]((https://pypi.org/project/mlfinlab/))
[![Build Status](https://travis-ci.com/hudson-and-thames/mlfinlab.svg?branch=master)](https://travis-ci.com/hudson-and-thames/mlfinlab)
Expand All @@ -13,50 +14,79 @@
[![Documentation Status](https://readthedocs.org/projects/mlfinlab/badge/?version=latest)](https://mlfinlab.readthedocs.io/en/latest/?badge=latest)
[![Downloads](https://img.shields.io/pypi/dm/mlfinlab.svg)]((https://pypi.org/project/mlfinlab/))

MlFinlab is a python package which helps portfolio managers and traders who want to leverage the power of machine learning by providing reproducible, interpretable, and easy to use tools.
Adding MlFinLab to your companies pipeline is like adding a department of PhD researchers to your team.

MLFinLab is a python package based on the research of Dr. Marcos Lopez de Prado ([QuantResearch.org](http://www.quantresearch.org/)) in his new books
Advances in Financial Machine Learning, Machine Learning for Asset Managers, as well as various implementations from the [Journal of Financial Data Science](https://jfds.pm-research.com/).
This implementation started out as a spring board for a research project in the [Masters in Financial Engineering programme at WorldQuant University](https://wqu.org/) and has grown into a mini research group called [Hudson and Thames Quantitative Research](https://hudsonthames.org/) (not affiliated with the university).
> **pip install mlfinlab**
The following is the online documentation for the package: [read-the-docs](https://mlfinlab.readthedocs.io/en/latest/#)
We source all of our implementations from the most elite and peer-reviewed journals. Including publications from:
1. [The Journal of Financial Data Science](https://jfds.pm-research.com/)
2. [The Journal of Portfolio Management](https://jpm.pm-research.com/)
3. [The Journal of Algorithmic Finance](http://www.algorithmicfinance.org/)
4. [Cambridge University Press](https://www.cambridge.org/)

We are making a big drive to include techniques from various authors, however the most dominant author would be Dr. Marcos Lopez de Prado ([QuantResearch.org](http://www.quantresearch.org/)).
This package has its foundations in the two graduate level textbooks:
1. Advances in Financial Machine Learning
2. Machine Learning for Asset Managers

## Unlocking the Commons
We are currently running a sponsorship model of “Unlocking the Commmons”. Our code base, online documentation,
tutorial notebooks and presentations will remain open to everyone for so long as we can meet our minimum sponsorship
goals. We have set the **deadline: December 2020** - for a monthly total patronage of $4000 USD.

Nadia Eghbal explains it well: “If you'd like to open source a project but want to ensure that others will invest in
its long-term maintenance, you could tell your community that you'll open-source the project once you've hit a
certain amount of sponsorship. (Writer Tim Carmody refers to this as "unlocking the commons.")”

[Become a Patron and keep MlFinLab Open!](https://www.patreon.com/HudsonThames)

## Documentation & Tutorials
We lower barriers to entry for all users by providing extensive [documentation](https://mlfinlab.readthedocs.io/en/latest/)
and [tutorial notebooks](https://github.com/hudson-and-thames/research), with code examples.

## Who is Hudson & Thames?
We are a private research group focused on implementing research based financial machine learning. We all work in
virtual teams, spread across the world, primarily: New York, London, and Kyiv.

## Sponsors and Donating
A special thank you to our sponsors! If you would like to become a sponsor and help support our research, please sign
up on [Patreon](https://www.patreon.com/HudsonThames).

Benefits include:
1. Uninterrupted access: Should the code base pivot to closed source - your company will have access to all
implementations and the source code.
2. A seat on the Hudson & Thames advisory council and votes towards the direction of research and implementations.
3. Ongoing access to slide show presentations and Jupyter Notebooks. (files can be edited to suit your personal
needs such as classroom notes or client presentations.)
4. Company / Organisation profile on [www.hudsonthames.org](https://hudsonthames.org/sponsors/)
5. Use of Hudson & Thames sponsor badge on your website.
6. Access to our communities Slack Channel.
7. Subscription to project release updates and news.

### Platinum Sponsor:
<div align="center">
<img src="https://raw.githubusercontent.com/hudson-and-thames/mlfinlab/master/.github/logo/support.png" height="300"><br>
<a href="https://hudsonthames.org/sponsors/">
<img src="https://raw.githubusercontent.com/hudson-and-thames/mlfinlab/master/docs/source/logo/machine-factor-technologies.png" height="200"><br>
</div>

A special thank you to our sponsors! If you would like to become a sponsor and help support our research, please sign up on [Patreon](https://www.patreon.com/HudsonThames).
|

### Platinum Sponsor:
* [Machine Factor Technologies](https://machinefactor.tech/)

### Gold Sponsors:
<div align="center">
<a href="https://hudsonthames.org/sponsors/">
<img src="https://raw.githubusercontent.com/hudson-and-thames/mlfinlab/master/docs/source/logo/gold_sponsors.png" height="200"><br>
</div>

|

* [E.P. Chan & Associates](https://www.epchan.com/)
* [Markov Capital](http://www.markovcapital.se/)

### Supporter Sponsors:
* [John B. Keown](https://www.linkedin.com/in/john-keown-quantitative-finance-big-data-ml/)
* [Roberto Spadim](https://www.linkedin.com/in/roberto-spadim/)
* [Zack Gow](https://www.linkedin.com/in/zackgow/)
* [Jack Yu](https://www.linkedin.com/in/jihao-yu/)
* Егор Тарасенок
* Joseph Matthew
* Justin Gerard
* Jason Young
* [Shaun McDonogh](https://www.linkedin.com/in/shaunmcdonogh/)
* [Christian Beckmann](https://www.linkedin.com/in/christian-beckmann/)
* Jeffrey Wang
* [Eugene Tartakovsky](https://www.linkedin.com/in/etartakovsky/)
* [Ming Wu](https://www.linkedin.com/in/ming-yue-wu/)
* [Richard Scheiwe](https://www.linkedin.com/in/richardscheiwe/)
* [Tianfang Wu](https://www.linkedin.com/in/tianfangwu/)

---

## Getting Started

Please find all of the supporting documentation needed here: [ReadTheDocs](https://mlfinlab.readthedocs.io/en/latest/)

## Contact us

We host a booming community of like minded data scientists and quants, join the
Expand Down
43 changes: 4 additions & 39 deletions mlfinlab/__init__.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
"""
Package based on the text book: Advances in Financial Machine Learning, by Marcos Lopez de Prado
MlFinlab helps portfolio managers and traders who want to leverage the power of machine learning by providing
reproducible, interpretable, and easy to use tools.
Adding MlFinLab to your companies pipeline is like adding a department of PhD researchers to your team.
"""
import webbrowser
import textwrap

import mlfinlab.cross_validation as cross_validation
import mlfinlab.data_structures as data_structures
Expand All @@ -22,39 +23,3 @@
import mlfinlab.microstructural_features as microstructural_features
import mlfinlab.backtest_statistics.backtests as backtests
import mlfinlab.backtest_statistics.statistics as backtest_statistics

# Sponsorship notification
# try:
# webbrowser.get('google-chrome').open('https://www.patreon.com/HudsonThames', new=2)
# except webbrowser.Error as error:
# try:
# webbrowser.get('firefox').open('https://www.patreon.com/HudsonThames', new=2)
# except webbrowser.Error as error:
# try:
# webbrowser.get('windows-default').open('https://www.patreon.com/HudsonThames', new=2)
# except webbrowser.Error as error:
# pass

print()
print()
print(textwrap.dedent("""\
Support us on Patreon: https://www.patreon.com/HudsonThames
MlFinLab needs you! We need your help for us to keep on maintaining and implementing academic research based on
financial machine learning (for open-source). In order for us to continue we need to raise $4000 of monthly donations
via Patreon - by December 2020. If we can't reach our goal, we will need to adopt more of a paid for service. We thought
that the best and least impactful course of action (should we not reach our goal) is to leave the package as open-source
but to make the documentation (ReadTheDocs) a paid for service. This is the ultimate litmus test, if the package is a
value add, then we need the community to help us keep it going.
Our road map for 2020 is to implement the text book: Machine Learning for Asset Managers by Marcos Lopez de Prado,
as well as a few papers from the Journal of Financial Data Science. We are hiring a full time developer for 3 months
to help us reach our goals. The money that you, our sponsors, contribute will go directly to paying salaries and other
expenses such as journal subscriptions and data.
We need your help to continue maintaining and developing this community. Thank you for using our package and we
invite you to join our slack channel using the following link:
https://join.slack.com/t/mlfinlab/shared_invite/zt-c62u9gpz-VFc13j6da~UVg3DkV7~RjQ
"""))
print()
print()
2 changes: 1 addition & 1 deletion setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ author = Hudson and Thames Quantitative Research
author_email = [email protected]
licence = All Rights Reserved
licence-file = LICENSE.txt
description = Package based on the textbooks: Advances in Financial Machine Learning and Machine Learning for Asset Managers, by Marcos Lopez de Prado
description = MlFinlab helps portfolio managers and traders who want to leverage the power of machine learning by providing reproducible, interpretable, and easy to use tools.
long_description = file: README.md
long_description_content_type = text/markdown
platform = any
Expand Down

0 comments on commit 9cc41ca

Please sign in to comment.