Package org.jquantlib.time

Examples of org.jquantlib.time.Date


    public EstimatorsTest() {
        QL.info("Testing volatility model construction...");

        final Date[] dates = new Date[] {
                new Date(25, Month.March, 2005),
                new Date(29, Month.March, 2005),
                new Date(15, Month.March, 2005),
                new Date(21, Month.March, 2005),
                new Date(27, Month.March, 2005) };

        final double[] values = new double[] { 1.2, 2.3, 0.3, 2.0, 2.5 };

        this.ts = new TimeSeries<Double>() { /* anonymous */ };
        for (int i=0; i<dates.length; i++) {
View Full Code Here


  }

  private TimeSeries<Double> calculate(final TimeSeries<Double> vs, final double alpha, final double beta, final double omega) {
    final TimeSeries<Double> retValue = new TimeSeries<Double>() { /* anonymous */ };
        final Iterator<Date> dates = vs.navigableKeySet().iterator();
    Date date = dates.next();

    final double zerothDayValue = vs.get(date);
    retValue.put(date, zerothDayValue) ;
    double u = 0;
        double sigma2 = zerothDayValue * zerothDayValue ;
View Full Code Here

    final TimeSeries<Double> retval = new TimeSeries<Double>() { /* anonymous */};

    final Iterator<Date> it1 = quotes.navigableKeySet().iterator();
    double sumu2 = 0.0, sumu = 0.0;
    Date d1 = null;

    // advance 'size' elements and accumulate results
    for (int i=0; i<size; i++) {
        d1 = it1.next();
        final double u = quotes.get(d1);
            sumu  += u;
            sumu2 += u * u;
    }
    // assign first result
    retval.put(d1, Math.sqrt(sumu2/size - sumu*sumu/size/(size+1)) );

        final Iterator<Date> it2 = quotes.navigableKeySet().iterator();
        Date d2;
        while (it1.hasNext()) {
            // add a new element to calculation
            d1 = it1.next();
            final double u = quotes.get(d1);
            sumu  += u;
View Full Code Here

    @Override
    public TimeSeries<Double> calculate(final TimeSeries<IntervalPrice> quotes) {
        final TimeSeries<Double> retval = new TimeSeries<Double>() { /* anonymous */ };
        final Iterator<Date> it = quotes.navigableKeySet().iterator();
        Date date = it.next();
        IntervalPrice prev = quotes.get(date);
        while (it.hasNext()) {
            date = it.next();
            final IntervalPrice curr = quotes.get(date);
            final double c0 = Math.log(prev.close());
View Full Code Here

    public TimeSeries<Double> calculate(final TimeSeries<Double> quotes) {
        final TimeSeries<Double> retval = new TimeSeries<Double>() { /* anonymous */ };
        final Iterator<Date> dates = quotes.navigableKeySet().iterator();
      double prev = quotes.get(dates.next());
      while (dates.hasNext()) {
          final Date date = dates.next();
            final double curr = quotes.get(date) ;
            final double value = Math.abs(Math.log(curr/prev))/Math.sqrt(yearFraction) ;
            retval.put(date, value);
            prev = curr;
      }
View Full Code Here

    // overrides Instrument
    //

    @Override
    public boolean isExpired() /* @ReadOnly */ {
        final Date evaluationDate = new Settings().evaluationDate();
        return exercise.lastDate().le( evaluationDate );
    }
View Full Code Here

            while (floorRates_.size() < floatingLeg_.size()) {
                floorRates_.add(floorRates_.get(floorRates_.size() - 1));
            }
        }

        final Date evaluationDate = new Settings().evaluationDate();
        for (final CashFlow cashFlow : floatingLeg_) {
            cashFlow.addObserver(this);
        }

        // TODO: code review :: please verify against QL/C++ code
        // seems like we should have this.evaluationDate

        this.termStructure_.addObserver(this);
        evaluationDate.addObserver(this);
    }
View Full Code Here

                floorRates_.add(floorRates_.get(floorRates_.size()-1));
            }
        } else
            throw new LibraryException("only Cap/Floor types allowed in this constructor"); // QA:[RG]::verified // TODO: message

        final Date evaluationDate = new Settings().evaluationDate();
        for (final CashFlow cashFlow : floatingLeg_) {
            cashFlow.addObserver(this);
        }

        // TODO: code review :: please verify against QL/C++ code
        // Seems like we should have this.evaluationDate

        this.termStructure_.addObserver(this);
        evaluationDate.addObserver(this);
    }
View Full Code Here

        return CashFlows.getInstance().atmRate(floatingLeg_, termStructure_);
    }

    @Override
    public boolean isExpired(){
        Date lastPaymentDate = Date.minDate();
        for (int i=0; i<floatingLeg_.size(); i++) {
            //FIXME: kind of ugly... intention: get the last date of all dates in the floatingdate c++ max syntax.
            lastPaymentDate = lastPaymentDate.le(floatingLeg_.get(i).date())?floatingLeg_.get(i).date():lastPaymentDate;
        }
        return lastPaymentDate.le(termStructure_.currentLink().referenceDate());
    }
View Full Code Here


    public VanillaSwap value() /* @ReadOnly */ {
        QL.validateExperimentalMode();

        Date startDate;
        if (!effectiveDate_.isNull()) {
            startDate = effectiveDate_;
        } else {
            /*@Natural*/ final int fixingDays = iborIndex_.fixingDays();
            final Date referenceDate = new Settings().evaluationDate();
            final Date spotDate = floatCalendar_.advance(referenceDate, fixingDays, TimeUnit.Days);
            startDate = spotDate.add(forwardStart_);
        }

//XXX: remove this block
//
//        Date startDate;
//        if (effectiveDate_ != null) {
//            startDate = effectiveDate_;
//        } else {
//            Date spotDate;
//            if (fixingDays == null) {
//                final int firstFixing = iborIndex_.fixingDays();
//                final Date referenceDate = new Settings().evaluationDate();
//                spotDate = floatCalendar_.advance (referenceDate, firstFixing, TimeUnit.Days);
//            } else {
//                final int firstFixing = (int) fixingDays.get(0);
//                final Date referenceDate = new Settings().evaluationDate();
//                spotDate = floatCalendar_.advance (referenceDate, firstFixing, TimeUnit.Days);
//            }
//            startDate = spotDate.add (forwardStart_);
//        }



        Date endDate;
        if (!terminationDate_.isNull()) {
            endDate = terminationDate_;
        } else {
            endDate = startDate.add (swapTenor_);
        }
View Full Code Here

TOP

Related Classes of org.jquantlib.time.Date

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.