Question Description
Create a VBA program that does the following:
1) At the beginning of the case, the program posts a limit order to buy 250 shares at the best bid price minus $0.01 and a limit order to sell 250 shares at the best ask price plus $0.01. As a result, two orders are posted to the limit order book.
2) Whenever one of your limit orders is executed, the program automatically cancels the remaining limit order. Following the cancellation of the remaining limit order, the program automatically posts a limit order to buy 250 shares at the best bid price minus Q and a limit order to sell 250 shares at the best ask price plus Z. (If done correctly, your program will always have exactly two limit orders posted to the limit order book.)
3) Continue repeating step (2) until there are five seconds left in the case. At that time, cancel all limit orders, and if you still have a non-zero inventory position, close it out by placing a market order.
The Q and Z in Step (2) are a function of your share position P:
−500 ≤ 𝑷 ≤ 500 ⇒ 𝑸 = $0.01, 𝒁 = $0.01
−1250 ≤ 𝑷 < −500 ⇒ 𝑸 = $0.00,𝒁 = $0.02
500 < 𝑷 ≤ 1250 ⇒ 𝑸 = $0.02,𝒁 = $0.00
𝑷 < −1250 ⇒ 𝑸 = $0.00,𝒁 = $0.04
𝑷 > 1250 ⇒ 𝑸 = $0.04,𝒁 = $0.00
This way, your market-making program posts more aggressive sell limit orders and less aggressive buy limit orders when your share position is highly positive, and posts more aggressive buy limit orders and less aggressive sell limit orders when your share position is highly negative.
The following function should be useful for this case: =RTD(“rit2.rtd”,,“ALGO”,”LIMITORDERS”). This function counts the number of limit orders you have on the limit order book. Whenever this number does not equal two, your program should cancel all limit orders and resubmit two new limit orders according to the instructions given in step (2) above.
(Note: your solution to this question must be submitted via e-mail as a spreadsheet with macros (i.e. an xlsm file). Also make sure that the workings in your spreadsheet and VBA code are clear and easy to follow.)
(Note: The data you need use is real-time data and is from RIT and follow this function =RTD(“rit2.rtd”,,“ALGO”,”LIMITORDERS”) in spreadsheet.)
You may need to download the RIT.
Our website has a team of professional writers who can help you write any of your homework. They will write your papers from scratch. We also have a team of editors just to make sure all papers are of HIGH QUALITY & PLAGIARISM FREE. To make an Order you only need to click Ask A Question and we will direct you to our Order Page at WriteDemy. Then fill Our Order Form with all your assignment instructions. Select your deadline and pay for your paper. You will get it few hours before your set deadline.
Fill in all the assignment paper details that are required in the order form with the standard information being the page count, deadline, academic level and type of paper. It is advisable to have this information at hand so that you can quickly fill in the necessary information needed in the form for the essay writer to be immediately assigned to your writing project. Make payment for the custom essay order to enable us to assign a suitable writer to your order. Payments are made through Paypal on a secured billing page. Finally, sit back and relax.
About Writedemy
We are a professional paper writing website. If you have searched a question and bumped into our website just know you are in the right place to get help in your coursework. We offer HIGH QUALITY & PLAGIARISM FREE Papers.
How It Works
To make an Order you only need to click on “Place Order” and we will direct you to our Order Page. Fill Our Order Form with all your assignment instructions. Select your deadline and pay for your paper. You will get it few hours before your set deadline.
Are there Discounts?
All new clients are eligible for 20% off in their first Order. Our payment method is safe and secure.