Testing: Practical Project

The three exams of the ARPM Certificate can be pursued in any order.
The practical project is an individual project of your choice that analyzes one or more topics in the Body of Knowledge.
Breadth of coverage is favored over depth.

The project consists of three components:
  1. a one-page description of the project
  2. the associated Python or MATLAB code
  3. a 10-minute recorded video presentation of the project.
The grade for the project is a 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.

Submission guidelines

To submit the project, candidates should adhere strictly to the guidelines below.
For each violation, P is multiplied by a factor 0.8;

- Create a folder (your own) "FirstName_LastName"

- write and test your code using MATLAB 2016/2017/2018, or Python 3.5/3.6
- strictly adhere to the notation conventions
- (for Python only) all the figures and diagrams should be generated by Matplotlib (ideally pyplot)
- (for Python only) do not use any packages, other than those listed here
- (for MATLAB only) do not use any toolboxes, other than those listed here
- create one and only main script “S_Main.py” or “S_Main.m”
- put all the code, functions and data in the folder "FirstName_LastName"
- ensure that the main script runs the whole project within the folder

- write the description of your project in LaTeX or Word - strictly adhere to the notation conventions
- 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
- place “Description.pdf” with the code in the folder "FirstName_LastName"

- record an audio/video presentation of your project “Video presentation.mp4“ (you can use e.g. this software)
- strictly adhere to the notation conventions
- use the whole screen 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 the presentation does not exceed 10 minutes
- place “Video presentation.mp4” with the code and with “Description.pdf” in the folder "FirstName_LastName"

- zip the folder "FirstName_LastName"
- attach "FirstName_LastName.zip" to an email
- write “ARPM Certificate Practical Project” in the subject line
- do not place any content in the body of the email
- send the email to infoarpm.co by the deadline in the calendar below.


Allowed MATLAB packages:
- MATLAB
- Curve Fitting Toolbox
- Database Toolbox
- Datafeed Toolbox
- Econometrics Toolbox
- Financial Instruments Toolbox
- Financial Toolbox
- Global Optimization Toolbox
- MATLAB Report Generator
- Neural Network Toolbox
- Optimization Toolbox
- Parallel Computing Toolbox
- Risk Management Toolbox
- Spreadsheet Link
- Statistics and Machine Learning Toolbox
- Symbolic Math Toolbox
- Text Analytics Toolbox
- Trading Toolbox
Allowed Python packages:
name: arpm-jupyter-env
channels:
- conda-forge
- defaults
- cvxgrp
dependencies:
- alabaster=0.7.10=py36_1
- alembic=0.9.6=py_0
- asn1crypto=0.22.0=py36_0
- astroid=1.5.3=py36_0
- babel=2.5.1=py36_0
- backports=1.0=py36_1
- backports.functools_lru_cache=1.4=py36_1
- backports.shutil_get_terminal_size=1.0.0=py_3
- beautifulsoup4=4.6.0=py36_0
- blas=1.1=openblas
- bleach=2.0.0=py36_0
- bokeh=0.12.10=py36_0
- bqplot=0.10.1=py36_0
- ca-certificates=2017.7.27.1=0
- cairo=1.14.6=5
- certifi=2017.7.27.1=py36_0
- cffi=1.11.2=py36_0
- chardet=3.0.4=py36_0
- clangdev=5.0.0=default_0
- configurable-http-proxy=3.1.0=0
- cryptography=2.0.3=py36_0
- cvxopt=1.1.9=py36_blas_openblas_201
- cycler=0.10.0=py36_0
- cython=0.27.3=py36_0
- dask-core=0.16.0=py_0
- dbus=1.10.22=0
- decorator=4.1.2=py36_0
- dill=0.2.6=py36_0
- docutils=0.14=py36_0
- entrypoints=0.2.3=py36_1
- et_xmlfile=1.0.1=py36_0
- expat=2.2.1=0
- fastcache=1.0.2=py36_0
- fftw=3.3.7=0
- fontconfig=2.12.1=5
- freetype=2.7=2
- gettext=0.19.7=1
- glib=2.51.4=0
- glpk=4.63=0
- gmp=6.1.2=0
- gmpy2=2.0.8=py36_1
- graphite2=1.3.10=0
- graphviz=2.38.0=6
- gsl=2.2.1=blas_openblas_3
- gst-plugins-base=1.8.0=0
- gstreamer=1.8.0=1
- harfbuzz=1.4.3=0
- html5lib=0.999999999=py36_0
- icu=58.2=0
- idna=2.6=py36_1
- imageio=2.2.0=py36_0
- imagesize=0.7.1=py36_0
- ipykernel=4.6.1=py36_0
- ipyleaflet=0.5.0=py36_0
- ipython=6.2.1=py36_0
- ipython_genutils=0.2.0=py36_0
- ipyvolume=0.4.0=py36_1
- ipywebrtc=0.3.0=py36_0
- ipywidgets=7.0.5=py36_0
- isort=4.2.15=py36_0
- jdcal=1.3=py36_0
- jedi=0.10.2=py36_0
- jinja2=2.9.6=py36_0
- jpeg=9b=2
- jsonschema=2.6.0=py36_0
- jupyter=1.0.0=py36_0
- jupyter_client=5.1.0=py36_0
- jupyter_console=5.2.0=py36_0
- jupyter_contrib_core=0.3.3=py36_0
- jupyter_contrib_nbextensions=0.3.3=py36_0
- jupyter_core=4.4.0=py_0
- jupyter_highlight_selected_word=0.1.0=py36_0
- jupyter_latex_envs=1.3.8.2=py36_1
- jupyter_nbextensions_configurator=0.2.8=py36_0
- jupyterhub=0.8.1=py36_0
- jupyterlab=0.31.12=py36_1
- jupyterlab_launcher=0.10.5=py36_0
- lazy-object-proxy=1.3.1=py36_0
- libedit=3.1.20170329=0
- libffi=3.2.1=3
- libiconv=1.15=0
- libpng=1.6.28=2
- libprotobuf=3.5.2=0
- libsodium=1.0.15=1
- libtiff=4.0.7=1
- libtool=2.4.6=0
- libxcb=1.12=1
- libxml2=2.9.5=1
- libxslt=1.1.29=5
- llvm-meta=5.0.0=0
- llvmdev=5.0.0=default_1
- lxml=4.1.1=py36_0
- mako=1.0.7=py36_0
- markupsafe=1.0=py36_0
- matplotlib=2.0.2=py36_2
- maven=3.5.0=0
- mccabe=0.6.1=py36_0
- metakernel=0.20.14=py_0
- metis=5.1.0=3
- mistune=0.8=py36_0
- mpc=1.0.3=4
- mpfr=3.1.5=0
- mpmath=1.0.0=py_0
- multiprocess=0.70.5=py36_0
- nbconvert=5.3.1=py_1
- nbformat=4.4.0=py36_0
- nbstripout=0.3.1=py36_0
- ncurses=5.9=10
- networkx=2.1=py36_0
- nodejs=6.11.0=0
- notebook=5.2.1=py36_2
- numexpr=2.6.4=py36_1
- numpy=1.13.3=py36_blas_openblas_200
- numpydoc=0.7.0=py36_0
- octave_kernel=0.28.3=py36_0
- olefile=0.44=py36_0
- openblas=0.2.19=2
- openmp=5.0.0=0
- openpyxl=2.5.0b1=py36_0
- openssl=1.0.2l=0
- packaging=17.1=py_0
- pamela=0.3.0=py36_0
- pandas=0.20.2=np113py36_1
- pandoc=2.0.0.1=1
- pandocfilters=1.4.1=py36_0
- pango=1.40.4=0
- path.py=10.3.1=py36_0
- patsy=0.4.1=py36_0
- pcre=8.39=0
- pep8=1.7.1=py_0
- pexpect=4.4.0=py36_0
- pickleshare=0.7.4=py36_0
- pillow=4.3.0=py36_1
- pip=9.0.1=py36_0
- pixman=0.34.0=1
- prompt_toolkit=1.0.15=py36_0
- protobuf=3.5.2=py36_0
- psutil=5.4.0=py36_0
- ptyprocess=0.5.2=py36_0
- pycodestyle=2.3.1=py36_0
- pycosat=0.6.2=py36_0
- pycparser=2.18=py36_0
- pydot=1.2.3=py_0
- pyflakes=1.6.0=py36_0
- pygments=2.2.0=py36_0
- pylint=1.7.1=py36_0
- pyopenssl=17.2.0=py36_0
- pyparsing=2.2.0=py36_0
- pyqt=5.6.0=py36_4
- pysocks=1.6.7=py36_0
- python=3.6.3=1
- python-dateutil=2.6.1=py36_0
- python-editor=1.0.3=py36_0
- python-graphviz=0.8.2=py36_0
- python-oauth2=1.0.1=py36_0
- pythreejs=0.4.1=py36_0
- pytz=2017.3=py_2
- pywavelets=0.5.2=py36_1
- pyyaml=3.12=py36_1
- pyzmq
- qt=5.6.2=6
- qtawesome=0.4.4=py36_0
- qtconsole=4.3.1=py36_0
- qtpy=1.3.1=py36_0
- readline=6.2=0
- requests=2.18.4=py36_1
- rope=0.10.7=py36_0
- ruamel_yaml=0.11.14=py36_0
- scikit-image=0.13.0=py36_2
- scikit-learn=0.19.1=py36_blas_openblas_200
- scipy=0.19.1=py36_blas_openblas_202
- seaborn=0.8.1=py36_0
- setuptools=38.5.2=py36_0
- simplegeneric=0.8.1=py36_0
- sip=4.18=py36_1
- six=1.11.0=py36_1
- snowballstemmer=1.2.1=py36_0
- sphinx=1.7.1=py36_0
- sphinxcontrib-websupport=1.0.1=py36_0
- spyder
- sqlalchemy=1.1.13=py36_0
- sqlite=3.13.0=1
- statsmodels=0.8.0=py36_0
- suitesparse=4.5.4=blas_openblas_200
- sympy=1.1.1=py36_0
- tbb=2018_20170919=0
- terminado=0.6=py36_0
- testpath=0.3.1=py36_0
- tk=8.5.19=2
- toolz=0.8.2=py_2
- tornado=4.5.2=py36_0
- tqdm=4.19.4=py_0
- traitlets=4.3.2=py36_0
- traittypes=0.0.6=py36_0
- typing=3.6.2=py36_0
- urllib3=1.22=py36_0
- vincent=0.4.4=py36_0
- wcwidth=0.1.7=py36_0
- webencodings=0.5=py36_0
- wheel=0.30.0=py_1
- widgetsnbextension=3.0.8=py36_0
- wrapt=1.10.11=py36_0
- xlrd=1.0.0=py36_1
- xorg-libxau=1.0.8=3
- xorg-libxdmcp=1.1.2=3
- xz=5.2.3=0
- yaml=0.1.6=0
- zeromq=4.2.1=1
- zlib=1.2.11=0
- cvxpy=0.4.9=py36_0
- scs=1.2.6=py36_0
- cvxcanon=0.1.1=py36h7353a8a_0
- ecos=2.0.4=py36_0
- get_terminal_size=1.0.0=haa9412d_0
- intel-openmp=2018.0.0=h15fc484_7
- libgcc=7.2.0=h69d50b8_2
- libgcc-ng=7.2.0=h7cc24e2_2
- libgfortran=3.0.0=1
- libgfortran-ng=7.2.0=h9f7466a_2
- libopenblas=0.2.20=hae245c1_3
- libstdcxx-ng=7.2.0=h7a57d05_2
- llvmlite=0.20.0=py36_0
- nomkl=1.0=0
- numba=0.35.0=np113py36_10
- openjdk=8.0.121=1
- system=5.8=2
- pip:
- backports.functools-lru-cache==1.4
- backports.shutil-get-terminal-size==1.0.0
- dask==0.15.4
- et-xmlfile==1.0.1
- hmmlearn==0.2.0
- ipython-genutils==0.2.0
- jupyter-client==5.1.0
- jupyter-console==5.2.0
- jupyter-contrib-core==0.3.3
- jupyter-contrib-nbextensions==0.3.3
- jupyter-core==4.4.0
- jupyter-highlight-selected-word==0.1.0
- jupyter-latex-envs==1.3.8.2
- jupyter-nbextensions-configurator==0.2.8
- jupyterlab-launcher==0.5.5
- octave-kernel==0.28.3
- pockets==0.5.1
- prompt-toolkit==1.0.15
- ruamel-yaml==0.11.14

Practical Project Calendar

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.
This site uses cookies. By continuing to browse the site you are agreeing to our use of cookies.
Review our cookies policy for more information.