The three exams of the ARPM Certification can be pursued in any order.

The practical project is an individual project of your choice that analyzes one or more topics in the
Advanced Risk and Portfolio Management (ARPM) Topics.

Breadth of coverage is favored over depth.

The project consists of three components:**number P** in the interval [0,1].

The grade for the project is computed as P=(D+C+V)/3, where "D", "C" and "V" are three numbers, each in the interval [0,1].

The number "D" evaluates the description. Candidates are expected to clearly state assumptions, methodology and conclusions.

The number "C" evaluates the code: if the code is modular, easily readable, and accurately mirrors the description C=1; if it does not run C=0; for the intermediate cases an intermediate value will be determined.

The number "V" evaluates the video presentation. Candidates are expected to speak clearly and to be able to communicate quantitative concepts to an audience of interested generalists.

To submit the project, candidates should adhere strictly to the guidelines below.

For each violation, P is multiplied by a factor 0.8

#### Guidelines

1. Description

- Write the description of your project in LaTeX or Word

- Strictly adhere to the notation conventions of the ARPM Topics

- Save it in .pdf format as “Description.pdf”

- Ensure that the total length of “Description.pdf”, including any potential figures, does not exceed one page

2a. Code: environment

**If you have access to the Advanced Risk and Portfolio Management (ARPM) Lab**:

- write and test the code directly on the ARPM Lab

- work and save your code within your personal folder, named "myFiles", that you find pre-loaded in the Lab coding environments (important: the content of every other folder is overwritten and lost when you close the session!)

**If you do not have access to Advanced Risk and Portfolio Management (ARPM) Lab**:

- Python

write and test your code using Python 3.7.

all the figures and diagrams should be generated by Matplotlib (ideally pyplot)

do not use any packages, other than those listed here(*)

- MATLAB

write and test your code using MATLAB 2017/2018/2019

do not use any toolboxes, other than those listed here(**)

- R

write and test your code using R version 3.5.1 or later

do not use any packages, other than those listed here(***)

2b. Code: style

- Strictly adhere to the notation conventions of the ARPM Topics

- Create one and only main script “S_Main.py” or “S_Main.m”

- Place all the code, functions and data in one folder named (your own) "FirstName-LastName-Project"

- Ensure that the main script runs the whole project within the folder

3. Presentation

- Record an audio/video presentation of your project “Video presentation.mp4“ (you can use e.g. this software)

- Strictly adhere to the notation conventions of the ARPM Topics

- Use screen-sharing to showcase any materials you deem useful

- Overlay your audible commentary as you illustrate your project

- Show your face in one corner of the screen as you speak

- Ensure that the total length of your presentation does not exceed 10 minutes

4. Submission

**If you have access to the Advanced Risk and Portfolio Management (ARPM) Lab**:

- place “Description.pdf” and “Video presentation.mp4” together with the code in folder "FirstName-LastName-Project" (you can drag-and-drop or upload the files into the folder from myFiles or from the Jupyter Lab environment)

- send an email to information@arpm.co

from the email address associated with your ARPM Lab account

subject line “ARPM Certification Practical Project”

body: empty

- do not modify folder “FirstName-LastName-Project” after sending the email

**If you do not have access to the Advanced Risk and Portfolio Management (ARPM) Lab**:

- place “Description.pdf” and “Video presentation.mp4” together with the code in folder "FirstName-LastName-Project"

- Zip the folder "FirstName-LastName-Project"

- send an email to information@arpm.co

subject line “ARPM Certification Practical Project”

attachment "FirstName-LastName-Project.zip"

body: empty

**name:** base

**channels:**

name: base

channels:

- conda-forge

- defaults

dependencies:

- conda

- python=3.7

- scikit-learn=0.21

- pydot

- hmmlearn

- scipy=1.3

- cvxpy

- statsmodels=0.10

- scikit-image=0.15

- tqdm

- seaborn=0.9

- plotly

- numba=0.45

- cvxopt

- matplotlib-base=3.1

- pandas=0.25

**name:** base

**channels:**

name: base

Channels: - conda-forge

- defaults

Dependencies:

- r-askpass=1.1

- r-assertthat=0.2.1

- r-backports=1.1.5

- r-base=3.6.1

- r-base64enc=0.1_3

- r-bit=1.1_14

- r-bit64=0.9_7

- r-bitops=1.0_6

- r-blob=1.2.0

- r-broom=0.5.2

- r-callr=3.3.2

- r-caret=6.0_84

- r-cellranger=1.1.0

- r-class=7.3_15

- r-cli=1.1.0

- r-clipr=0.7.0

- r-clisymbols=1.2.0

- r-codetools=0.2_16

- r-colorspace=1.4_1

- r-config=0.3

- r-crayon=1.3.4

- r-curl=4.2

- r-data.table=1.12.6

- r-dbi=1.0.0

- r-dbplyr=1.4.2

- r-desc=1.2.0

- r-devtools=2.0.2

- r-digest=0.6.23

- r-dplyr=0.8.3

- r-e1071=1.7_2

- r-ellipsis=0.3.0

- r-evaluate=0.14

- r-fansi=0.4.0

- r-farver=2.0.1

- r-forcats=0.4.0

- r-foreach=1.4.7

- r-forecast=8.7

- r-forge=0.2.0

- r-fracdiff=1.4_2

- r-fs=1.3.1

- r-generics=0.0.2

- r-ggplot2=3.2.1

- r-gh=1.0.1

- r-git2r=0.26.1

- r-glue=1.3.1

- r-gower=0.2.1

- r-gtable=0.3.0

- r-haven=2.2.0

- r-hexbin=1.27.3

- r-highr=0.8

- r-hms=0.5.2

- r-htmltools=0.3.6

- r-htmlwidgets=1.3

- r-httpuv=1.5.2

- r-httr=1.4.1

- r-ini=0.3.1

- r-ipred=0.9_9

- r-irdisplay=0.7

- r-irkernel=1.0.2

- r-iterators=1.0.12

- r-jsonlite=1.6

- r-kernsmooth=2.23_15

- r-knitr=1.26

- r-labeling=0.3

- r-later=1.0.0

- r-lattice=0.20_38

- r-lava=1.6.6

- r-lazyeval=0.2.2

- r-lifecycle=0.1.0

- r-lmtest=0.9_37

- r-lubridate=1.7.4

- r-magrittr=1.5

- r-markdown=1.1

- r-mass=7.3_51.4

- r-matrix=1.2_17

- r-memoise=1.1.0

- r-mgcv=1.8_29

- r-mime=0.7

- r-modelmetrics=1.2.2

- r-modelr=0.1.5

- r-munsell=0.5.0

- r-nlme=3.1_141

- r-nnet=7.3_12

- r-numderiv=2016.8_1.1

- r-nycflights13=1.0.0

- r-openssl=1.4.1

- r-pbdzmq=0.3_3

- r-pillar=1.4.2

- r-pkgbuild=1.0.6

- r-pkgconfig=2.0.3

- r-pkgload=1.0.2

- r-plogr=0.2.0

- r-plyr=1.8.4

- r-pracma=2.2.5

- r-prettyunits=1.0.2

- r-processx=3.4.1

- r-prodlim=2019.11.13

- r-progress=1.2.2

- r-promises=1.1.0

- r-ps=1.3.0

- r-purrr=0.3.3

- r-quadprog=1.5_7

- r-quantmod=0.4_15

- r-r2d3=0.2.3

- r-r6=2.4.1

- r-randomforest=4.6_14

- r-rappdirs=0.3.1

- r-rcmdcheck=1.3.3

- r-rcolorbrewer=1.1_2

- r-rcpp=1.0.3

- r-rcpparmadillo=0.9.800.1.0

- r-rcurl=1.95_4.12

- r-readr=1.3.1

- r-readxl=1.3.1

- r-recipes=0.1.7

- r-rematch=1.0.1

- r-remotes=2.1.0

- r-repr=1.0.1

- r-reprex=0.3.0

- r-reshape2=1.4.3

- r-rlang=0.4.2

- r-rmarkdown=1.14

- r-rodbc=1.3_15

- r-rpart=4.1_15

- r-rprojroot=1.3_2

- r-rsqlite=2.1.2

- r-rstudioapi=0.10

- r-rvest=0.3.5

- r-scales=1.1.0

- r-selectr=0.4_1

- r-sessioninfo=1.1.1

- r-shiny=1.3.2

- r-sourcetools=0.1.7

- r-sparklyr=1.0.2

- r-squarem=2017.10_1

- r-stringi=1.4.3

- r-stringr=1.4.0

- r-survival=2.44_1.1

- r-sys=3.3

- r-tibble=2.1.3

- r-tidyr=1.0.0

- r-tidyselect=0.2.5

- r-tidyverse=1.2.1

- r-timedate=3043.102

- r-tinytex=0.17

- r-tseries=0.10_47

- r-ttr=0.23_5

- r-urca=1.3_0

- r-usethis=1.5.1

- r-utf8=1.1.4

- r-uuid=0.1_2

- r-vctrs=0.2.0

- r-viridislite=0.3.0

- r-whisker=0.4

- r-withr=2.1.2

- r-xfun=0.11

- r-xml2=1.2.2

- r-xopen=1.0.0

- r-xtable=1.8_4

- r-xts=0.11_2

- r-yaml=2.2.0

- r-zeallot=0.1.0

- r-zoo=1.8_6

$(document).ready(function(){
$('#popup-python').magnificPopup({
type:'inline',
src:'#popupContainer-python'
});
$('#popup-matlab').magnificPopup({
type:'inline',
src:'#popupContainer-matlab'
});
$('#popup-r').magnificPopup({
type:'inline',
src:'#popupContainer-r'
});
});

Breadth of coverage is favored over depth.

The project consists of three components:

- a one-page description of the project
- the associated Python, MATLAB or R code
- a 10-minute recorded video presentation of the project.

The grade for the project is computed as P=(D+C+V)/3, where "D", "C" and "V" are three numbers, each in the interval [0,1].

The number "D" evaluates the description. Candidates are expected to clearly state assumptions, methodology and conclusions.

The number "C" evaluates the code: if the code is modular, easily readable, and accurately mirrors the description C=1; if it does not run C=0; for the intermediate cases an intermediate value will be determined.

The number "V" evaluates the video presentation. Candidates are expected to speak clearly and to be able to communicate quantitative concepts to an audience of interested generalists.

To submit the project, candidates should adhere strictly to the guidelines below.

For each violation, P is multiplied by a factor 0.8

1. Description

- Write the description of your project in LaTeX or Word

- Strictly adhere to the notation conventions of the ARPM Topics

- Save it in .pdf format as “Description.pdf”

- Ensure that the total length of “Description.pdf”, including any potential figures, does not exceed one page

2a. Code: environment

- write and test the code directly on the ARPM Lab

- work and save your code within your personal folder, named "myFiles", that you find pre-loaded in the Lab coding environments (important: the content of every other folder is overwritten and lost when you close the session!)

- Python

write and test your code using Python 3.7.

all the figures and diagrams should be generated by Matplotlib (ideally pyplot)

do not use any packages, other than those listed here(*)

- MATLAB

write and test your code using MATLAB 2017/2018/2019

do not use any toolboxes, other than those listed here(**)

- R

write and test your code using R version 3.5.1 or later

do not use any packages, other than those listed here(***)

2b. Code: style

- Strictly adhere to the notation conventions of the ARPM Topics

- Create one and only main script “S_Main.py” or “S_Main.m”

- Place all the code, functions and data in one folder named (your own) "FirstName-LastName-Project"

- Ensure that the main script runs the whole project within the folder

3. Presentation

- Record an audio/video presentation of your project “Video presentation.mp4“ (you can use e.g. this software)

- Strictly adhere to the notation conventions of the ARPM Topics

- Use screen-sharing to showcase any materials you deem useful

- Overlay your audible commentary as you illustrate your project

- Show your face in one corner of the screen as you speak

- Ensure that the total length of your presentation does not exceed 10 minutes

4. Submission

- place “Description.pdf” and “Video presentation.mp4” together with the code in folder "FirstName-LastName-Project" (you can drag-and-drop or upload the files into the folder from myFiles or from the Jupyter Lab environment)

- send an email to information@arpm.co

from the email address associated with your ARPM Lab account

subject line “ARPM Certification Practical Project”

body: empty

- do not modify folder “FirstName-LastName-Project” after sending the email

- place “Description.pdf” and “Video presentation.mp4” together with the code in folder "FirstName-LastName-Project"

- Zip the folder "FirstName-LastName-Project"

- send an email to information@arpm.co

subject line “ARPM Certification Practical Project”

attachment "FirstName-LastName-Project.zip"

body: empty

Allowed MATLAB packages:

Product List:

MATLAB

Curve Fitting Toolbox

Database Toolbox

Datafeed Toolbox

Deep Learning Toolbox

Econometrics Toolbox

Financial Instruments Toolbox

Financial Toolbox

Global Optimization Toolbox

Optimization Toolbox

Parallel Computing Toolbox

Spreadsheet Link

Statistics and Machine Learning Toolbox

Symbolic Math Toolbox

Text Analytics Toolbox

Trading Toolbox

MATLAB

Curve Fitting Toolbox

Database Toolbox

Datafeed Toolbox

Deep Learning Toolbox

Econometrics Toolbox

Financial Instruments Toolbox

Financial Toolbox

Global Optimization Toolbox

Optimization Toolbox

Parallel Computing Toolbox

Spreadsheet Link

Statistics and Machine Learning Toolbox

Symbolic Math Toolbox

Text Analytics Toolbox

Trading Toolbox

Allowed Python packages:

name: base

channels:

- conda-forge

- defaults

dependencies:

- conda

- python=3.7

- scikit-learn=0.21

- pydot

- hmmlearn

- scipy=1.3

- cvxpy

- statsmodels=0.10

- scikit-image=0.15

- tqdm

- seaborn=0.9

- plotly

- numba=0.45

- cvxopt

- matplotlib-base=3.1

- pandas=0.25

Allowed R packages:

name: base

Channels: - conda-forge

- defaults

Dependencies:

- r-askpass=1.1

- r-assertthat=0.2.1

- r-backports=1.1.5

- r-base=3.6.1

- r-base64enc=0.1_3

- r-bit=1.1_14

- r-bit64=0.9_7

- r-bitops=1.0_6

- r-blob=1.2.0

- r-broom=0.5.2

- r-callr=3.3.2

- r-caret=6.0_84

- r-cellranger=1.1.0

- r-class=7.3_15

- r-cli=1.1.0

- r-clipr=0.7.0

- r-clisymbols=1.2.0

- r-codetools=0.2_16

- r-colorspace=1.4_1

- r-config=0.3

- r-crayon=1.3.4

- r-curl=4.2

- r-data.table=1.12.6

- r-dbi=1.0.0

- r-dbplyr=1.4.2

- r-desc=1.2.0

- r-devtools=2.0.2

- r-digest=0.6.23

- r-dplyr=0.8.3

- r-e1071=1.7_2

- r-ellipsis=0.3.0

- r-evaluate=0.14

- r-fansi=0.4.0

- r-farver=2.0.1

- r-forcats=0.4.0

- r-foreach=1.4.7

- r-forecast=8.7

- r-forge=0.2.0

- r-fracdiff=1.4_2

- r-fs=1.3.1

- r-generics=0.0.2

- r-ggplot2=3.2.1

- r-gh=1.0.1

- r-git2r=0.26.1

- r-glue=1.3.1

- r-gower=0.2.1

- r-gtable=0.3.0

- r-haven=2.2.0

- r-hexbin=1.27.3

- r-highr=0.8

- r-hms=0.5.2

- r-htmltools=0.3.6

- r-htmlwidgets=1.3

- r-httpuv=1.5.2

- r-httr=1.4.1

- r-ini=0.3.1

- r-ipred=0.9_9

- r-irdisplay=0.7

- r-irkernel=1.0.2

- r-iterators=1.0.12

- r-jsonlite=1.6

- r-kernsmooth=2.23_15

- r-knitr=1.26

- r-labeling=0.3

- r-later=1.0.0

- r-lattice=0.20_38

- r-lava=1.6.6

- r-lazyeval=0.2.2

- r-lifecycle=0.1.0

- r-lmtest=0.9_37

- r-lubridate=1.7.4

- r-magrittr=1.5

- r-markdown=1.1

- r-mass=7.3_51.4

- r-matrix=1.2_17

- r-memoise=1.1.0

- r-mgcv=1.8_29

- r-mime=0.7

- r-modelmetrics=1.2.2

- r-modelr=0.1.5

- r-munsell=0.5.0

- r-nlme=3.1_141

- r-nnet=7.3_12

- r-numderiv=2016.8_1.1

- r-nycflights13=1.0.0

- r-openssl=1.4.1

- r-pbdzmq=0.3_3

- r-pillar=1.4.2

- r-pkgbuild=1.0.6

- r-pkgconfig=2.0.3

- r-pkgload=1.0.2

- r-plogr=0.2.0

- r-plyr=1.8.4

- r-pracma=2.2.5

- r-prettyunits=1.0.2

- r-processx=3.4.1

- r-prodlim=2019.11.13

- r-progress=1.2.2

- r-promises=1.1.0

- r-ps=1.3.0

- r-purrr=0.3.3

- r-quadprog=1.5_7

- r-quantmod=0.4_15

- r-r2d3=0.2.3

- r-r6=2.4.1

- r-randomforest=4.6_14

- r-rappdirs=0.3.1

- r-rcmdcheck=1.3.3

- r-rcolorbrewer=1.1_2

- r-rcpp=1.0.3

- r-rcpparmadillo=0.9.800.1.0

- r-rcurl=1.95_4.12

- r-readr=1.3.1

- r-readxl=1.3.1

- r-recipes=0.1.7

- r-rematch=1.0.1

- r-remotes=2.1.0

- r-repr=1.0.1

- r-reprex=0.3.0

- r-reshape2=1.4.3

- r-rlang=0.4.2

- r-rmarkdown=1.14

- r-rodbc=1.3_15

- r-rpart=4.1_15

- r-rprojroot=1.3_2

- r-rsqlite=2.1.2

- r-rstudioapi=0.10

- r-rvest=0.3.5

- r-scales=1.1.0

- r-selectr=0.4_1

- r-sessioninfo=1.1.1

- r-shiny=1.3.2

- r-sourcetools=0.1.7

- r-sparklyr=1.0.2

- r-squarem=2017.10_1

- r-stringi=1.4.3

- r-stringr=1.4.0

- r-survival=2.44_1.1

- r-sys=3.3

- r-tibble=2.1.3

- r-tidyr=1.0.0

- r-tidyselect=0.2.5

- r-tidyverse=1.2.1

- r-timedate=3043.102

- r-tinytex=0.17

- r-tseries=0.10_47

- r-ttr=0.23_5

- r-urca=1.3_0

- r-usethis=1.5.1

- r-utf8=1.1.4

- r-uuid=0.1_2

- r-vctrs=0.2.0

- r-viridislite=0.3.0

- r-whisker=0.4

- r-withr=2.1.2

- r-xfun=0.11

- r-xml2=1.2.2

- r-xopen=1.0.0

- r-xtable=1.8_4

- r-xts=0.11_2

- r-yaml=2.2.0

- r-zeallot=0.1.0

- r-zoo=1.8_6

Date

Activity

Anytime

The practical project can be submitted at any time upon registering.

Within 60 days

The project will be graded and the results will become available within 60 days of the submission date.

Quant BootcampOnsite / online live / self-paced. Intensive overview training on data science, quantitative risk modeling and portfolio construction

LEARN MOREQuant MarathonOnline: cohorts + self-paced. In-depth, master-level, 6-course program in modern quantitative finance with emphasis on data science

LEARN MOREPrimersOnline self-paced. Short coding courses to prepare for the Quant Bootcamp or the Quant Marathon

LEARN MOREThis site uses cookies. By continuing to browse the site you are agreeing to our use of cookies.

Review our cookies policy for more information.

Review our cookies policy for more information.

Quant Bootcamp: Info session on May 26th, 2022 at 12:00PM EST