edu.cuny.cat.market
Class EquilibriumCalculator

java.lang.Object
  extended by edu.cuny.cat.market.EquilibriumCalculator

public class EquilibriumCalculator
extends java.lang.Object

A class calculating equilibrium-related quantity, price, etc. in an auction, based on a given FourHeapShoutEngine instance.

Version:
$Revision: 1.10 $
Author:
Jinzhong Niu

Field Summary
protected  edu.cuny.math.dist.CumulativeDistribution askPriceDistribution
           
protected  edu.cuny.math.dist.CumulativeDistribution bidPriceDistribution
           
protected  boolean equilibriaFound
           
protected  java.util.List<Shout> matchedShouts
           
protected  double maxPrice
          The maximum equilibrium price.
protected  double minPrice
          The minimum equilibrium price.
protected  int quantity
           
protected  FourHeapShoutEngine shoutEngine
           
 
Constructor Summary
EquilibriumCalculator(FourHeapShoutEngine shoutEngine)
           
 
Method Summary
 void calculateEquilibria()
          calculates equilibria.
protected  void calculateEquilibriaPriceRange()
          calculates the price range at the equilibrium.
protected  void calculateEquilibriaQuantity()
          calculates the quantity at the equilibrium.
 void calculateShoutPriceRanges()
          calculates the price ranges of asks and bids.
 boolean equilibriaExists()
           
 edu.cuny.math.dist.CumulativeDistribution getAskPriceDistribution()
           
 edu.cuny.math.dist.CumulativeDistribution getBidPriceDistribution()
           
 int getEquilibriumQuantity()
           
 java.util.List<Shout> getMatchedShouts()
           
 double getMaxEquilibriumPrice()
           
 double getMidEquilibriumPrice()
           
 double getMinEquilibriumPrice()
           
 boolean isEquilibriaFound()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

shoutEngine

protected FourHeapShoutEngine shoutEngine

equilibriaFound

protected boolean equilibriaFound

matchedShouts

protected java.util.List<Shout> matchedShouts

quantity

protected int quantity

minPrice

protected double minPrice
The minimum equilibrium price.


maxPrice

protected double maxPrice
The maximum equilibrium price.


askPriceDistribution

protected edu.cuny.math.dist.CumulativeDistribution askPriceDistribution

bidPriceDistribution

protected edu.cuny.math.dist.CumulativeDistribution bidPriceDistribution
Constructor Detail

EquilibriumCalculator

public EquilibriumCalculator(FourHeapShoutEngine shoutEngine)
Method Detail

calculateEquilibria

public void calculateEquilibria()
calculates equilibria.


isEquilibriaFound

public boolean isEquilibriaFound()
Returns:
true if an equilibrium exist, or false otherwise.

calculateShoutPriceRanges

public void calculateShoutPriceRanges()
calculates the price ranges of asks and bids.


calculateEquilibriaQuantity

protected void calculateEquilibriaQuantity()
calculates the quantity at the equilibrium.


calculateEquilibriaPriceRange

protected void calculateEquilibriaPriceRange()
calculates the price range at the equilibrium.


getMinEquilibriumPrice

public double getMinEquilibriumPrice()
Returns:
the lower bound of the price range at the equilibrium.

getMaxEquilibriumPrice

public double getMaxEquilibriumPrice()
Returns:
the upper bound of the price range at the equilibrium.

getEquilibriumQuantity

public int getEquilibriumQuantity()
Returns:
the quantity at the equilibrium.

equilibriaExists

public boolean equilibriaExists()
Returns:
whether an equilibrium exists or not.

getMidEquilibriumPrice

public double getMidEquilibriumPrice()
Returns:
the mid-point of the equilibrium price range.

getMatchedShouts

public java.util.List<Shout> getMatchedShouts()
Returns:
a list of matched shouts, in the order of b0, a0, b1, a1, ...

getAskPriceDistribution

public edu.cuny.math.dist.CumulativeDistribution getAskPriceDistribution()

getBidPriceDistribution

public edu.cuny.math.dist.CumulativeDistribution getBidPriceDistribution()