• No results found

Keywords Abstract

N/A
N/A
Protected

Academic year: 2021

Share "Keywords Abstract"

Copied!
87
0
0

Loading.... (view fulltext now)

Full text

(1)

DEGREE PROJECT, IN SOFTWARE ENGINEERING OF DISTRIBUTED SYSTEMS , SECOND LEVEL

STOCKHOLM, SWEDEN 2015

A Combinatorial Auction with

Equilibrium Price Selection

KIRIL VIDELOV

KTH ROYAL INSTITUTE OF TECHNOLOGY

INFORMATION AND COMMUNICATION TECHNOLOGY

(2)

Abstract

Financial markets use auctions to provide accurate liquidity snapshots for traded instru-ments. Combination orders, such as time spreads require the atomic trading of more than one security contract. In order to auction such complex order types, a new design, which considers all contingent instruments simultaneously, is required.

This work develops an optimization model and a software implementation of the dual-sided multi-unit combinatorial auction problem. The optimization objective is finding an equilibrium price vector and a winner selection such that the auction turnover is maximized.

The auction requirements are modeled as a discrete optimization problem, suitable for standard integer programming solvers. The model’s correctness and tractability are tested using synthetically generated orders as well as real market data.

Test results with both synthetic and authentic orders produced equilibrium prices within 3% of the expected instrument valuations, using closing prices as a benchmark, indicat-ing high accuracy of the solutions. The use of combinatorial auctions exposes greater liquidity and overall turnover, both valuable to exchanges that receive large numbers of combination orders.

Keywords

(3)

Acknowledgements

I would like to thank the team at Cinnober Financial Technology for welcoming this thesis work as well as for creating such an inspiring and challenging working environment. I give special thanks and my deepest gratitude to my industry supervisor Hannes Edvardson -this thesis would not have been possible without his guidance and expertise. His insightful comments were thought provoking and helped me maintain the right focus while his patience and support have been invaluable to me throughout the process.

I am grateful to Ola Bergefall and Martin Bolmstrand for the numerous rewarding discussions as well as for their practical advice.

Additionally, I would like to extend my gratitude towards Prof. Anne Håkansson and Prof. Mihhail Matskin from the School of Information And Communication Technology at KTH for their help in finalizing this thesis.

(4)

Contents

List of Figures vi 1 Introduction 3 1.1 Background . . . 3 1.2 Problem statement . . . 4 1.3 Goals . . . 4 1.4 Ethics . . . 5 1.5 Sustainability . . . 5 1.6 Methods . . . 6 1.7 Delimitations . . . 6 1.8 Outline . . . 6

2 Auctions in Financial Markets 8 2.1 Auction classification . . . 8

2.2 The Equilibrium price . . . 10

2.3 Single-item auction problem formulation . . . 14

2.4 Combination orders . . . 15

2.5 Previous and related work . . . 17

3 Integer Programming 19 3.1 Problem Modeling . . . 20

3.1.1 LP: The Product Mix problem . . . 20

3.1.2 IP: The knapsack problem . . . 21

3.1.3 Logical conditions . . . 23

3.1.4 The Big M Method . . . 23

3.2 Problem Solving . . . 24

3.2.1 Branch and bound . . . 25

4 The Equilibrium Price Combinatorial Auction 27 4.1 System overview . . . 28

4.1.1 Input data synthesis . . . 29

4.2 Requirements . . . 30

4.3 Model formulation . . . 31

(5)

Contents

4.3.2 Example bundle orders . . . 33

4.3.3 Model 1: Brute force . . . 34

4.3.4 Model 2: Priced WDP . . . 36

4.3.5 Model 3: Priced hybrid WDP . . . 37

5 Testing and analysis 43 5.1 Scope of testing and delimitations . . . 44

5.2 Test environment . . . 45

5.3 Test case specification . . . 45

5.3.1 Synthetic orders . . . 45

5.3.2 Authentic orders . . . 48

5.4 Test Results and Analysis . . . 49

5.4.1 Synthetic orders . . . 49

5.4.2 Authentic orders . . . 52

6 Conclusion and future work 55 6.1 Conclusion . . . 55

6.2 Further work . . . 57

(6)

List of Figures

2.1 Auction categorization . . . 10

2.2 Supply and demand curves . . . 11

2.3 Supply and demand curves where the equilibrium is not a discrete value . 12 2.4 Supply and demand stepwise graph . . . 13

3.1 Branch and bound search . . . 26

4.1 System overview . . . 29

4.2 Example combinatorial orders . . . 33

5.1 Example buy(blue) and sell(red) valuation distributions in order generations 50 A1 Stepwise supply and demand 2a . . . 65

A2 Stepwise supply and demand 2b . . . 66

A3 Stepwise supply and demand for rule 2c . . . 67

A4 Turnover 2c . . . 68

A5 Imbalance 2c . . . 68

A6 Turnover 2d . . . 69

(7)

List of Tables

2.1 Supply and demand quantity 1. . . 11

2.2 Uncross table 1. . . 12

5.1 Synthetic test cases and scenarios . . . 48

5.2 Synthetic order test summary. PWDP - Priced WDP, PHWDP - Priced Hybrid WDP . . . 49

5.3 Model 3 (Hybrid Priced WDP) - real market data . . . 52

5.4 Auction prices compared to prices from the real market . . . 53

A1 Uncross table 2a . . . 65

A2 Uncross table for rule 2b . . . 66

A3 Uncross table for rule 2c. . . 67

A4 Uncross table 2d . . . 69

C1 Model 2 (Priced WDP) - single orders ratio - low . . . 74

C2 Model 2 (Priced WDP) - single orders ratio - mid . . . 74

C3 Model 2 (Priced WDP) - single orders ratio - high . . . 75

C4 Model 3 (Hybrid Priced WDP) - single orders ratio - low . . . 75

C5 Model 3 (Hybrid Priced WDP) - single orders ratio - mid . . . 75

C6 Model 3 (Hybrid Priced WDP) - single orders ratio - high . . . 76

C7 Model 3 (Hybrid Priced WDP) - number of orders - low . . . 76

C8 Model 3 (Hybrid Priced WDP) - number of orders - mid . . . 76

C9 Model 3 (Hybrid Priced WDP) - number of orders - high . . . 77

C10 Model 3 (Hybrid Priced WDP) - single orders ratio - low . . . 77

C11 Model 3 (Hybrid Priced WDP) - single orders ratio - mid . . . 77

C12 Model 3 (Hybrid Priced WDP) - single orders ratio - high . . . 77

C13 Model 3 (Hybrid Priced WDP) - price crossing - low . . . 78

C14 Model 3 (Hybrid Priced WDP) - price crossing - mid . . . 78

C15 Model 3 (Hybrid Priced WDP) - price crossing - high . . . 78

C16 Model 3 (Hybrid Priced WDP) - number of instruments - low . . . 79

C17 Model 3 (Hybrid Priced WDP) - number of instruments - mid . . . 79

C18 Model 3 (Hybrid Priced WDP) - number of instruments - high . . . 79

C19 Model 3 (Hybrid Priced WDP) - instrument utilization - low . . . 80

(8)

List of Tables

(9)

1.

Introduction

1.1 Background

An auction is a type of economic activity that facilitates trade between consumers and producers. Their usage ranges from the selling of art and antiques to government bonds, radio spectrum usage rights and leases for extraction of natural resources[1]. Furthermore, sites such as eBay have made the use of auctions popular with the public[1]. Another prominent use case for auctions is price discovery in financial markets as they are widely recognized way of obtaining an accurate liquidity snapshot[2].

Modern financial markets process thousands of orders each second, combining buyers and sellers in a process known as order matching. Orders have three fundamental properties associated with it - the financial instrument bought or sold, the quantity requested and a price limit. In a free market buyers compete with one another to obtain goods at the lowest possible price and suppliers compete with one another to sell goods at the highest possible price.

Since market participants value goods differently, the quantity demanded and quantity supplied at different prices is not the same. Naturally, the lower the price the greater the demand, and for sellers, higher price means greater supply. As a result, for each traded instrument, the stable price is the one at which supply meets demand, known as the competitive equilibrium price[1].

An exchange can match buyers and sellers in two ways - continuously as orders arrive and via an auction where bid (buy) and ask (sell) requests are collected over a period of time after which the exchange determines an equilibrium price level and matches orders accepting the selected price[3].

(10)

1 Introduction

• It can be a source of price volatility

• At a particular point in time the last trade price may not be representative of the market.

Auctions are able to solve these problems because they concentrate the liquidity over a period of time. Furthermore their properties ensure incentive compatibility[4], meaning that the best strategy of trader is to submit their real valuation i.e. there is no gained utility from misrepresenting the price.

Exchanges often combine continuous matching an auctions - continuous trading is done during most of the day with auctions performed at key times, for instance, at the start of the day in order to obtain opening price and at the end of the trading day in order to obtain accurate closing prices.

1.2 Problem statement

In some cases participants require to atomically trade two or more instruments[5][6]. For instance, a broker may wish to buy good A if and only if they are able to sell good B[7]. Alternatively, a trader may be interested in buying goods A, B and C only together as a bundle order. Such orders are known as combinatorial[8] or "multi-item"[9] and have a price based on the net valuation[5], i.e. if a bundle is buying good A and selling good B it can have positive, negative or a price of 0.

While some marketplaces allow combinatorial orders in continuous trading, bundles present a challenge in auctions. The complexity of the problem comes from the fact that orders for all instruments have to be considered simultaneously and the auction faces what is known as the Winner Determination Problem (WDP)[8], that is making the best selection of winning orders. It is important to note that not every winner selection is valid. In a combinatorial order the instruments are contingent upon each other by definition, therefore the selection must be such that in the set winners, supply meets demand for every instrument[10].

Additionally, it is required that winner selection is achieved at an equilibrium price for each instrument. For a combinatorial auction this is not a trivial requirement due to the fact that a bundle orders don’t have explicit per-instrument valuations[6].

1.3 Goals

(11)

1 Introduction

1. Conduct a background study on the target domain of Financial markets in order to understand the theory behind traditional auctions as well as the requirements they must satisfy.

2. Conduct a background study on the subject of combinatorial auctions and opti-mization outside the domain of financial markets in order to leverage previous research.

3. Develop the theory (an optimization model) of a combinatorial auction, suitable for application in a financial market - That means it needs to meet all existing auction requirements, produce predictable prices and offer an increase in liquidity due to the inclusion of combination orders.

4. Develop an implementation of the combinatorial auction with a focus on testability. 5. Conduct empirical tests with the implementation to demonstrate that it produces

results that meet previously defined requirements.

If successful, the implementation of a combinatorial auction with equilibrium prices would be of value to financial markets where large numbers of combinations are being traded (i.e. Futures and Options exchanges), due to the higher overall turnover and the greater

liquidity when compared to traditional single instrument auctions.

1.4 Ethics

The combinatorial auction operates under a set of fair rules, known by all participants. The validity of results can be verified and the optimality of the solution can be estimated based on the difference between the solution of a relaxed version of the problem. This work explores the subject of fair price selection in combinatorial auctions. The ideas are based on well established game theoretic principles. The equilibrium prices are a result of an optimization process with the objective of maximizing the supplier and consumer surplus and producing the highest turnover.

In addition the auction winner determination is non-discriminatory - the system is agnostic towards which participant submitted an order.

1.5 Sustainability

This work demonstrates that combinatorial auctions can expose additional liquidity in comparison to the traditional approach of disregarding bundle orders in the auction phases.

In terms of environmental impact there are no known positive or negative implica-tions.

(12)

1 Introduction

1.6 Methods

The work combines qualitative research for collecting of requirements and the develop-ment of a theoretical model with quantitative research for the system developdevelop-ment and testing. The selection of specific methods is based on The portal of research methods and methodologies[11].

The philosophical assumption for this project is positivism since results produced by the developed system are objective and measurable and independent of the observer[11]. The research methods used are Conceptual[11] for the theory development component and Applied[11] in the system development portion of the work.

The research approach employed is Inductive[11] as through the course of the development, different theories were tested before arriving at an optimal solution.

The research methodologies chosen are Experimental[11] as there is the ability to con-duct fully controlled experiments and adjusting specific input parameters for test cases performed.

The data collected is the result of experiments, thus method used is Experiments[11] For data analysis the project utilizes Statistics[11] as a research method as values were used to demonstrate the quality of produced solutions as well as the tractability of inputs. Quality assurance - test results presented can be replicated and are not ambiguous in their interpretation, that is key figures measured such as price values, runtime and IP/LP gap.

1.7 Delimitations

With discrete optimization small changes to the input can often have a drastic impact on the computation time. It would be useful to test all combinations of "low - mid - high" gradients for the 9 parameters defined for each test case in order to identify which set ups at most difficult. Unfortunately, the would result in 39 individual tests and it falls outside the scope of this project.

Development of an advanced user interface for the software is not the focus of this work and therefore also falls outside the scope of the project.

1.8 Outline

Chapter 2

(13)

1 Introduction

Chapter 3

The Combinatorial Auction problem in this report is modeled as an Integer Program. This chapter introduces basic concepts used later in the report. Since the subject has been extensively studied, it is out of the scope of this project to provide an extensive overview on Integer programming. Therefore, the only covered aspects are: problem modeling, basics on how models are solved and a brief overview on available systems handling integer programs.

Chapter 4

Presented is the core contribution of the thesis work. Provided is a formalization of require-ments, a combinatorial bidding language and a description of the integer programming models. The overview is supplemented with examples.

Chapter 5

Provided are test results and analysis of the models described in Chapter 4. Test cases are well defined and structured in a way that illustrates the correctness and tractability of the model with different input sizes. Two types of tests were involved - synthetic tests and test with real order data.

Chapter 6

The chapter presents a conclusion of the research and suggests a direction for future work on the subject.

(14)

2.

Auctions in Financial Markets

In everyday language the term auction is often associated with a sale of a good to the highest bidder. However, the subject is far broader as there are many different types of auctions.

More abstractly, an auction is a set of rules facilitating the trade of goods or services. Further in this chapter presented are auction properties based on which a categorization is introduced with the aim of providing an overview of different types of auctions. Follows an introduction to the concept of equilibrium prices and a description of the specific auctions commonly used in financial markets today. The chapter concludes with a discussion on the need for combinatorial trading.

2.1 Auction classification

The following is an incomplete list of auction properties which is information from [9] and [8].

1. Dimensionality refers to what is used in the valuation of an asset. For instance in an antiques auction the price of a product would be determined by multiple factors: quality, condition, rarity etc. Such auctions are multi-dimensional as there are multiple components influencing the price. An auction is single dimensional when the goods traded are fungible and there is one aspect to influencing the valuation. 2. Auctions can be single sided or double sided. In the case when there is one buyer

or seller and multiple participants competing to trade, the auction is single sided. For instance several buyers could be competing with each other to obtain a good at the lowest possible price from a supplier. Another example are procurement auctions, also known as reverse auctions where there are there are multiple suppliers competing for a contract with one consumer. On the other hand, dual sided auctions, traditionally also known as exchanges, allow multiple buyers and sellers to be matched together.

(15)

2 Auctions in Financial Markets

competitor information. The alternative is the Sealed bid format where orders are private, shared with the "auctioneer" but not with competing parties.

4. A single unit auction deals with unique assets/contracts i.e. the quantity is equal to one. In auctions where assets are fungible there can be supply or demand for more than one unit - such auctions are known as multi-unit.

5. There are different rules for establishing the trade prices in an auction, depending on the specific requirements and also the number of sides. With single-side single-unit auctions pricing is easier - there are the first-price and kth-price strategies. In a first-price auction, the highest bidder is selected as a winner and the trade price is their bid price. This is the typical method used by auctions. A kth-price auction also selects the highest bidder but they pay the price of the kth-best order (k could be the second or third bid). This strategy is useful in sealed bid auctions as it prevents participants from misrepresenting their true valuation of the asset. Selecting the trade price in double-sided multi-unit auctions is less trivial. This is done by establishing an equilibrium price tick at which the marked is uncrossed - orders that accept the price are traded and orders more generous than the equilibrium price are guaranteed to be traded in full. This concept is covered in more depth in this chapter.

6. Typically orders specify a buy or sell operation for one specific tradable instrument. This means individual auctions are created on per-instrument basis. Such auctions are classified as single-item (single-instrument). When orders specify a combination of multiple instruments, a different type of auction must be used, known as multi-item or simply a combinatorial auction. In this case instruments are contingent upon each other and therefore they must be considered simultaneously.

For illustrative purposes the auction categorization is shown below in Figure 2.1. With the presented classification, the combinatorial auction required for a financial marketplace can more accurately defined as "Single-dimensional, Sealed bid, Dual-sided, Multi-unit, Combinatorial (Multi-item), Equilibrium price".

(16)

2 Auctions in Financial Markets Auction Multi dimension .. . ... Single dimension Open outcry .. . ... Sealed bid Single sided .. . ... Dual sided Single unit .. . ... Multi unit Single item First price k-th price

Combinatorial

Equilibrium price

Figure 2.1: Auction categorization

2.2 The Equilibrium price

In economics the concept of equilibrium price is well understood and accepted as the only stable price given a free market[12]. That is the level at which supply meets demand without free disposal or where the supply and demand curves intersect[1].

Auctions used on financial markets implement this principle, thus providing a fair an accurate representation of the market for a given time period.

in order to illustrate the ideas defined are the bid and ask quantities as follows:

• Bid quantity for a price - the sum of the quantities of all bid orders that accept a price.

• Ask quantity for a price - the sum of the quantities of all ask orders that accept a price.

Consider the following example:

For the arbitrary good A the demand is as follows:

At price $21 the aggregate quantity demanded is 105 units. At price $22 - 70 units.

At price $23 - 40 units. At pride $24 - 15 units.

The aggregate supply for A is as follows: At price $21 supplied are 5 units.

(17)

2 Auctions in Financial Markets

At price $23 - 40 units. At price $24 - 80 units.

The supply and demand curves of the example are plotted in Figure 2.2. Naturally, the lower the price the greater the quantity demanded is, while the quantity supplied is greater with increasing the price. From Figure 2.2 it is evident that the equilibrium price is $23, at the intersection of the curves.

21 22 23 24 5 15 40 70 80 105 Price ($) Quan tit y

Supply and demand accepting the prices

Demand Supply

Figure 2.2: Supply and demand curves with equilibrium price 23$.

Each curve point represents quantity across all orders that accepts the price. It is important to note that in practice, not any real value on the piecewise curve is a valid price.

The smallest price increments allowed are known as price ticks. In this example we assume a price tick of $1 for simplicity but regardless of the tick sizes, prices levels are discrete values. As a result, often the intersection of supply and demand is not at a discrete price. If we consider another example where the the supply and demand quantities are as expressed in Table 2.1, the intersection happens to be between price ticks $22 and $23 (Figure 2.3).

Price Bid quantity (Demand) Ask quantity(Supply)

21 120 10

22 75 30

23 40 60

24 15 100

Table 2.1: Supply and demand quantity 1.

(18)

2 Auctions in Financial Markets 21 22 23 24 10 15 30 40 60 75 100 120 Price ($) Quan tit y

Supply and demand accepting the prices

Demand Supply

Figure 2.3: The intersection of supply and demand is between prices 22$ and 23$.

It is evident that since price ticks can only be discrete values, piecewise curves are less meaningful. Using stepwise graphs instead reveals more information. First, defined are the terms auction turnover and imbalance as follows:

• Turnover - the smallest of the bid or ask quantities at a price tick. This represents the quantity that can trade at this price.

• Imbalance - the bid quantity subtracted by the ask quantity.

The example from table 2.1 can be extended to include the turnover and imbalance values for each price tick (Table 2.2):

Px Bid Ask T/O Imb 21 120 10 10 110

22 75 30 30 45

23 40 60 40 -20 24 15 100 15 -85

Table 2.2: Uncross table 1.

(19)

2 Auctions in Financial Markets 20 21 22 23 24 25 10 15 30 40 60 75 100 120 Price ($) Quan tit y Demand Supply Imbalance

Figure 2.4: The blue area represents the quantity at a price accepted by buy orders. The red area is the quantity accepted by sell orders. The imbalance for a price tick is the demand - supply delta.

There are cases in which there are more than one price levels that result in the same highest turnover value. This problem can be solved in several ways but the most fair approach is by considering the imbalance as well. Follows a complete set of rule for price selection in the possible scenarios[13].

1. If there is one price achieving maximum turnover, that price is selected.

2. If multiple price ticks achieve the same maximum turnover, the price tick with the highest turnover and lowest absolute imbalance is selected. If there are several price ticks with the same maximum turnover and minimum imbalances, additional rules (2a, 2b, 2c and 2d) apply[13]:

a) If all prices in the interval have positive imbalance, selected is the highest price in the interval[13].

b) If all prices in the interval have negative imbalance, selected is the lowest price in the interval[13].

c) If all prices in the interval have zero imbalance, selected is the midpoint of the interval. (If the midpoint is between two price ticks, selected is the price that represents an even number of ticks)[13].

d) If the absolute imbalance is equal in the interval, but some prices have positive imbalance and some prices have negative imbalance, identified are the two adjacent prices that have different signs. Of these two prices, selected is the price that represents an even number of ticks[13].

The aim of sub-rules 2a and 2b, for the case of multiple price ticks with the same highest turnover is to guarantee that orders more generous than the selected price will be traded completely. For buy orders more generous means higher limit price or "willing to pay

(20)

2 Auctions in Financial Markets

more" while for sell orders that is lower limit price, or "willing to sell for less".

The purpose of sub-rules 2c and 2d is simply for handling the described ambiguities that could occur.

Rules 2a, 2b, 2c and 2d are supplemented with examples in Appendix A.

2.3 Single-item auction problem formulation

In this section presented is a formal interpretation of the single-item auctions used by financial markets today. The following common requirements were gathered through analyzing auction specifications of exchanges[2][14][15][16]:

• The market price selected is optimal - the auction turnover is maximized. When there are more than one price ticks with the same maximum welfare, the price with the smallest difference between quantity demanded and quantity supplied known as imbalance.

• The price is non-discriminatory. The only parameters used in price determination are the quantities of the supply and demand, i.e. there is no regard for the identities of participants.

• Achieved is incentive compatibility. Participants receive no additional utility from misrepresenting their truthful valuation for an instrument. In Game Theoretic terms that means that the best strategy of a participants is to submit an order with their truthful valuation.

• Buy and sell orders are uncrossed (Non-trade through rule). All supplied or requested quantity more generous than the selected price tick are matched. For that reason the price is also referred to as uncross or "market clearing".[17] In order to formalize the requirements the following definitions are introduced:

Bid orders for a particular instrument are notated as bji and Ask(sell) orders are notated as aji. All orders have price and quantity attributes - i.e. bji.price, aji.price and bji.qty, aji.qty. Based on order valuations constructed are the price ticks in Orderbook i. A price tick for i is notated as pi.

Defined are the terms "at the money" and "in the money". An order is "at the money" in relation to a price tick if the order’s limit (reserve) price is exactly the same as the price tick. An order is "in the money" in relation to a price tick if the order’s limit price is more generous than the price tick[13]. Buy orders are more generous when their price is greater than a price they are compared to and sell orders are more generous when their price is lower than the price they are compared to.

The above can be summarized as follows:

(21)

2 Auctions in Financial Markets

• Bat - aggregate demand quantity "at the money" which can be traded. • Bin- aggregate demand quantity "in the money" which must be traded.

Any quantity that is "in the money" must be traded because of the strict "non-trade through" rule - at a given price any orders that are more generous must be traded completely.

The auction turnover T for price tick pi is defined as:

T (pi) = min(Aati + Aini , Bati + Biin) (2.1)

The auction imbalance I for price tick pi is defined as:

I(pi) = Bat+ Bin− Aat− Ain (2.2)

As per the rules defined in section 2.4 we maximize the turnover T first and use the imbalance I only if there are multiple solutions (price ticks) with the same maximum value. The turnover in (2.1) is defined as the lower of the bid quantity that accepts the price or the ask quantity that accepts the price as this is the amount that will trade. The imbalance (2.2) is defined as the difference between the bid quantity accepting the price and the ask quantity accepting the price.

Additionally the following restrictions are imposed:

Aini ≤ Bati + Biin (2.3) Biin≤ Aati + Aini (2.4) Constraints (2.3) and (2.4) enforce that the selected price tick is such that the market is uncrossed and any supply or demand quantity more generous than the price is traded completely[13]. The pricing rules expressed verbally in section 2.2 and illustrated through the examples in Appendix A satisfy constraints (2.3) and (2.4), proven in [13].

The auction problem is in finding the price tick pi where the turnover T (pi) is maximized

and the orders are uncrossed. Once the optimal price is selected, allocation is trivial -orders that are "in the money" are given priority over -orders "at the money". Orders at the money are filled in FIFO or pro-rata fashion (First-in, First-out)[13].

2.4 Combination orders

There are cases when it is beneficial for a broker to trade an instrument if and only if they also succeed in trading another instrument. That means the possibility of arriving at an in-between position where only some of the instruments are traded is undesirable

(22)

2 Auctions in Financial Markets

and presents a risk[18], known as the exposure problem[4].

A combination (bundle) order specifies participation quantities for the instruments involved, number of combinations requested (order quantity) and a limit price for the bundle. The instruments requested by a combinatorial orders are also known as legs or atoms.

Consider pseudo order i in the following example: Order i

Instrument A1: ’buy x1’ Instrument A2: ’buy x1’

Bundle price: $8 Bundle quantity: 2

Order i specifies that it is atomically buying 1 of each instrument (A1 and A2) and is willing to pay up to $8. The bundle quantity of 2 indicates that two such bundles are bought. With the information of order i it can be concluded that the broker submitting it is interested in obtaining instruments A1 and A2 in pairs[19].

Notable use cases of combinatorial auctions include the selling of the radio frequencies spectrum since for buyers it is beneficial to obtain neighboring ranges; auctioning of airport take-off and landing time slots as well as the servicing rights for bus lines in large metropolitan areas[4].

Within the domain of financial markets, combinatorial orders allow participants to express inflexible or very specific supply or demand preferences. For instance, an investment bank may deem beneficial to adjust their portfolio in a very specific way and if not possible, not make a change. In this case a combination order lowers the risk for the trader.

A prime example of combinatorial trading in security exchanges are orders known as time spreads[20]. Such combinations have a sell operation for one future contract and a buy operation for another contract on the same underlying instrument. The contract sold may be with delivery date x and the contract bought with delivery date x + 1 month. Depending on market prices and interest rates the price value of a time spread may be with a positive or negative sign or equal 0 when the contract prices is the same.Time spread orders can be used for practical reasons due to a changes in demand or by investors, speculating on the slope of the price curve[20].

Many exchanges allow for combinations to be traded during continuous trading with the use of bait orders (also know as derived orders)[21], however, at the time of writing this report, the author is not aware of financial markets that include combination orders in their auction phases. Some next day spot electricity markets use combinatorial auctions in the computation of their base prices for each hour of the day[22].

(23)

2 Auctions in Financial Markets

2.5 Previous and related work

Much of the previous work on Combinatorial auctions[8] focuses only on the optimal winner selection part of the problem [24][28]. However, in order to be useful in the context of a financial marketplace, the combinatorial auction needs to produce equilibrium prices for all instruments involved in the combination legs.

The work of Xia, Mu and Koehler, Gary J. and Whinston, Andrew B. - Pricing combina-torial auctions explores two methods of pricing of dual sided combinacombina-torial auctions: the DeMartini pricing[29] method and the O’Neill pricing[30]. Both methods however rely on two steps. Firstly, a winner selection is made with an optimization model and second, based on the winner selection, instrument prices are constructed based on valuations of the winners. This approach however is not sufficient to guarantee that the best allocation was made. This is because if the price vector was known prior to the optimization, there may have been a better set of winners. It is required to consider prices and instrument participation restrictions simultaneously.

The publication Computationally Manageable Combinational Auctions by Rothkopf, Michael H. and Pekeč, Aleksandar and Harstad, Ronald M.[4] discusses the relevance and necessity of combinatorial auctions, introducing the "threshold" problem and risk of non-combinatorial bidding. Presented is a mathematical model for the generic winner determination of a single-sided (multiple buyers, single supplier), single-unit auctions where it is demonstrated that restricting the types of bid combinations significantly improves tractability[4]. Specialized algorithms dealing with single sided auctions have also been created[23].

Further work by Sandholm, Tuomas Winner determination in combinatorial auction gener-alizations [25] examines a dual-sided auction with and without free disposal - i.e. multiple buyers being matched with multiple sellers and the selection have to be made so that sup-plied quantity matches exactly the demanded quantity. Their empirical test results suggest that allowing free disposal significantly reduces the complexity.

A paper by Andersson, A. and Tenhunen, M. and Ygge, F. Integer programming for combinatorial auction winner determination[26] presents an several algorithms and an integer programming model for the single-sided, multi-unit auction with empirical test results demonstrating the impact of the input probability distributions on the tractability of the problem.

The work of Kothari, Anshul and Sandholm, Tuomas and Suri, Subhash Solving Com-binatorial Exchanges: Optimality via a Few Partial Bids[27] demonstrates achieving maximum surplus (auction optimality) by allowing some allocated orders to be partially filled.

Not all auctions discussed in [4], [25] and [26] fully satisfy the auction requirements in the context of a financial marketplace due to the fact that the models do not achieve their optimal result at an equilibrium price vector. However ideas for relaxing the problem vie

(24)

2 Auctions in Financial Markets

either partial filling of some orders or allowing free disposal were used in developing the hybrid auction model presented in chapter 5.

The issue of pricing, omitted in [4], [25] and [26] is discussed in the paper of Xia, Mu and Koehler, Gary J. and Whinston, Andrew B. Pricing combinatorial auctions [31]. Discussed is the problem of incentive compatibility for combinatorial auctions - the exact issue that standard non-combinatorial auctions solve in financial marketplaces. The work explores two methods for obtaining the equilibrium prices per-instrument - the "DeMartini"[29] and the "O’Niel"[30] pricing methods. However, the method employed is two step - Firstly the best winner selection is made, from which market prices are subsequently inferred. That approach doesn’t guarantee that if a different price vector was selected there would not exist a better winner selection. Therefore it is required that price selection is done before or in the same step as winner determination.

The work of Schellhorn, Henry Combination trading with limit orders [18] models a dual sided equilibrium priced combinatorial auction with a fixed point algorithm which uses ap-proximated aggregate demand/supply functions for price determination.

Auctions used withing financial markets ensure that trading occurs at the same (equilib-rium price). This is a very important property because of:

• The price is a true reflection of the market.

• Predictability - Once a price is established it is obvious to participants why their order traded or didn’t trade.

(25)

3.

Integer Programming

Integer programming[32][33] is a special case of mathematical programming[34]. In this context the term "programming" is different from "computer programming" as it is more closely related to "planning"[34].

An optimization model is a problem of the type:

max{f (x) : x ∈ X, g(x) ≤ 0} where x ∈ X, g(x) ≤ 0, the restrictions for variable x are known as constraints and f (x) is the objective function [35]. A common feature of mathematical models is the involvement of optimization, meaning we maximize or minimize a value[34].

Mathematical programming can be classified as[33]: • Linear Programming (LP)

• Non-Linear Programming (NLP) • Integer Programming (IP)

The auction problems subject of this report involve optimization - required is a price tick and allocation producing the highest the social welfare, subject to specific auction constraints[9][8]. Both the objective function and the constraints can be expressed as linear relationships. Integer programs are a special case in linear programming where the variables assume only discrete (integer) values. Solving models with integer variables is also known as discrete optimization.

Integer programming (IP)[33] problems can be classified as follows:

• Pure integer programming (PIP)[36] - All variables are discrete values

• Mixed integer programming problem (MIP)[36] - Some variables are discrete values and others are allowed to be real numbers

(26)

3 Integer Programming

The use of integer constraints is required when the variables represent discrete units (e.g. cars, houses) or when the variable represents a "yes/no" type of decision[36]. In the combinatorial auction problem variables represent the order allocation - whether or not an order has been selected as winning or not, which warrants the use integer variables.

The subject of integer optimization has been extensively researched, therefore this chapter serves to only introduce the basic concepts used in modeling and solving the combinatorial auction.

3.1 Problem Modeling

In order to create a mathematical model of a problem, the following is required: • Establish the input parameters and the variables

• Construct a maximization or minimization objective function

• Construct the constraints imposing restrictions meaningful for our problem

3.1.1 LP: The Product Mix problem

To illustrate problem modeling in practical terms presented is the example of the "Product Mix" problem described in[37]:

A steel mill can produce two products - Product P1 and Product P2.

The mill can produce 200 tons of P1 per hour which yields a profit of 25$ per ton. The demand for P1 is 6000 tons. The mill has to produce at least 1000 tons of P1.

Product P2 is produced at rate of 140 tons per hour but the profit is 30$ per ton. The demand for P2 is 4000 tons. The mill has to produce at least 2000 tons of P2.

The available production time is 40 hours. The goal is to design a production plan that maximizes the mill’s profit.

In order to model the problem from the above example introduced are two vari-ables:

x1 = Tons of product P1

x2 = Tons of product P2

The profit per ton for P1 is 25$ and for P2 is 30$, therefore our objective function is:

(27)

3 Integer Programming

Formulated is the constraint for the available production time of 40 hours: Subject to : 1

200x1 + 1

140x2≤ 40

In addition created are the two constraints for the minimum and maximum of P1 and P2 that can be produced:

1000 ≤ x1≤ 6000 (3.1)

2000 ≤ x2≤ 4000 (3.2)

The constructed linear programming model can be solved using the simplex method which is implemented by most linear programming solvers.

The result is as follows:

Objective value (profit) = 188571.4286 x1 = 5142.86, x2 = 2000

There are specialized languages for algebraic modeling at a high level such as AMPL (A Mathematical Programming Language)[38]. In the AMPL format, parameters, variables and constraints are expressed with syntax very similar to the mathematical notation. As a practical consideration, it is significantly easier to implement models in the AMPL format.

To illustrate the AMPL syntax, the model for the "Product mix" problem from figure 3.2 looks as follows:

var x1 >=1000, <= 6000; var x2 >=2000, <= 4000;

maximize profit: 25*x1 + 30*x2;

subject to time: (1/200)*x1 + (1/140)*x2 <= 40;

3.1.2 IP: The knapsack problem

Creating an Integer programming (IP) model is similar to developing an LP model with the addition of constraints enforcing that variables can only be integers. However, it is important to note the profound difference in the solution that can create.

This is illustrated in the example from Model Building in Mathematical programming by H. Paul Williams, chapter 8.2.2, page 156[34]:

(28)

3 Integer Programming

If variables x1 and x2 (3.6) from the above example: Example 2 represent the quantity of indivisible goods such as cars or airplanes, they should be integer values. However, there is no need for such restriction if x1 and x2 represent gallons of a liquid.

The optimal solution of the described LP is achieved with values: x1= 4 and x2 = 4.5.

On the other hand, if we restricted the variables to be discrete values, the optimal solution is achieved with:

x1 = 1 and x2= 2.

Simply rounding down the LP solution gives values that are infeasible as per the constraint defined in (3.4), (3.5) and (3.6).

Discrete optimization is illustrated with the well known knapsack problem[36]:

Given are a set of objects, each with a weight and value. There is a knapsack with a specified weight capacity. The objective is to place items in the knapsack in such a way that its capacity is not exceeded and the total value collected is maximized.

Object 1: value 8, weight 5 Object 2: value 11, weight 7 Object 3: value 6, weight 4 Object 4: value 4, weight 3 Knapsack capacity: 14

Introduced are four binary allocation variables: x1, x2, x3 and x4, each corresponding to the selection decision for objects 1, 2, 3 and 4.

This allows us to express the knapsack problem as follows:

M aximize : 8x1+ 11x2+ 6x3+ 4x4 (3.8)

Subject to : 5x1+ 7x2+ 4x3+ 3x4≤ 14 (3.9)

xi∈ {0, 1} (3.10)

In order to generalize this model the number of objects is denoted with n so that the set of all object is {1, .., n}. The weight of object i is expressed with the parameter wi

(29)

3 Integer Programming

is the selection (allocation) variable for object i. The knapsack capacity parameter is denoted with C. The problem becomes:

M aximize : n X i=1 vixi (3.11) Subject to : n X i=1 wi≤ C (3.12) xi ∈ {0, 1} (3.13)

If the selection of fractions of objects was allowed, i.e. without constraint (3.13), the solution would be a selection of the highest value per weight unit first followed by filling remaining capacity with the next best object. In the above knapsack formulation in its LP form (without (3.13)) the resulting selection would be:

x1 = 1, x2= 1, x3 = 0.5 and x4 = 0

3.1.3 Logical conditions

When implementing a problem into a mathematical model it is often required to han-dle logical conditions of the type "If condition is true, apply constraint X". In con-trast to computer programming, expressing conditions can be difficult in optimization models[34].

Consider the knapsack problem. Suppose that Objects 2 and Object 3 are a pair and if one is selected the other must be selected as well. Since the allocation variables for objects 2 and 3 are x2and x3 respectively, the constraint can be expressed as:

Subject to : x2− x3 = 0

That constraint is met only when Object 2 and Object 3 are both selected or none of the two are selected.

3.1.4 The Big M Method

Some logical conditions with multiple variables are difficult to express as a linear inequality. A known workaround involves introducing a large positive penalty constant[34].

For instance suppose we have two variables y ∈ N and x ∈ 0, 1. Suppose that it is required to express the constraint that y ≤ 10 if and only if when x = 1.

In integer programming this can be achieved with a variation of "The Big M Method". The constraint is as follows:

(30)

3 Integer Programming

y ≤ 10 + M (1 − x)

Where M is a large positive constant, greater than any value y can assume. This method is used in the combinatorial auction formulation in Chapter 5.

3.2 Problem Solving

Linear programming models are solved using variations of George Dantzig’s simplex algorithm[33] which is implemented in modern LP solvers. Discussing the simplex algorithm is out of the scope of this project. Further information on the simplex method is available at [33].

Integer optimization is performed by solving the LP problem multiple times in a branch-and-bound fashion. When a non-discrete value is encountered, the system creates two new LP problems with additional constraints. In the first new LP the branch variable is set to the round-up value and in the second to the round-down value.

For that reason, IP problems are many times more computationally complex than an equivalent linear program. An integer program with its integer constraints removed is known as the "Linear relaxation" (LR)[34][33] of the model.

Since the Linear relaxation (LR)[33] is less constrained than the integer program (IP)[33] the following rules are inferred[36]:

1. If the (IP) is a minimization, the optimal objective value of the (LR) is less than or equal to the optimal objective value for (IP)

2. If the (IP) is a maximization, the optimal objective value for the (LR) is greater than or equal to the (IP)

3. If the (LR) is infeasible, then (IP) is infeasible too.

4. If (LR) is optimal with integer variables, then this is the best (IP) solution. 5. If the coefficients in the objective function are integer, then for minimization, the

optimal objective for (IP) is greater than or equal to the "round up" of the optimal objective for (LR). For maximization, the optimal objective for (IP) is less than or equal to the "round down" of the optimal objective for (LR).

(31)

3 Integer Programming

3.2.1 Branch and bound

The basic principle for discrete optimization used by solver is know as branch-and bound search. The fundamentals of the concept are illustrated using the knapsack example problem. M aximize : x1+ x2 (3.14) Subject to : −2x1+ 2x2 ≥ 1 (3.15) −8x1+ 10x2 ≤ 13 (3.16) x1, x2 ≥ 0 (3.17) (3.18) The solver performs the following steps:

1. Solve the (LR) linear relaxation[33].

The solution is x1= 1, x2 = 1, x3= 0.5, x4= 0 with objective value of 22.

The solver now knows that no integer solution can have objective greater than 22. 2. Branch on variable x3.

Since the value for x3 is not an integer, the solver performs branching ? two new linear problems are created. In the first one, it enforces x3 = 0 and in the second

problem it enforces that x3 = 1.

Solving the (LR) of the resulting two nodes give us the solutions:

Node x3 = 0: Objective = 21.65, x1= 1, x2 = 1, x3= 0, x4 = 0.667 Node x3 = 1: Objective = 21.85, x1= 1, x2 = 0.714, x4= 0

The solver now knows that the IP solution is no greater than 21.85. In fact since objective value has to be an integer, the solver knows that the objective of the best integer solution can be no greater than 21.

3. Branch in the x3 = 1 node on variable x2 where the value was 0.714. For the resulting two new (IP) where we enforce x2 to be 0 or 1 we get the following

solutions:

Node x3 = 1, x2= 0: Objective = 18, x1 = 1, x2= 0, x3 = 1, x4= 1 Node x3 = 1, x2= 1: Objective = 21.8, x1 = 0.6, x2 = 1, x3= 1, x4 = 0

The solver now has a feasible integer solution with objective = 18. When an integer solution is reached there is no further branching from that node. So far this is the current best solution.

4. Branch in the x3 = 1, x2 = 1 node on variable x1 where the value was 0.6. For the resulting two new (IP) where we enforce x1 to be 0 or 1 we get the following solutions:

Node x3 = 1, x2= 1, x1 = 0: Objective = 21, x1= 0, x2 = 1, x3= 1, x4 = 1 Node x3 = 1, x2= 1, x1 = 1: Infeasible

The best integer solution is with objective 21.

(32)

3 Integer Programming

5. The node with x3 = 0 where the objective was 21.65 is still unexplored but from solving the (LR) the solver knows there are no better solutions. The search terminates.

The search process is drawn in Figure 3.1.

Objective 22 x1=1 x2=1 x3=0.5 x4=0 Objective 21.65 x1=1 x2=1 x3=0 x4=0.667 Objective 21.85 x1=1 x2=0.714 x3=1 x4=0 Objective 18 x1=1 x2=0 x3=1 x4=1 Objective 21.8 x1=0.6 x2=1 x3=1 x4=0 Objective 21 x1=0 x2=1 x3=1 x4=1 Infeasible

Figure 3.1: Branching on non-integer variables until we reach an integer solution. If the solution is not guaranteed to be the best possible one, the algorithm backtracks and branches on another non-integer variable from the preceding node.

(33)

4.

The Equilibrium Price Combinatorial Auction

The development of an efficient implementation of the combinatorial auction problem is done in an iterative fashion. In this chapter introduced are three formulations of the auction using integer programming techniques.

• Model 1: Brute force - This approach is heavily inspired by previous work on the subject and constitutes of selecting a range of price vectors to be tested. An optimization problem is then solved for each price vector in the range.

• Model 2: Priced WDP - The optimization problem is solved once with additional variables and constraints for the prices.

• Model 3: Priced hybrid WDP - This approach combines the curve point winner determination in single instrument auctions with the priced combinatorial WDP from Model 2. Model 3 is useful when a large portion of the orders are single instrument.

The auction models were implemented in the AMPL format. That means that the solver receives the following inputs:

• The AMPL model containing constraint and objective definitions along with vari-ables and parameters.

• The AMPL data containing the parameter values. • Solver configuration.

It is required to introduce an order notation that can easily be synthesized as AMPL data files. In order to facilitate testing of the models, an application that performs synthesis of AMPL data files is developed.

(34)

4 The Equilibrium Price Combinatorial Auction

4.1 System overview

The test system is composed of:

• Input data generation components. • Input (Model, Data, Configuration).

• Optimization component (Third party software). • Output (Subject to analysis).

(35)

4 The Equilibrium Price Combinatorial Auction

Synthetic Orders Real Market Data Orders

Optimizer input Optimizer output Data synthesis Order generator Generation configuration Log parser System logs Optimizer (CPLEX / GLPK)

AMPL Model configurationOptimizer

Allocation Price vector

Orders Orders

AMPL Data

Figure 4.1: System overview

4.1.1 Input data synthesis

Test scenarios are either generated from a configuration file or based on order data provided by an exchange. Synthetic orders are generated based on configuration specifying the properties of the input including single/combinatorial orders ratio, mean instrument valuations and buy/sell price crossing.

In the case of tests with real order data, orders are read from a logs file and parsed into the same format output produced by the synthetic order generator. Shown below are three

(36)

4 The Equilibrium Price Combinatorial Auction

example orders that can be input for the data synthesis component. Inside the braces are the bundle leg ratios, followed by the price and number of bundles.

{0,0,1,0,0,0,0,0,0,0,1,1};588;1 {1,1,0,0,-1,0,0,0,0,0,0,1};323;1 {0,1,1,0,0,0,0,1,0,-1,1,0};477;1

Format: {leq_1_quantity, ..., leg_12_quantity}; price; bundle_quantity

4.2 Requirements

Defined are the following auction requirements which are implemented in the models described in section 4.4:

1. The quantity traded for an order can be no greater than the quantity specified by an order.

2. An order can be traded (filled) partially as long as it is not of an "all-or-none" type. 3. Orders that are "all-or-none" must trade their quantity in full or not at all. 4. No market participant benefits from misrepresenting their valuation, i.e. the best

strategy of every trader is to submit a bid or ask with their true valuation. 5. The allocation of orders in the auction is based on calculated equilibrium prices for

all instruments.

6. The equilibrium prices for all instruments (or price vector) are selected in a non-discriminative fashion - i.e. the price is the same for every market participant. 7. Single instrument orders are not traded through (more generous orders are given

priority and always traded in full).

8. Combination orders are allowed to trade through because constraining them to non-trade through reduces auction turnover significantly.

9. The price vector is selected such the highest possible auction turnover is achieved. 10. The winner selection of combination orders is such that the highest possible auction

turnover is achieved.

11. Orders specify a limit price beyond which no matching can occur. Single instrument buy orders selected must be with a limit price greater than or equal to the selected equilibrium price for the instrument. Single instrument sell orders must be with a limit price less than or equal to the equilibrium.

(37)

4 The Equilibrium Price Combinatorial Auction

13. A trade price of a bundle can be calculated using the selected instrument prices. A combinatorial order can be matched only if the calculated trade price is less than or equal to the limit bundle priced submitted by the order.

14. The equilibrium price vector is selected to be such that orderbooks are uncrossed with respect to the non-restricted single instrument orders. That mean at the selected price for each instrument, all orders more generous than the equilibrium price are traded in full.

All of the above requirements are implemented in the three optimization models de-veloped and are part of the quality assurance process (requirements are never vio-lated).

4.3 Model formulation

Given an input of combinatorial orders on a set of instruments, the winner determination problem (WDP) is finding the optimal set of winning (allocated) orders such that the auction turnover is maximized. A requirement, common for financial markets, is that the maximized turnover is achieved at equilibrium uncross prices for all instruments traded. The auction has to output bundle order allocation values and instrument market prices. Discussed are three mixed integer program models implementing the auction require-ments.

4.3.1 Common definitions

The following are common definitions used in the formulation of the auction optimization models.

Set of instruments

The set of assets/instruments being auctioned is M0with m elements: M0 = {M1, ..., Mm}.

Set of orders

Submitted is the set of combination orders O0 = {O1, ..., On} where n is the number of

orders.

(38)

4 The Equilibrium Price Combinatorial Auction

Order

An individual order i from the set O0 is represented as Oih(λi,1, ..., λi,m), pi, qii, where

the set λi,1, ..., λi,m represents the buy/sell participation quantities for each combination

leg (m is the number of instruments). pi and qi represent the bundle limit price and

quantity.

Instrument participation quantity

The λi,k ∈ Z(the set of integers including zero) represents the number of requested units for instrument k ∈ {1, ..., m} by order i. If there is no activity for instrument k then λi,k = 0. If order i wishes to buy instrument k then λi,k > 0. If order i wishes to sell

instrument k then λi,k < 0.

Bundle quantity

The qi ∈ N>0(the set of natural numbers excluding zero) represents the number of requested bundles by order Oi. Bundle quantity of zero is not allowed since it indicates there is not order.

Bundle limit price

pi ∈ Z(the set of integers including zero) denotes the limit price (per bundle unit) for order Oi. If pi is positive it indicates that order i is willing to pay no more than the specified

positive value pi for the expressed combination. A negative pi indicates that order i expects receive no less than |pi| for the expressed combination.

Allocation variable

xi ∈ {0, 1} is a binary integer variable for each order Oi ∈ O 0

. xi is an allocation variable for Oi i.e. if order i is not selected for participation, then xi = 0. If Oi is selected then xi = 1.

Instrument/Leg price

vk∈ N0(the set of natural numbers including zero) is the instrument price(valuation) for

instrument Mk∈ M0. Submitted orders O0 do not contain explicit instrument valuations. In Model 1 (brute force), vk is a parameter submitted as a "test instrument price". In

(39)

4 The Equilibrium Price Combinatorial Auction

with precision where an allocated order is no longer "in the money" after rounding of the price.

4.3.2 Example bundle orders

Orders can have an arbitrary combination of instrument participation quantities with potentially different signs. Therefore we can not strictly define a bundle order as "buy" or "sell" as we do in non-combinatorial auctions.

Of course a bundle order with all positive instrument participation quantities λ will have a positive price pi but in the case of a combination of buying and selling instruments, the bundle price reflects the individual instrument valuations.

To illustrate this point presented are the set of instruments M0 = {M1, M2, M3, M4} and

the set of orders O0 = {O1, O3, O3, O4, O5, O6, O7}:

O1 = h(1, 0, 0, 1), 50, 1i - buying instrument M1 and instrument M4 at a price no higher

than 50.

O2 = h(−1, 0, 0, −1), −50, 1i - selling instrument M1 and instrument M4 for no less than

50.

O3 = h(1, 0, 0, −1), −30, 1i - buying instrument M1 and selling instrument M4 for no less

than 30.

O4 = h(−1, 0, 0, 1), 30, 1i - selling instrument M1 and buying instrument M4 at a price

no higher than 30.

O5 = h(1, 1, −1, 0), 0, 1i - exchanging instrument M3 for instrument M1 and instrument

M2.

O6 = h(0, 1, 0, 0), 20, 1i - buying instrument M2 for 20.

O7 = h(0, 0, −1, 0), −30, 1i - selling instrument M3 for 30.

Figure 4.2: Example combinatorial orders

Orders O3 and O4 imply that they value instrument M4 more than they do instrument

M1.

Order O5 is buying instrument M1 and instrument M2 and selling instrument M3 and is not willing to pay for the transaction, however the order would be happy with receiving value for the exchange if there are matching orders that value instrument M3 more than

the sum of instrument M1 and instrument M1.

It is possible to express a single instrument order as a special case of a combinatorial order where only one of the instrument participation quantity values is not equal to zero. Such is the case for orders O6 and O7.

(40)

4 The Equilibrium Price Combinatorial Auction

4.3.3 Model 1: Brute force

The auction problem is formulated as a mixed integer optimization model. The objective function (4.1) maximizes the auction turnover, subject to the conditions that the winner selection is such that combination legs can be fulfilled (4.2) and any selected orders meet the price vector which is a parameter (4.3). The optimization is solved for each feasible input price vector. The uncross prices (and allocation) that resulted in the highest turnover are selected as optimal.

M aximize : n X i=1 (Pm k=1|λi,k|)qixi (4.1) Subject to : n X i=1 λi,kqixi= 0, ∀k ∈ {1, ..., m} (4.2) ( m X k=1 λi,kvk)xi ≤ pixi, ∀i ∈ {1, ..., n} (4.3) xi ∈ {0, 1} ∀i ∈ {1, ..., n} (4.4) Auction turnover

The maximization objective function (4.1) is the auction turnover. The turnover contri-bution of an order is the sum of absolute instrument participation quantities multiplied by the bundle quantity multiplied by the binary allocation variable xi. Selling of an instrument is represented with a negative λi,k, however since both buy and sell participa-tion contribute to the turnover, we use the absolute quantity. Since unlike single aucparticipa-tions, the combinatorial auction calculates turnover for multiple instruments of different values, a business decision can be made to include the valuations in the turnover function as follows: n X i=1 (Pm k=1|λi,k|)qixipi (4.5)

which would indicate the total value exchanged. For consistency, this work considers turnover as the quantity exchanged only.

Instrument participation constraint

In (4.2) a constraint is generated for each instrument Mk which enforces that across all

(41)

4 The Equilibrium Price Combinatorial Auction

However a buyer may not be able to pay or may not require additional units and a seller may wish to sell in an "All-or-None" fashion, therefore we need the more strict equality constraint.

Price constraint

In (4.3) a constraint is generated for each order Oi from the set of submitted orders O 0

ensuring that if order i is selected it must be "in the money". Orders that expect to receive value have a negative price pi meaning that smaller values represent higher prices. For all orders we enforce that the trade price is less than or equal to the bundle limit price pi.

A trade price for order Oi is the sum of all instrument participation quantities λi,k multiplied by the corresponding test instrument price vk. Furthermore, since we want

this constraint to be valid only for allocated orders both sides of the inequality are multiplied by the allocation variable xi.

Input prices

The strategy for obtaining a set of feasible price vectors is to choose lower and upper bounds around reference prices for each instrument (i.e. last day’s closing price). Then, the set of price vectors is constructed from listing each price combination within the selected range for every instrument. This means that the number of price vectors to be tested is equal to the number of price ticks within the range selected to the power of the number of instruments. For that reason this approach is not practical for inputs with a high number of instruments.

Even with a small number of instruments the number of discrete optimizations required could be prohibitively high. For instance if we wish to test 10 price ticks for 6 instruments, that is 1,000,000 price vectors to be tested.

Linear relaxation

One improvement we can make to this brute force model is utilizing the fact that the linear relaxation of the above discrete optimization will always result in an objective value (turnover) greater than or equal to the best integer solution. The linear relaxation means that we allow real numbers for the variable so the constraint in (4.4) becomes: xi ≥ 0, xi≤ 1 ∀i ∈ {1, ..., n}.

The resulting linear program (LP) is much easier to solve than the original integer program (IP). This is leveraged by pre-solving the (LP) for all test price vectors and ordering them by their turnover values. Then the original integer optimization program (IP) is solved for the test price vectors in descending order until an integer solution

(42)

4 The Equilibrium Price Combinatorial Auction

(turnover) is found that is greater than or equal to the subsequent precomputed linear solution (turnover).

In many practical tests the above strategy reduces the number or discrete optimizations to less than 1% of the number of price vectors, depending on the price ranges selected. However the issue of exponential number of price vectors prohibits us from employing this model for a greater number of instruments.

4.3.4 Model 2: Priced WDP

This model performs order allocation and prices selection in one optimization step. This is possible because allocated bundle orders allow us to infer instrument prices provided there is a diverse enough pool of orders.

Consider orders O5, O6 and O7 from the example section: O5 = h(1, 1, −1, 0), 0, 1i

O6 = h(0, 1, 0, 0), 20, 1i

O7 = h(0, 0, −1, 0), −30, 1i

If the above orders are allocated we have explicit valuations for instruments M2 and M3 and an implicit valuation for instrument M1 (10).

The instrument price (valuation) vk∈ N0 is now a variable (as opposed to a parameter as in Model 1) holding the price valuation for each instrument Mk∈ M0.

In addition constraint (4.8) introduces a large positive constant Q >Pm

k=1λi,kmax(vk) ∀OiO0. In other words Q is a constant greater than the largest bundle trade price that can exist. This is used as penalty value in the price constraint (4.8).

The turnover (4.6) and the leg quantity constraint (4.7) remain the same as in the brute force formulation. Since now the price is a variable, the optimization needs to be performed only once.

References

Related documents

Industrial Emissions Directive, supplemented by horizontal legislation (e.g., Framework Directives on Waste and Water, Emissions Trading System, etc) and guidance on operating

Stöden omfattar statliga lån och kreditgarantier; anstånd med skatter och avgifter; tillfälligt sänkta arbetsgivaravgifter under pandemins första fas; ökat statligt ansvar

Generally, a transition from primary raw materials to recycled materials, along with a change to renewable energy, are the most important actions to reduce greenhouse gas emissions

För att uppskatta den totala effekten av reformerna måste dock hänsyn tas till såväl samt- liga priseffekter som sammansättningseffekter, till följd av ökad försäljningsandel

Från den teoretiska modellen vet vi att när det finns två budgivare på marknaden, och marknadsandelen för månadens vara ökar, så leder detta till lägre

Generella styrmedel kan ha varit mindre verksamma än man har trott De generella styrmedlen, till skillnad från de specifika styrmedlen, har kommit att användas i större

På många små orter i gles- och landsbygder, där varken några nya apotek eller försälj- ningsställen för receptfria läkemedel har tillkommit, är nätet av

Det har inte varit möjligt att skapa en tydlig överblick över hur FoI-verksamheten på Energimyndigheten bidrar till målet, det vill säga hur målen påverkar resursprioriteringar