Project Requirements
This page specifies the requirements for this project.
i.
You must use: (i) Google App Engine, (ii) AWS
Lambda, and (iii) one of the other scalable services in AWS:
Elastic Compute Cloud (EC2), Elastic MapReduce (EMR) or – should you wish to
explore – EC2 Container Service (ECS).
Subsequent
mentions of scalable services in this document mean
Lambda plus your choice of (EC2 or EMR or ECS).
ii.
Your system must offer a persistent front-end through
which you can present information about financial risk to end users for each
name in the financial data (a name
is, for example, Amazon, Google etc.).
iii.
The system must present a Google Chart that shows the
time series
(of Adj. Close values) and
returns series for the name.
VaR values
should be presented with the chart. There are several ways in which such data
could be presented, and the rationale for your final selection should be
explained. At minimum, they must be presented on the same page.
iv.
The scalable services,
and not Google App Engine, must run the Monte Carlo analysis, with
results made available for presentation by the persistent front end.
v.
Analysis that is not Monte Carlo can be run anywhere;
the choice of which service it runs in, and why you selected that service for
it, will need to be explained.
vi.
The scalable services must
be used dynamically – i.e. any resources used in calculating the Monte Carlo
values should be switched on and off (automatically, via code) for the purpose
and shall not be left on continuously.
vii.
It must be possible to specify values for the following
parameters through the persistent front-end:
a.
a value of Investment with which to
determine the value (cost) of expected losses.
b.
the scalable service to use for Monte Carlo – e.g. a
selection between Lambda and EC2; there is no requirement to use both scalable
services in combination.
c.
a value of T, as the number of data
points to use for Historical and Covariance analysis.
d.
a value of M, for the total number of
Monte Carlo samples to be used.
e.
a value of R, as the number of resources
(in the scalable services), to be used for
the analysis, so that each runs approximately M/R
simulations.
viii.
With all of the values above specified, the user will
be able to run all 3 types of analysis with a single click.
ix.
Data (‘time series’) will be provided. You will need to
consider where this data should ‘live’ within your system.
Your system may incorporate additional Cloud components, for
example for storage. However, the mantra of Keep It Stupid-Simple should be
followed and additional component should not be added unnecessarily.