Changeset 162
- Timestamp:
- 05/10/08 13:14:58 (2 months ago)
- Files:
-
- trunk/QLNet/EquityOption/EquityOption.cs (modified) (1 diff)
- trunk/QLNet/QLNet/Pricingengines/vanilla/FDAmericanEngine.cs (modified) (1 diff)
- trunk/QLNet/QLNet/Pricingengines/vanilla/FDMultiPeriodEngine.cs (modified) (1 diff)
- trunk/QLNet/QLNet/Pricingengines/vanilla/FDStepConditionEngine.cs (modified) (1 diff)
- trunk/QLNet/QLNet/Pricingengines/vanilla/FDVanillaEngine.cs (modified) (3 diffs)
- trunk/QLNet/QLNet/Pricingengines/vanilla/fddividendengine.cs (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/QLNet/EquityOption/EquityOption.cs
r158 r162 135 135 //bermudanOption.setPricingEngine(boost::shared_ptr<PricingEngine>( 136 136 // new FDBermudanEngine(bsmProcess,timeSteps,timeSteps-1))); 137 //americanOption.setPricingEngine(new FDAmericanEngine(bsmProcess,timeSteps,timeSteps-1));137 americanOption.setPricingEngine(new FDAmericanEngine(bsmProcess,timeSteps,timeSteps-1)); 138 138 139 139 Console.Write("{0,-" + widths[0] + "}", method); trunk/QLNet/QLNet/Pricingengines/vanilla/FDAmericanEngine.cs
r160 r162 32 32 public class FDAmericanEngine : FDEngineAdapter<FDAmericanCondition<FDStepConditionEngine>, OneAssetOption.Engine, 33 33 OneAssetOption.Arguments, OneAssetOption.Results> { 34 public FDAmericanEngine(GeneralizedBlackScholesProcess process, int timeSteps, int gridPoints) 35 : this(process, timeSteps, gridPoints, false) { } 34 36 public FDAmericanEngine(GeneralizedBlackScholesProcess process, int timeSteps, int gridPoints, bool timeDependent) 35 37 : base(process, timeSteps, gridPoints, timeDependent) { } trunk/QLNet/QLNet/Pricingengines/vanilla/FDMultiPeriodEngine.cs
r161 r162 29 29 protected FiniteDifferenceModel<CrankNicolson<TridiagonalOperator>> model_; 30 30 31 public FDMultiPeriodEngine() { } // required for generics 31 // required for generics 32 public FDMultiPeriodEngine() { } 32 33 33 34 //protected FDMultiPeriodEngine(GeneralizedBlackScholesProcess process, trunk/QLNet/QLNet/Pricingengines/vanilla/FDStepConditionEngine.cs
r161 r162 31 31 // required for generics 32 32 public FDStepConditionEngine() { } 33 // required for template inheritance 34 public override FDVanillaEngine factory(GeneralizedBlackScholesProcess process, 35 int timeSteps, int gridPoints, bool timeDependent) { 36 return new FDStepConditionEngine(process, timeSteps, gridPoints, timeDependent); 37 } 33 38 34 39 //public FDStepConditionEngine(GeneralizedBlackScholesProcess process, int timeSteps, int gridPoints, trunk/QLNet/QLNet/Pricingengines/vanilla/FDVanillaEngine.cs
r161 r162 49 49 // required for generics and template iheritance 50 50 public FDVanillaEngine() { } 51 // this should be overridden in each deriving class using template iheritance in order to return a proper class to wrap 51 52 public virtual FDVanillaEngine factory(GeneralizedBlackScholesProcess process, 52 53 int timeSteps, int gridPoints, bool timeDependent) { … … 152 153 153 154 154 public class FDEngineAdapter<Base, Engine, ArgumentsType, ResultsType> : FDVanillaEngine 155 public class FDEngineAdapter<Base, Engine, ArgumentsType, ResultsType> 156 : FDVanillaEngine, IGenericEngine<ArgumentsType, ResultsType> 155 157 where Base : FDVanillaEngine, new() 156 158 where Engine : IGenericEngine<ArgumentsType, ResultsType> … … 167 169 } 168 170 169 p rotectedvoid calculate() {171 public void calculate() { 170 172 optionBase.setupArguments(arguments_); 171 173 optionBase.calculate(results_); trunk/QLNet/QLNet/Pricingengines/vanilla/fddividendengine.cs
r160 r162 25 25 //! Abstract base class for dividend engines 26 26 /*! \todo The dividend class really needs to be made more 27 sophisticated to distinguish between fixed dividends and 28 fractional dividends 27 sophisticated to distinguish between fixed dividends and fractional dividends 29 28 */ 30 29 public abstract class FDDividendEngineBase : FDMultiPeriodEngine {