Question
You have to design and implement an electronic exchange where day trading is facilitated. Make necessary assumptions while designing and implementing such a system and
You have to design and implement an electronic exchange where day trading is facilitated. Make necessary assumptions while designing and implementing such a system and ensure that you have carefully drafted out the critical design decisions.
Exercise 1: Architecture Provide a suitable architecture diagram with appropriate description matching the system specification described in the following exercises.
Exercise 2: Order Producer Write a Python program that enables the traders to place various types of orders on the variety of instruments traded on the electronic exchange. Program should first read the list of instruments (with relevant details) available on the exchange. Based on the received data from the exchange, trader should be able to place an order which is valid for certain time only. You have to write your own code for order placement. Add comments at appropriate place so that its easy to understand your thought process. The program should clearly output the order details on the console.
Exercise 3: Exchange Match Maker As an outcome of Exercise 2, your system will receive the orders placed by various traders for different instruments. Apply a match making algorithm so that the trades are completed for the instruments. o Explain your logic behind match making algorithm. o Program should output both the orders resulted into a trade Stock data analysis is used by investors and traders to make critical decisions related to the stocks. Investors and traders study and evaluate past and current stock data and attempt to gain an edge in the market by making decisions based on the insights obtained through the analyses.
Exercise 4: Exchange Simple Moving Average Calculator As an outcome of Exercise 3, your system has generated the trades for the various instruments. The simple moving average can be used to identify buying and selling opportunities. Moving averages are one of the core indicators in technical analysis, and there are a variety of different versions. SMA is the easiest moving average to construct. It is simply the average price over the specified period. The average is called "moving" because it is plotted on the chart bar by bar, forming a line that moves along the chart as the average value changes. Closing prices are used mostly by the traders and investors as it reflects the price at which the market finally settles down. The SMA (Simple Moving Average) is a parameter used to find the average stock price over a certain period based on a set of parameters The simple moving average is calculated by adding a stock's prices over a certain period and dividing the sum by the total number of periods. Calculate the simple moving average closing price of the four instruments in a 5-minute sliding window for the last 10 minutes.
Exercise 5: Exchange Profit Calculator Find the stock out of the four instruments giving maximum profit (average closing price - average opening price) in a 5-minute sliding window for the last 10 minutes. In order to realize the above expectations, you need to design and construct a streaming data pipeline integrating the various technologies, tools and Programmes covered in the course that will harvest this real time data of traders orders and produces the trades / analytics that can be sent on the traders mobile devices. You can think of various aspects related to streaming data processing such as: Real time streaming data ingestion Datas intermittent storage Data preprocessing cleaning, transformations etc. Data processing filters, joins, windows etc. Business logic for placing the offers Final representation of the outcome
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started