A futures contract is a contractual agreement to buy
or sell an asset for a certain price at a certain time in
the future. An options contract gives the contract
holder the right to buy, or sell, an asset by a certain
date for a certain price, without obligation. (Hull
2005)
It has been proposed that swing options,
originally developed for trading electrical power,
can be used to price a future reservation of
computing resources (Clearwater and Huberman
2005). Analogous to electricity, computing resources
are non-storable and have volatile usage patterns, so
such a model would provide customers with
flexibility in terms of amount and duration of
resource requirement, and enables resource
providers to estimate demand.
Use of such derivatives presents two problems.
Firstly, how can users accurately predict their future
resource requirement. Secondly, how can the user be
trusted to submit a true representation of their likely
resource requirements.
The first issue can be solved using a forecasting
tool, such as that proposed in (Clearwater and
Huberman 2005) or by analysing historical market
data such as that proposed in (Sandholm, Lai et al.
2006; Sandholm and Lai 2007). For the second
issue, (Wu, Zhang et al. 2008) proposed a
reservation model which was shown to lead to a
truthful reservation on the user's part.
In (Rogers and Cliff 2010) we simulated the
reservation model proposed by Wu et al., in a
multiple user, heterogeneous, variable market. Wu et
al.'s model involved a number of users who require
the resource, plus a central authority ("the
Coordinator") responsible for receiving and
resolving resource requests. We showed that honesty
benefits both the user and the Coordinator when the
market varies uniformly, and that the user-base
evolves to be more honest over time. In the same
paper, we discussed how the model could be
implemented commercially, and how a transaction
fee could be used to offset risk.
In this paper we extend our previous work by
exploring results from simulating the model when
the market has heterogeneous (non-uniform)
variations, and where the users make decisions
based on scarcity or abundance of resources. We
simulate various market conditions, and analyse how
the Coordinator and users behave as a result of this
changing dynamic. Finally, we discuss how our
findings can be used to protect against risk in a
commercial implementation.
We will look at the specific case analysed by Wu
et al. where the value of two key parameters are C=2
and k=1.5. The parameter C is the cost per unit paid
to the resource-providers by the Coordinator in the
second (future) period; the cost per unit is 1 when
purchased in the initial (current) period. The
parameter k is a constant that is used to set the price
per unit charged by the Coordinator to the resource-
users. Exploring this case is most attractive in the
first instance because it allows us to explore the
extent to which the results from Wu et al.’s
theoretical analysis continue to hold as some of their
simplifying assumptions are relaxed. Our primary
research question is to see whether the service
remains profitable in a real-world, multi-user
scenario, where users submit different resource
probabilities using different levels of honesty, in a
dynamically changing marketplace. It is this
heterogeneity of user’s behaviour under different
circumstances that makes our simulation an
extension of the theoretical model and supporting
analysis provided by Wu et al.
2 METHODOLOGY
A computer simulation was implemented in Python
to replicate the model as an options contract. The
algorithm performs the following steps:
1. Each user i in the range 1 to N is assigned an
"honesty", H
i
, chosen randomly from a uniform
distribution over [0,1] which describes the accuracy
with which a probability of future resource
requirement is provided to the Coordinator. An
honesty of 1 means a user will always exercise their
right to purchase as per their forecast probability. An
honesty of 0 means a user will never exercise their
right to purchase.
2. A replicator dynamics approach is adopted,
whereby for every two units of total time T, a user is
randomly chosen to undergo a mutation, and this
user is given a new honesty. The user tries bidding
and executing as per the following steps for a sample
size S, using the new honesty.
a. For each user, a random resource probability, p
i
,
is assigned. A probability of 0 means that a resource
will definitely not be required in the next time
period. A resource probability of 1 means a resource
will definitely be required in the next time period.
b. Each user is given the opportunity to request a
resource to be utilised in the next time period. The
user will submit the following resource probability
to the Coordinator: q
i
= H
i
p
i
c. The user is charged a premium of kq
i
2
/
2
to
THE EFFECTS OF MARKET DEMAND ON TRUTHFULNESS IN A COMPUTING RESOURCE OPTIONS MARKET
331