Details

    • Type: New Feature New Feature
    • Status: Reopened
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: 4.0
    • Labels:
      None

      Description

      Quite simple Monte-Carlo engine:

      1. Generates N samples (paths) of Ito process with given drift and
      diffusion. It uses simple Euler discretization on equally spaced time scale.
      2. For each path evaluate some path function and provide this value to
      SummaryStatistics.

      1. mc1.patch
        29 kB
        Pavel Ryzhov

        Activity

        Pavel Ryzhov created issue -
        Hide
        Pavel Ryzhov added a comment -

        The initial implementation of Monte-Carlo engine.

        Show
        Pavel Ryzhov added a comment - The initial implementation of Monte-Carlo engine.
        Pavel Ryzhov made changes -
        Field Original Value New Value
        Attachment mc1.patch [ 12466974 ]
        Hide
        Phil Steitz added a comment -

        I like the ideas here; but the design needs some discussion and the new classes can be added without compat breaks, so pushing to 3.1

        Show
        Phil Steitz added a comment - I like the ideas here; but the design needs some discussion and the new classes can be added without compat breaks, so pushing to 3.1
        Phil Steitz made changes -
        Fix Version/s 3.1 [ 12317576 ]
        Fix Version/s 3.0 [ 12314824 ]
        Hide
        Pavel Ryzhov added a comment -

        The patch is quite old. The code has been used quite heavily by me and evolved. But anyway as I'm the only developer and user of code I would love to see discussion of the design. Just to find out my pitfalls in the design.

        So, I'm going to re-integrate it back into Commons Math hopefully at the end of week or during the next week.

        Show
        Pavel Ryzhov added a comment - The patch is quite old. The code has been used quite heavily by me and evolved. But anyway as I'm the only developer and user of code I would love to see discussion of the design. Just to find out my pitfalls in the design. So, I'm going to re-integrate it back into Commons Math hopefully at the end of week or during the next week.
        Hide
        Pavel Ryzhov added a comment -

        As the patch is one year old, I've got no time to reintegrate the patch and the engine itself is a quite isolated part of commons math library, I decided to publish it separately on google code hosting licensed under Apache License 2.0: http://code.google.com/p/montecarlo-java/

        There are few task left for the engine to be complete from my internal point of view:
        1. Remove colt dependency and substitute it with commons math matrix functionality.
        2. Make a coverage-guided unit-testing. Commonly used functionality is tested in the internal product but whole the functionality has not been properly tested yet.
        3. Documentation clean-up.

        I would like to see this library integrated back into Commons Math some days but it is not of my priority right now.

        Show
        Pavel Ryzhov added a comment - As the patch is one year old, I've got no time to reintegrate the patch and the engine itself is a quite isolated part of commons math library, I decided to publish it separately on google code hosting licensed under Apache License 2.0: http://code.google.com/p/montecarlo-java/ There are few task left for the engine to be complete from my internal point of view: 1. Remove colt dependency and substitute it with commons math matrix functionality. 2. Make a coverage-guided unit-testing. Commonly used functionality is tested in the internal product but whole the functionality has not been properly tested yet. 3. Documentation clean-up. I would like to see this library integrated back into Commons Math some days but it is not of my priority right now.
        Hide
        Gilles added a comment -

        Closing, since no update is expected in the short term, as per the last comment from the reporter (and sole contributor of the code).

        Show
        Gilles added a comment - Closing, since no update is expected in the short term, as per the last comment from the reporter (and sole contributor of the code).
        Gilles made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Fix Version/s 3.1 [ 12317576 ]
        Resolution Incomplete [ 4 ]
        Hide
        Thomas Neidhart added a comment -

        Reopened as this would be a nice addition, and the code is availabe on google code.

        Show
        Thomas Neidhart added a comment - Reopened as this would be a nice addition, and the code is availabe on google code.
        Thomas Neidhart made changes -
        Resolution Incomplete [ 4 ]
        Status Resolved [ 5 ] Reopened [ 4 ]
        Hide
        Pavel Ryzhov added a comment -

        Just to say that it was moved to GitHub: https://github.com/paulrzcz/montecarlo

        Show
        Pavel Ryzhov added a comment - Just to say that it was moved to GitHub: https://github.com/paulrzcz/montecarlo
        Hide
        Thomas Neidhart added a comment -

        Thanks for the pointer, I have already taken a look at the code, but will need more time to evaluate it.

        btw. CM has now also a Sobol sequence generator, see MATH-826.

        Show
        Thomas Neidhart added a comment - Thanks for the pointer, I have already taken a look at the code, but will need more time to evaluate it. btw. CM has now also a Sobol sequence generator, see MATH-826 .
        Hide
        Thomas Neidhart added a comment -

        Hi Pavel,

        on the github repo, could you add an appropriate license header (Apache) to the source files and / or add a LICENSE.txt that clearly indicates under which license this code is made available?

        Thanks,

        Thomas

        Show
        Thomas Neidhart added a comment - Hi Pavel, on the github repo, could you add an appropriate license header (Apache) to the source files and / or add a LICENSE.txt that clearly indicates under which license this code is made available? Thanks, Thomas
        Hide
        Pavel Ryzhov added a comment -

        Hi Thomas,

        Thank you for getting this library into Common Math. I've added LICENSE.txt and a disclaimer into readme.md.

        Though Sobol sequence generator has been adapted from jQuantLib and thus it is under GPLv2. I think that it might be interchanged easily as the adaptation involved BitsStreamGenerator interface implementation.

        And I think that BrownianBridge has been extracted from QuantLib library as I needed this functionality very quickly.

        Regards,
        Pavel

        Show
        Pavel Ryzhov added a comment - Hi Thomas, Thank you for getting this library into Common Math. I've added LICENSE.txt and a disclaimer into readme.md. Though Sobol sequence generator has been adapted from jQuantLib and thus it is under GPLv2. I think that it might be interchanged easily as the adaptation involved BitsStreamGenerator interface implementation. And I think that BrownianBridge has been extracted from QuantLib library as I needed this functionality very quickly. Regards, Pavel
        Thomas Neidhart made changes -
        Assignee Thomas Neidhart [ tn ]
        Thomas Neidhart made changes -
        Fix Version/s 4.0 [ 12317577 ]

          People

          • Assignee:
            Thomas Neidhart
            Reporter:
            Pavel Ryzhov
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:

              Development