Highlights
Task
Aim
To demonstrate your understanding of how to critically explain, and construct, a Cloud application using multiple services across Cloud providers, involving user-specifiable scaling. You will explain, implement, evaluate, and demonstrate,
Relationship to learning outcomes
LO1: Demonstrated with regard to the selected Cloud services and the software implementation, and related questions of cost and performance.
LO2: Demonstrated with regard to use of Google App Engine and Lambda, as well as justification of the second scalable service, within an industrial/academic problem context.
LO3: Demonstrated with regard to evaluation of alternative and/or additional services and appropriateness of elaboration of the system overall.
LO4: Demonstrated with regard to defining the system in the context of Cloud.
LO5: Demonstrated through the specification, design, implementation and critical evaluation of the software implementation.
Approach
You are not expected to try and re-explain the approach in your submission.
Note that a core of Python code is provided for this approach, within this document, and that Python code must be used for the application created.
i. The approach involves identifying trading signals in financial time series and capturing the risk associated to these. Such an assessment might support a subsequent evaluation of a trading strategy.
a. Financial time series here comprise daily data – specifically, a summary of the trading day comprising the Open/High/Low/Close values for each trading day (OHLC values can readily be produced for other time intervals – e.g. every 15 minutes).
b. OHLC data can be visualised using a “Japanese candlestick”, and certain resulting shapes interpreted from these to indicate something about the data that may ‘signal’ making a trade (buy or sell). The figure below is an example, using real data, of such candlesticks where:
i. Open and Close values provide the top and bottom of the ‘box’ on each candlestick – if Close is higher than Open, price movement was upwards overall and the body is green (a price rise from the start of the day to the end); Open higher than Close and the body is red (a price fall from the start of the day to the end); other charts might use white for upward and black for downward or other colour/shading schemes.
ii. A line projecting from the top of the body indicates that the High was above the respective Open/Close; a line projected from the bottom of the body indicates that the Low was below the respective Open/Close. Such lines are referred to as the wick or shadow.
iii. Resulting shapes can have various names such as a Green/Red Marabozu (Japanese for dominance) or Spinning Top, and can involve more than one candlestick – for example Harami (Japanese for pregnant) or Three Black Crows. Note that Green/Red/Black etc. invites confusion when using different colour/shade schemes.
c. What we want to know, before we might conduct any other analysis, is how much risk would be associated to each potential signal. For this, a Monte Carlo analysis offers one option. We use characteristics of the recent price history to simulate a substantially longer price series, then determine the amount that might be lost and confidence involved – for example, this could be expressed between people as: “there is a 95% confidence that no more than 5% of the amount traded would be lost, and a 99% confidence that no more than 7.5% of the amount traded would be lost”.
i. If we have a minimum price history requirement of 101 days, including the signal, we first calculate the daily returns – the % change in value compared to the day before, i.e. (priceprevious)/previous – which would offer 100 such values.
ii. The returns series will be characterised by its mean and standard deviation, and we use a random number generator (Normal/Gaussian distribution) to simulate (generate) a series containing lots of such values that could closely fit to these parameters.
iii. By sorting the resulting series, of potential gains and losses, and picking off values at 95% and 99%, we know theoretical % changes of interest with respect to what could be expressed between people. We could, by extending from this point, use these values to see if there are ways to optimize the trading strategy – for example, by trading in high, or low, risk situations. iv. Example code is provided that offers an example of capturing such values. This analysis needs to use high numbers of ‘shots’, but this takes time - and each user is impatient. It is quite possible to undertake such analysis using parallel resources: each resource generates a new series and provides its values; these values are then averaged, appropriately, in order to generate the resulting two values needed.
Requirements
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 the user will initialise (create or ‘warm up’, as necessary) and terminate (as necessary to remove any possible continuous cost) scalable services, and be able to undertake and see the results of analysis related to the selections they have made.
iii. The scalable services, and not Google App Engine, must calculate risk values – Google App Engine can be used to collect and average respective risk values.
iv. The system must provide for the following:
a. Initialisation:
i. A way for the user to specify which of your two scalable services, as S, to use for estimating – i.e. if you have chosen EC2, the selection is between Lambda and EC2; in this case, only Lambda or EC2 is in use for a given selection;
ii. A way for the user to specify a value of R, as the number of resources (in the scalable services) to be used in parallel for calculating risk;
iii. Using S and R, a way to provision (create or ‘warm up’, as necessary) the appropriate number of resources in the scalable services (note that this is needed for all of the scalable services). This is likely to include readying any other data or service connections needed in advance of any analysis;
iv. Capture of the running time required for creation or ‘warm up’ such that it could be reported to the user and is available for analysis with respect to overall system running costs.
b. For the risk analysis –the system must provide the following:
i. A way to specify the value of H as the length of price history from which to generate the mean and standard deviation;
ii. A way to specify the value of D as the number of data points (shots) to use by each R for calculating risk;
iii. A way to specify the value of T as Buy or Sell to allow for separate analysis of each type of signal;
iv. Using H, D and T, a way to run the risk calculation across the R resources where each resource returns its own risk values for averaging, and information is captured about the runtimes involved, such that the work done can be reported to the user and be stored for analysis – see ‘Audit’ page, below.
c. For output – the system must provide the following:
i. A result page with (a) a chart, using either Image Charts or the [old] Google Chart service, showing a line each for the 95% and 99% risk values for each signal and two lines relating the averages over each such that higher and lower risk signals can be seen readily, and (b) a table showing signal dates and associated risk values.
ii. An ‘Audit’ page, showing information about selection of S, R, H, D, T, the risk (averages), and the compute runtime/cost for all analysis undertaken to date - such that you could use this information to estimate costs for much higher numbers of data points (D).
d. Reset – the system must provide a way to ‘zero’ the analysis without needing to warm up new resources.
e. Switch off – the system must provide a way to ‘terminate’ EC2/EMR/ECS resources so that no further costs would be incurred.
Your system may incorporate additional Cloud components, for example for storage for the ‘Audit’. However, the mantra of Keep It Stupid-Simple should be followed and additional components should not be added unnecessarily.
Brief example user scenario
The user asks the system to ‘warm up’ 4 resources (R) of the type selected (S). Resources, whether Lambda, EC2, EMR, or any other, are brought to a point where they are ready for running analysis.
The user specifies 80,000 shots (D) per R, with a history of 200 days per signal (H) and for Buy signals (T).
In doing so, the user expects that, for each signal, 320,000 shots are being produced in total, and there will be the averaging of 4 values for each of 95% and 99% - i.e. 8 values in total per signal. – that generates one value per signal for each of 95% and 99% - i.e. just two values result from this analysis per signal.
Following this analysis, the user will be presented with the chart showing all risk values - two risk values for each signal, and two lines of averages – one over the 95% signal values and one over the 99% signal values, as well as the table. When the user has done enough, they command (non-Lambda) resources to be terminated. This does not, however, delete the Audit, which needs to be stored across uses/sessions (NB: variables within Python code do not allow for this, and nor do any other temporary storage mechanisms).
This COMM034-IT Computer Science Assignment has been solved by our IT Computer Science Expert at My Uni Paper. Our Assignment Writing Experts are efficient to provide a fresh solution to this question. We are serving more than 10000+ Students in Australia, UK & US by helping them to score HD in their academics. Our Experts are well trained to follow all marking rubrics & referencing Style. Be it a used or new solution, the quality of the work submitted by our assignment experts remains unhampered.
You may continue to expect the same or even better quality with the used and new assignment solution files respectively. There’s one thing to be noticed that you could choose one between the two and acquire an HD either way. You could choose a new assignment solution file to get yourself an exclusive, plagiarism (with free Turn tin file), expert quality assignment or order an old solution file that was considered worthy of the highest distinction.
© Copyright 2026 My Uni Papers – Student Hustle Made Hassle Free. All rights reserved.