User Tools

Site Tools


public:i-700-abms-08-1:final_project

Final Project

Objective

To create an agent-based model to simulate the allocation and trading of carbon quotas. The model should be able to answer the question: How does the initial allocation of carbon quotas and the rules governing their trade influence the distribution and total release of carbon?

Methodology

You will use CDM-S as the base for building the system, including the extension for modularization described here. Your role in using this methodology is to expand each of its steps (using this wiki) with:

  • detailed but generalized explanations of implementation of each step, and
  • anecdotal information based on the particular experience in the tasks related to the project's objective above.

Additionally, you must invent a new methodology related to “unit testing” of subsets/sub-clusters of modules that tests not only their “clean room” operation but also tests their robustness against random, irrational and unpredictable behaviors in the surrounding system.

Use this wiki to create a timeline with tasks and names; the link is here.

You must record your contributions towards this project on this wiki; the links to your individual pages will be sent in email (access granted to only the individual and the instructors).

Model

The model should include the following modules:

  • Domestic government: Allocate free quotas and set rules for domestic sectors.
  • Domestic government: Allocate free quotas and set rules for foreign sectors.
  • Domestic sectors: Each sector produces products which require quotas as input. Can trade with domestic or foreign owners of carbon quotas according to rules set by government.
  • Foreign sectors: Each sector produces products which require quotas as input. Can trade with other foreign sectors or domestic sectors according to rules set by foreign government.
  • Double auction market for carbon quotas: Intermediate for trading carbon quotas.

Description of modules

Governments

Government allocates free quotas for each sector. Government change rules along two dimensions:

  • Trade between sectors: Not allowed, allowed to buy, allowed to sell or allowed to both buy and sell.
  • Trade between countries: Not allowed, allowed to buy, allowed to sell, or allowed to both buy and sell.

Sectors

Each sector has a profit function for each period:

Profit = (Revenues pr. unit – Cost pr. unit ) * Number of units sold – Fixed costs. 

Fixed costs and revenues pr. unit are fixed but depend on sector. Production capacity is fixed during the simulation. Demand is set for the whole simulation (e.g. kept constant).

Cost pr. unit is calculated in the following way:

Cost pr. unit = Cost of inputs + Carbon release pr. unit * Cost of Carbon

Cost of inputs and carbon release pr. unit is specific for the sector, but fixed for the whole simulation (we might want to change carbon release pr. unit in each sector to reflect technology development). Sector is not allowed to produce units unless it has quota for it. Cost of Carbon is the average price paid for carbon owned.

Sector will place bids for quota if shortage is anticipated. Shortage is anticipated if:

  • Demand for quota during what is left of allocation period is more than quota owned.
  • Demand is extrapolated from number of units sold in the previous period (constant till the end of allocation period).

Max bid price is set to the cost of carbon which gives zero profit based on number of units and revenues from the previous period. Actual bid price is adjusted to the market, i.e. transaction price in the last period and sucess in buying. Quantity is set equal to shortage.

Sector will place asks for quota if excess is anticipated. Excess is anticipated if:

  • Demand for quota during what is left of allocation period is more than quota owned.
  • Demand is extrapolated from number of units sold in the last period (constant till the end of allocation period).

Min ask price is set to average price of carbon owned. Actual ask price is adjusted to market, i.e. transaction price in the last period and success in selling. Quantity is set equal to excess. Average price of carbon owned takes into account both buying and selling of quotas.

The following should be monitored for each sector in each period:

  • Profits in each period.
  • Carbon used.
  • Average price of carbon owned.
  • Units of carbon owned.
  • Overview of selling and buying of quotas, both orders and trades (time, quantity, price)

Double auction market

A double auction is a process in which buyers and sellers can freely enter limit orders (bids or asks) and accept bids or asks entered by others. It is the organization used in major exchange markets around the world trading stocks, commodities or currencies.

Use the following specifications when designing the market:

  • There are 0 ≤ i ≤ N buyers and 0 ≤ j ≤ M sellers in the market.
  • For each time period each buyer (i) is assigned a value, 0 ≤ vbi ≤ maxBuyerValue which represents how the buyer (i) values the commodity. Similarly, each seller (j) is assigned a value, 0 ≤ vsj ≤ maxSellerValue which represents how the seller values the commodity.
  • For each time period each buyer (i) is assigned a demand for Di units and each seller (j) assigned a supply of Sj units.
  • During the time period let each buyer (i) place a bid for Di units at the price of vbi. Similarly, let each seller (j) place an ask for Sj units at the price of vsj.
  • A trade will be made when a seller asks for a price which is equal to or lower than the price bid by the buyer. When the ask price is lower than the bid the transaction price is set equal to the one arriving earlier. Parts of an order can be traded leaving the rest untraded.
  • The auctioneer will seek to maximize the number of trades for the bids and asks available during the period.

Use the following information to monitor the results during each time period:

  • Plot of the transaction prices for each trade as well as average price, standard deviation of the price, and volume of trade.
  • Plot demand and supply curve for based on the values of the buyers and sellers (quantity on x-axis, price on y-axis). The demand and supply curve determines the equilibrium price and volume, which should be compared to the actual transaction prices, average transaction price of the run, and the volume traded within the run.

Time

The simulation should run for a single allocation period (e.g. 2011-2020). The smallest time period should be one week.

Starting conditions

Starting conditions should be set to approximate real life conditions. Carbon release pr unit should be used to adjust scales across different sectors. The sectors we want to use are:

  • Domistic: Heavy industry, road transport, air transport, agriculture, fishing.
  • Foreign: Power generation, road transport, air transport, agriculture, fishing.

Evaluation of simulation

Following variables should be used to evaluate and compare different simulation.

  • Accumualted profits of domestic sectors (separately and together)
  • Accumulated profits of foreign sectors (separately and together)
  • Accumulated use of carbon in domestic sectors (separately and together)
  • Accumulated use of carbon in foreign sectors (separately and together)
  • Accumulated buying and buying of quotas in domestic sectors (quantity, average price)
  • Accumulated selling and buying of quotas in foreign sectors (quantity, average price)

Different simulations should be performed for all combination of government rules for trade for different quantities of freely allocated quotas.

/var/www/ailab/WWW/wiki/data/pages/public/i-700-abms-08-1/final_project.txt · Last modified: 2008/03/11 17:22 by marco