You are on page 1of 15

CE 771: Course

Project

Topic – Optimal Pricing Policy of a Monopolistic


Market Maker in the Equity Market
Authors - Eckart Mildenstein & Harold Schleef
- Anishish Sharan (190040017)
Brief Description

Objective Function and


Contents Constraints

Optimization
• Genetic Algorithm
Brief Description:

Until now the dynamics of the market maker's This paper starts in this direction by considering A stochastic model is developed for this. The
pricing decision has either been ignored, treated optimal pricing for a single market maker in the authors have used methods of dynamic
in an intuitive manner, or addressed without market. programming to characterize optimal pricing
taking the relevant internal and external factors of policies.
the market maker into account.
Objective
Function

• (x) = price*x

• Bid price is less than the current


price and ask price is greater than
the current price
Optimization Method – Genetic Algorithm

• Genetic Algorithm is a method for


solving both constrained and
unconstrained optimization
problems that is based on natural
selection, the process that drives
biological evolution. The genetic
algorithm repeatedly modifies a
population of individual solutions.
Steps:
1. Initial Generation(genes) comprises of multiple gene of the form – [bid_price,
ask_price]
2. Removal of genes that are not obeying the constraints
3. Giving a fitness score, i.e the value of objective function, to all the genes present
in the population, and arranging the gene present in the population in
descending order of fitness score as we are maximizing
4. Selecting the top genes out of the population which moves to the next iteration
5. Now the top genes are mutated and cross over and to this some rouge genes are
added to form the new population
6. The new population goes to step 2, until the loop is finished
7. We choose the gene, i.e bid and ask price, with highest fitness value from
Code Snippets – Production of Population
Code Snippet - Constraints
Code Snippets - Selection
Code Snippets – New Population
Code Snippet – Overall Loop
Results:
Inventory Stocks 600 400 300 500
Prices Obj func value Bid Price Ask Price Obj func value Bid Price Ask Price Obj func value Bid Price Ask Price Obj func value Bid Price Ask Price

43 25795.35 41.35 43.78 17199.48 41.37 43.75 12901.50 41.33 43.82 21497.41 41.30 43.72
44 26399.91 41.82 44.51 17604.09 41.89 44.53 13206.21 41.86 44.51 22002.03 41.88 44.51
45 27006.61 42.43 45.50 18010.94 42.34 45.50 13513.04 42.36 45.51 22508.76 42.34 45.51

46 27615.09 42.90 46.51 18419.56 42.87 46.50 13821.64 42.89 46.51 23017.24 42.87 46.51
47 28225.32 43.33 47.52 18829.90 43.25 47.51 14132.21 43.39 47.50 23527.50 43.48 47.52
48 28837.23 44.19 48.50 19242.22 43.83 48.50 14444.44 43.89 48.51 24039.85 43.86 48.51
49 29451.71 44.31 49.50 19656.05 44.15 49.51 14758.35 44.37 49.52 24554.06 44.34 49.50

50 30067.35 44.71 50.51 20071.73 44.60 50.52 15074.07 45.00 50.52 25069.90 44.79 50.50
51 30684.97 45.45 51.51 20489.85 45.34 51.51 15392.43 45.48 51.50 25587.11 45.16 51.52
52 31304.39 45.55 52.50 20909.42 45.78 52.51 15711.22 45.94 52.53 26107.31 45.79 52.50
53 31925.83 46.06 53.50 21330.63 46.26 53.52 16033.68 46.40 53.50 26628.61 46.28 53.50

54 32548.25 46.92 54.53 21753.83 47.05 54.51 16356.59 46.98 54.51 27151.76 46.90 54.51

55 33174.23 47.49 55.50 22179.43 47.42 55.51 16681.49 47.18 55.52 27676.92 47.25 55.50
56 33800.88 47.93 56.51 22606.13 48.07 56.51 17007.95 47.71 56.53 28203.77 47.95 56.50
57 34429.73 48.27 57.51 23035.40 48.37 57.50 17337.64 48.33 57.51 28732.53 48.36 57.50
58 35059.77 48.95 58.51 23465.44 48.88 58.51 17668.74 48.89 58.50 29262.82 48.97 58.51

59 35692.56 49.40 59.51 23898.00 49.59 59.51 18000.92 49.48 59.51 29795.48 49.34 59.50
Sanity Check of the algorithm
• Upon comparing it with fixed step gradient descent of step size 0.3,
we can see that the values that we get are still very close for price =
55
• Note 1: Fixed step gradient descent was implemented on univariate
parts of the objective function, as the objective function can be
separated into two univariate objective function, this is done by the
authors during classical optimization
• Note 2: The number of stocks in the inventory doesn’t change the bid
and ask price for the market maker in this case
Fixed step size – Optimization method
Thank You

You might also like