How to contribute to umich-quant

back to quant-projects

First, you'll need to get the project up and running on your machine. And for that, you need to be properly installed, so check out Getting Started. Now, since you've followed the instructions carefully, you've installed an IDE and the boost library, and configured your IDE to find the boost libraries (Xcode, VisualStudio). So you can create a command line project, replace the source of the main.cpp file with the code below, and compile and run it successfully, with a return code of 0.

Getting started with a forked repo

Here are the steps for getting started with your own forked copy of the repository:

  1. If you haven't already, create a GitHub account, and verify the account by responding to the verification email you were sent when you created the account. Install GitHub Desktop.
  2. Fork the umich-quant project by clicking in the upper right of the page.
  3. Clone the umich-quant project, using "Open in Desktop" option.
  4. While still in GitHub Desktop, create a branch of umich-quant, and name it "dev-branch."
  5. Navigate to your project, and if you are using Xcode, find the MultiFactorMonteCarlo.xcodeproj file, and launch it.
  6. Configure your project to find your data file.
  7. You will need to configure boost for this project.
  8. In your main.cpp, put a breakpoint on the last line of code (return 0;), and hit the run button. Your program should stop at the breakpoint.

This is what your workflow should look like:

  1. In dev-branch, make your code changes . Run tests.
  2. Commit the changes you've made to the codebase. Don't commit changes to the project file, or any other changes that you don't want added to the common codebase.
  3. Do a pull request from GitHub Desktop. If it is red (not green), you must update and merge. Rerun tests. Then repeat this step.
  4. Once the Maintainer has committed your changes to the master branch, you may optionally sync your changes to your GitHub repo.
  5. Delete dev-branch, update your master, and create a new dev-branch.

For more information on using GitHub in a team setting, read this.