An open API service indexing awesome lists of open source software.

https://github.com/slachiewicz/fpml-toolkit2


https://github.com/slachiewicz/fpml-toolkit2

Last synced: 11 months ago
JSON representation

Awesome Lists containing this project

README

          

HandCoded Toolkit for Java - Release Notes





Toolkit for FpML Processing

Java Open Source Release 1.8.1



November, 2015



Copyright (C),2006-2015 HandCoded Software Ltd.

All rights reserved.





Introduction



This document accompanies Java 1.8.1 release of the 'HandCoded Toolkit for FpML Processing'
and describes the contents of the release area. The source code for this release
is not included but is available from the SVN repository on SourceForge.



License



This toolkit is distributed under the terms if the 'Open Source License "OSL" 
Version 3.0'. A full copy of the license terms is included in the repository (click
here to access) and must be distributed
along with this file if you distribute this code to other parties.



Directory Structure



The ZIP file that contained this release expands into a number of files and sub-directories.
The following briefly describes the purpose of each.



  • readme.html (The file you are reading)

  • license.txt



    A copy of the license terms under which the toolkit is distributed.

  • handcoded.jar



    This file contains all compiled Java class files for the toolkit and its demonstration
    applications.

  • Validate*.bat



    Running these files will execute a simple batch validation of a selection of FpML
    examples. Some of the example file distributed with FpML contain some mistakes and
    will output error messages.

  • Classify*.bat



    Running these files will execute a simple program that uses the classification tools
    within the toolkit to identify the financial product within the example files.

  • files-core & files-fpml


    Contains an XML catalog file (and its associated schema) used to resolve DTD system
    identifiers/schema namespace URIs to physical file locations and the business rule
    configuration file.

    • schemas



      Contains a subdirectory for each version of the FpML as well as the schema for digital
      signatures.

    • data



      A set of XML data files containing the scheme code values defined by FpML for each
      release and a set of additional definitions for currency and country codes.

    • examples



      A copy of the FpML example file for each schema release. Some may contain mistakes
      as many have not been properly validated.

    • test-cases



      A copy of the FpML validation test files for both valid and invalid case. It is
      important to note some valid test cases still generate errors, just not the one
      they are supposed to test.



  • lib



    Contains a copy of the Xerces JAR images used by the example application. See the
    associated readme.txt file for version information.



Example Applications



The toolkit is accompanied by some simple test scripts that demonstrates its functionality
and performance.



Validation



The validation scripts (e.g. Validate5-9.bat, etc.) use a simple application (implemented
as the class demo.com.handcoded.fpml.Validate) to process one or more XML files.
Running one of the example batch files will process a small selection of FpML examples
displaying the results to the screen.



At the end of the run the program calculates the average processing time for
each file and displays the number of rules tested against each file as shown below.


>> files-fpml\examples\fpml5-9\confirmation\products\securities\sec-ex001-trade-execution-future.xml

>> files-fpml\examples\fpml5-9\confirmation\products\securities\sec-ex002-trade-execution-exchange-traded-option.xml
>> files-fpml\examples\fpml5-9\confirmation\products\variance-swaps\eqvs-ex01-variance-swap-index.xml
>> files-fpml\examples\fpml5-9\confirmation\products\variance-swaps\eqvs-ex02-variance-swap-single-stock.xml
>> files-fpml\examples\fpml5-9\confirmation\products\variance-swaps\eqvs-ex03-conditional-variance-swap.xml
>> files-fpml\examples\fpml5-9\confirmation\products\variance-swaps\eqvs-ex04-dispersion-variance-swap.xml
>> files-fpml\examples\fpml5-9\confirmation\products\variance-swaps\eqvs-ex05-dispersion-variance-swap-transaction-supplement.xml
>> files-fpml\examples\fpml5-9\confirmation\products\variance-swaps\eqvs-ex06-variance-option-transaction-supplement.xml
>> files-fpml\examples\fpml5-9\confirmation\products\volatility-swaps\eqvls-ex01-volatility-swap-index-matrix.xml
scheme-31 /requestConfirmation/trade/documentation/masterAgreement/masterAgreementType An unrecognized scheme URI has been used as a qualifier [http://dtcc.com/coding-scheme/master-agreement-type]
>> files-fpml\examples\fpml5-9\confirmation\products\volatility-swaps\eqvls-ex02-volatility-swap-index-mca.xml
== Processed 454 files in 1812 milliseconds
== 250.55187637969095 files/sec checking 480 rules


The application responds to a number of command line options and can be configured
to test the FpML defined rules (e.g. excludes HandCoded rules including scheme value
checking) or to use a more streamlined XML parsing technique that only supports
schema based instances from FpML 4.0 or later. The default configuration is to process
both DTD and schema based instances which is less efficient.



Futures releases will add further demonstration applications.



Support



If you find a problem using toolkit then please use the forum and bug reporting
facilities on the SourceForge
project
site to record the issue.



Change History



Changes in 1.1:



  • Support for FpML 4.3 LCWD and 4.4 WD

  • Toolkit supports full ISO date/time/dateTime types with time zone offsets.



Changes in 1.2:



  • Support for FpML 4.4 and 5.0 WD

  • File based configuration for business rules.

  • The NodeIndex class has been enhanced to understand schema type information and
    inheritance by extension/restriction to make it easier to file matching elements.

  • Additional business rule sets for FX, Business Process, Pricing/Risk and references

  • Additional scheme support (including canonical scheme URI changes) 



Changes in 1.3:



  • Support for FpML 4.5 and 4.6

  • Numerous little fixes



Changes in 1.4:



  • Support for FpML 4.7 and 5.0 LCWD

  • File handling updated to allow schemas to be within a JAR file for web applications.



Changes in 1.5:



  • Support for FpML 4.8, 4.9 and 5.1

  • Release meta data has been moved from Java code into an XML data file

  • The Java and C# rule sets have been partially resynchronised.



Changes in 1.5.2:



  • Support for FpML 5.2 and 5.3

  • Classification has been removed from the open source version of the toolkit.



Changes in 1.6:



  • Resynchronisation with the C# code base.

  • Lots of improvements to the rules and test files.



Changes in 1.6.2:



  • Support for FpML 5.4

  • A configuration file has been added to define the default schema set for applications.



Changes in 1.7:



  • FpML 5.4 materials updated

  • The scheme rule set has been extended to cover more code values.

  • The rule sets for Java and C# have been synchronised.

  • The download ZIP is now password protected. The password is available after registration.



Changes in 1.7.1:



  • FpML 5.4 materials updated and 5.5 added



Changes in 1.7.2:



  • FpML 5.5 materials updated and a few minor rule fixes.



Changes in 1.7.3:



  • All of the FpML 5.1 thru 5.6 materials have been refreshed with the latest
    public files.

  • Some internal changes have been made to allow 4.9 to 5.x document conversion to be
    added in a future release.



Changes in 1.8:



  • The materials for FpML 5.6 have been refreshed and versions 5.7 and 5.8 have
    been added.

  • Some new methods have been added to the class library to support other
    HandCoded developments and a number of typos have been fixed.

  • A new experimental trunk area has been added to the repository to allow the code
    to be exported as Maven style Java project. SVN externals are used to
    build the Maven directory structure without duplicating the code base.

  • XInclude is enabled while loading schema meta-data so each schema can
    have its data in a separate file.



Changes in 1.8.1:



  • The materials for FpML 5.9 have been added.