Hudson & Thames has provided the following skillset challenge to allow potential researchers to gauge if they have the required skills to take part in the apprenticeship program.
Our previous cohort built the foundations of the ArbitrageLab python library. You will continue to build on their success
The following assignment is an opportunity for you to highlight your skillset and show us what you are made of! It tests your ability to implement academic research for the broader quantitative finance community, and to do it in style!
Read the following paper: Statistical Arbitrage with Vine Copulas.
Note: The paper covers a trading strategy regarding Vine Copulas, don't be intimidated by the topic.
In a Jupyter Notebook (python):
- Download and save your universe of stocks (S&P500 constituents) (Can use Yahoo finance to get shares data. Checkout the yfinance package.)(Else you can use Polygon)
- Implement Section 3.1.1: Partner selection (At least 3 of the 4 procedures, impress us with all 4). This set of algorithms has important applications for the Vine Copula module in ArbitrageLab.
- We have included a helpful guide in the Guide of Extended Approach.
- Create a set of functions/class for the end-user to make use of.
- Make sure to add docstrings and follow PEP8 code style checks. Have plenty of inline comments, good variable names and don't over complicate things unnecessarily. It should be easy for the user to make use of.
- Showcase your new Partner Selection Framework in a Jupyter Notebook and show us some great visualizations (Matplotlib is a bit basic).
- Add an introduction, body, and conclusion showcasing your new implementation. (Use the correct style headers)
- Make a Pull Request to this repo so that we can evaluate your work. (Create a new folder with your name)
- Bonus points if you add unit tests (in a separate .py file).
- Provide a writeup explaining your way-of-work, your design choices, maybe a UML digram, and learnings.
- Deadline: 17th of February 2021
Being a good researcher is a multivariate problem that can't be reduced to a few variables. You need to be good at, mathematics, statistics, computer science, finance, and communication.
Pay close attention to detail and know that code style, inline comments, and documentation are heavily weighted.
The one consistent theme between all of our top researchers is their ability to go above and beyond what is asked of them. Please take the initiative to highlight your talent by going the extra mile and adding functionality that end users would love!
- Your code for the implementation should be contained in a .py file that you import into your notebook. Please don't have large chunks of code in your notebook.
- IDE Choice: Pycharm, NOT Spyder.
- Save your data with your PR so that we can evaluate it.
- Turn to the previous cohort's submissions for inspiration.
Our Mission
Our mission is to promote the scientific method within investment management by codifying frameworks, algorithms, and best practices to build the world’s first central repository of ready to use implementations and intellectual property.
- Company Name: Hudson and Thames Quantitative Research
- Company Website: https://hudsonthames.org/
- Locked Achievement: Researcher
- Location: Virtual Team (We are all in different time zones across the world.)
- Education: Familiarity with computer science, statistics, and applied maths. We care a lot more about what you can do rather than your exact qualifications.
- Implement academic research
- Python
- Unit tests
- PEP8
- Continuous integration
- Documentation
- Writing articles
- Public Speaking
- Must speak fluent English. There is a documentation requirement so English is an absolute requirement.
- Python
- statistics
- Software engineering
- Object Orientated Programming
- Linear Algebra