/**
 * Computes the value of an equity given an instantaeous
 * shift in the relevant market index.
 */
public class Equity
{
    private double S;
    private double b;
    private double L0;
    private double L1;
    
    public Equity( double current_stock_price,
                   double beta_wrt_index,
                   double original_index_level,
                   double shifted_index_level )
    {
        S = current_stock_price;
        b = beta_wrt_index;
        L0 = original_index_level;
        L1 = shifted_index_level;
    }
    
    public double value() {
        final double p = (L1-L0)/L0;
        return S*(1+b*p);
    }
}
