add files

This commit is contained in:
ChiKyun Kim
2025-09-09 13:59:12 +09:00
parent e94b06888d
commit 747aabe224
791 changed files with 3888723 additions and 0 deletions

View File

@@ -0,0 +1,444 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2010 rel. 3 (x64) (http://www.altova.com) by Michael Edward Rose (OmniMarkets) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:include schemaLocation="types.xsd"/>
<xs:annotation>
<xs:documentation>Abstract base class</xs:documentation>
</xs:annotation>
<xs:complexType name="XsdCalendar" abstract="false">
<xs:annotation>
<xs:appinfo>REFERENCE+CONSTRUCT</xs:appinfo>
<xs:documentation>Holiday calendar</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdDataSchema">
<xs:choice minOccurs="0">
<xs:element name="composite" type="XslCompositeCalendar">
<xs:annotation>
<xs:documentation>Union of intersection of existing holiday calendars</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="dateList" type="XslDateListCalendar">
<xs:annotation>
<xs:documentation>List over hiolidays over date range</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="modified" type="XslModifiedCalendar">
<xs:annotation>
<xs:documentation>Modification of existing calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ruleBased" type="XslRuleBasedCalendar">
<xs:annotation>
<xs:documentation>Algorithmic calendars</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:attributeGroup ref="XsdCalendarGroup"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:annotation>
<xs:documentation>Derived classes</xs:documentation>
</xs:annotation>
<xs:complexType name="XslModifiedCalendar">
<xs:annotation>
<xs:appinfo>INSERT+CONSTRUCT</xs:appinfo>
<xs:documentation>Add/remove holidays from calendar</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="calendar" type="XsdCalendar">
<xs:annotation>
<xs:documentation>Underlying calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="add" type="XsdDateVector" minOccurs="0">
<xs:annotation>
<xs:documentation>Add new holidays</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="remove" type="XsdDateVector" minOccurs="0">
<xs:annotation>
<xs:documentation>Remove existing holidays</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="XslRuleBasedCalendar">
<xs:annotation>
<xs:appinfo>INSERT+CONSTRUCT</xs:appinfo>
<xs:documentation>Holiday algorithms</xs:documentation>
</xs:annotation>
<xs:choice>
<xs:element name="Argentina" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>Argentinian holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Australia" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>Australian holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Brazil" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>Brazilian holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Canada" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>Canadian holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="China" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>Chinese holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CzechRepublic" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>Czech holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Denmark" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>Danish holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ECB" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>ECB holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="England" type="XslUKCalendar">
<xs:annotation>
<xs:documentation>Great Britian holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Finland" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>Finnish holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Germany" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>German holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="HongKong" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>HongKong holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Hungary" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>Hungarian holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Iceland" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>Icelandic holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="India" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>Indian holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Indonesia" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>Indonesian holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Italy" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>Italian holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Japan" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>Japanese holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Mexico" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>Mexican holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="NewZealand" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>New Zealand holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Norway" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>Norwegian holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Poland" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>Polish holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Russia" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>Russian holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="SaudiArabia" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>Saudi holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Singapore" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>Singapore holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Slovakia" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>Slovakian holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="SouthAfrica" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>South African holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="SouthKorea" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>South Korean holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Sweden" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>Swsdish holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Switzerland" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>Swiss holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Taiwan" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>Taiwanese holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Turkey" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>Turkish holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Ukraine" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>Uknainian holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="UnitedStates" type="XslUSCalendar">
<xs:annotation>
<xs:documentation>USA holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="WeekendsOnly" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>Just what it says</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:complexType>
<xs:complexType name="XslDateListCalendar">
<xs:annotation>
<xs:appinfo>INSERT+CONSTRUCT</xs:appinfo>
<xs:documentation>List of holidays</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="bound" type="XsdDateBounds">
<xs:annotation>
<xs:documentation>Use first/last holiday if bound not specified </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="holiday" type="xs:date" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>List of holidays</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="weekend" type="XsdDayOfWeek" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Use Saturday and Sunday if not specified </xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="XslCompositeCalendar">
<xs:annotation>
<xs:appinfo>INSERT+CONSTRUCT</xs:appinfo>
<xs:documentation>Holidays in any calendar</xs:documentation>
</xs:annotation>
<xs:choice>
<xs:element name="intersection" type="XslCalendarList">
<xs:annotation>
<xs:documentation>Holidays in ALL of these calendars</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="union" type="XslCalendarList">
<xs:annotation>
<xs:documentation>Holidays in ANY of these calendars</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:complexType>
<xs:annotation>
<xs:documentation>Unit tests</xs:documentation>
</xs:annotation>
<xs:complexType name="XsdRollTest">
<xs:annotation>
<xs:appinfo>INSERT+CALCULATE</xs:appinfo>
<xs:documentation>Rolls dates to nearest business dates</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdCalculationSchema">
<xs:sequence minOccurs="0">
<xs:element name="result" type="XsdDateVectorResult" minOccurs="0">
<xs:annotation>
<xs:documentation>Returns a date list</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="range" type="XsdDateBounds">
<xs:annotation>
<xs:documentation>Date range to be rolled</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="roll" type="XsdRoll">
<xs:annotation>
<xs:documentation>Roll convention. Default: NONE</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="calendar" type="XsdCalendar">
<xs:annotation>
<xs:documentation>Holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdCalendarTest">
<xs:annotation>
<xs:appinfo>INSERT+CALCULATE</xs:appinfo>
<xs:documentation>Returns holidays between two dates</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdCalculationSchema">
<xs:sequence minOccurs="0">
<xs:element name="result" type="XsdDateVectorResult" minOccurs="0">
<xs:annotation>
<xs:documentation>Returns list of dates</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="range" type="XsdDateBounds">
<xs:annotation>
<xs:documentation>Date range (min/max)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="calendar" type="XsdCalendar">
<xs:annotation>
<xs:documentation>The holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="excludeWeekends" type="xs:boolean" default="true" minOccurs="0">
<xs:annotation>
<xs:documentation>Default: true </xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:annotation>
<xs:documentation>Enumerated types</xs:documentation>
</xs:annotation>
<xs:simpleType name="XsdUKCalendarType">
<xs:annotation>
<xs:documentation/>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="EXCHANGE"/>
<xs:enumeration value="METALS"/>
<xs:enumeration value="SETTLEMENT"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdUSCalendarType">
<xs:annotation>
<xs:documentation/>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="NERC"/>
<xs:enumeration value="NYSE"/>
<xs:enumeration value="GOVERNMENT_BOND"/>
<xs:enumeration value="SETTLEMENT"/>
</xs:restriction>
</xs:simpleType>
<xs:annotation>
<xs:documentation>Helper classes</xs:documentation>
</xs:annotation>
<xs:complexType name="XslCalendarList">
<xs:annotation>
<xs:documentation/>
</xs:annotation>
<xs:sequence minOccurs="2" maxOccurs="unbounded"><!-- -->
<xs:element name="calendar" type="XsdCalendar"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="XslUKCalendar">
<xs:attribute name="type" type="XsdUKCalendarType" default="SETTLEMENT">
<xs:annotation>
<xs:documentation>Default: SETTLEMENT</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="XslUSCalendar">
<xs:attribute name="type" type="XsdUSCalendarType" default="SETTLEMENT">
<xs:annotation>
<xs:documentation>Default: SETTLEMENT</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:annotation>
<xs:documentation>Configuration file </xs:documentation>
</xs:annotation>
<xs:complexType name="XsdCalendarConfig">
<xs:sequence>
<xs:element name="calendar" type="XsdCalendar" maxOccurs="unbounded">
<xs:unique name="CalendarName">
<xs:annotation>
<xs:documentation>Country/exchange combination must be unique</xs:documentation>
</xs:annotation>
<xs:selector xpath="."/>
<xs:field xpath="@country"/>
<xs:field xpath="@exchange"/>
</xs:unique>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:element name="xsdCalendarConfig" type="XsdCalendarConfig">
<xs:annotation>
<xs:documentation>List of holiday calendars</xs:documentation>
</xs:annotation>
</xs:element>
<xs:annotation>
<xs:documentation>Attributes</xs:documentation>
</xs:annotation>
<xs:attributeGroup name="XsdCalendarGroup">
<xs:attribute name="country" type="XsdCountry" use="optional">
<xs:annotation>
<xs:documentation>3-letter ISO code </xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="exchange" type="xs:string" use="optional">
<xs:annotation>
<xs:documentation>Country/exchange pairs must be unique</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:attributeGroup>
</xs:schema>

View File

@@ -0,0 +1,632 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2010 rel. 3 (http://www.altova.com) by Michael Edward Rose (OmniMarkets) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:include schemaLocation="../xsd-math/enums.xsd"/>
<xs:simpleType name="XsdAssetType">
<xs:annotation>
<xs:documentation>Asset classes</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="COMMODITY"/>
<xs:enumeration value="EQUIPMENT"/>
<xs:enumeration value="EQUITY"/>
<xs:enumeration value="BOND"/>
<xs:enumeration value="CAP_FLOOR"/>
<xs:enumeration value="DEFAULT_SWAP"/>
<xs:enumeration value="FORWARD"/>
<xs:enumeration value="FUTURES"/>
<xs:enumeration value="LEASE_POOL"/>
<xs:enumeration value="OPTION"/>
<xs:enumeration value="PORTFOLIO"/>
<xs:enumeration value="SWAP"/>
<xs:enumeration value="SWAP_LEG"/>
<xs:enumeration value="TRANCHE"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdAssetIdType">
<xs:annotation>
<xs:documentation>Asset identifiers</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="CUSIP"/>
<xs:enumeration value="ISIN"/>
<xs:enumeration value="SEDOL"/>
<xs:enumeration value="TICKER"/>
<xs:enumeration value="VALOR"/>
<xs:enumeration value="WKN"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdBalanceType">
<xs:annotation>
<xs:documentation>Current, original, etc.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="AVERAGE"/>
<xs:enumeration value="CURRENT"/>
<xs:enumeration value="ORIGINAL"/>
<xs:enumeration value="SCHEDULED"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdBalanceUnit">
<xs:annotation>
<xs:documentation>What is balance a fraction of?</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="AMOUNT"/>
<xs:enumeration value="ORIGINAL"/>
<xs:enumeration value="PAR"/>
<xs:enumeration value="SETTLEMENT"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdBarrierType">
<xs:annotation>
<xs:documentation>Option barriers ( down_and_out, etc. )</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="DOWN_AND_IN"/>
<xs:enumeration value="DOWN_AND_OUT"/>
<xs:enumeration value="UP_AND_IN"/>
<xs:enumeration value="UP_AND_OUT"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdCapFloorStyle">
<xs:annotation>
<xs:documentation>Cap, floor, or collar?</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="CAP"/>
<xs:enumeration value="FLOOR"/>
<xs:enumeration value="COLLAR"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdCashflowType">
<xs:annotation>
<xs:documentation>Expected, scenario, etc.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="FIXED"/>
<xs:enumeration value="FORECAST"/>
<xs:enumeration value="SCENARIO"/>
<xs:enumeration value="EXPECTED"/>
<xs:enumeration value="MERGED"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdCommodityType">
<xs:annotation>
<xs:documentation>Gas, oil, etc.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="CURRENCY"/>
<xs:enumeration value="ENERGY"/>
<xs:enumeration value="GAS"/>
<xs:enumeration value="GOLD"/>
<xs:enumeration value="OIL"/>
<xs:enumeration value="SILVER"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdCompoundingType">
<xs:annotation>
<xs:documentation>For interest-rate calculations</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="CONTINUOUS"/>
<xs:enumeration value="PERIODIC"/>
<xs:enumeration value="SIMPLE"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdConventionType">
<xs:restriction base="xs:string">
<xs:enumeration value="COMPOUND"/>
<xs:enumeration value="DELAY"/>
<xs:enumeration value="EX_DIVIDEND"/>
<xs:enumeration value="MATURITY"/>
<xs:enumeration value="NOTICE"/>
<xs:enumeration value="RESET"/>
<xs:enumeration value="SETTLEMENT"/>
<xs:enumeration value="STANDARD"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdCpiInterpolateRule">
<xs:restriction base="xs:string">
<xs:enumeration value="INDEX"/>
<xs:enumeration value="FLAT"/>
<xs:enumeration value="LINEAR"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdDateRule">
<xs:annotation>
<xs:documentation>Date generation rules</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="NONE"/>
<xs:enumeration value="BACKWARD"/>
<xs:enumeration value="CDS_NEW"/>
<xs:enumeration value="CDS_OLD"/>
<xs:enumeration value="FORWARD"/>
<xs:enumeration value="THIRD_WEDNESDAY"/>
<xs:enumeration value="TWENTIETH"/>
<xs:enumeration value="TWENTIETH_IMM"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdDayCountType">
<xs:annotation>
<xs:documentation>Basic X/Y day counts</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="30/ACTUAL"/>
<xs:enumeration value="30/360"/>
<xs:enumeration value="30/365"/>
<xs:enumeration value="ACTUAL/360"/>
<xs:enumeration value="ACTUAL/364"/>
<xs:enumeration value="ACTUAL/365"/>
<xs:enumeration value="ACTUAL/366"/>
<xs:enumeration value="ACTUAL/ACTUAL"/>
<xs:enumeration value="APPROXIMATE"/>
<xs:enumeration value="BUSINESS"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdDefaultAccrualType">
<xs:annotation>
<xs:documentation>How to handle accrual if default evant</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="NONE"/>
<xs:enumeration value="IMMEDIATE"/>
<xs:enumeration value="NEXT_COUPON_DATE"/>
<xs:enumeration value="MATURITY"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdDerivedIndexType">
<xs:restriction base="xs:string">
<xs:enumeration value="BOOLEAN"/>
<xs:enumeration value="COMPOSITE"/>
<xs:enumeration value="HYBRID"/>
<xs:enumeration value="LOGICAL"/>
<xs:enumeration value="PATHWISE"/>
<xs:enumeration value="RETURN"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdDividendType">
<xs:annotation>
<xs:documentation>Equity dividend types</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="AMOUNT"/>
<xs:enumeration value="FRACTION"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdEventType">
<xs:annotation>
<xs:documentation>Default, recovery, rating, etc. </xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="DEFAULT"/>
<xs:enumeration value="LEASE"/>
<xs:enumeration value="RATING"/>
<xs:enumeration value="RECOVERY"/>
<xs:enumeration value="UNKNOWN"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdExerciseType">
<xs:annotation>
<xs:documentation>American, Bermudan, or European</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="AMERICAN"/>
<xs:enumeration value="BERMUDAN"/>
<xs:enumeration value="EUROPEAN"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdExpressionType">
<xs:restriction base="xs:string">
<xs:enumeration value="BASKET"/>
<xs:enumeration value="CASHFLOW"/>
<xs:enumeration value="CURVE"/>
<xs:enumeration value="DATA"/>
<xs:enumeration value="EVENT"/>
<xs:enumeration value="LOGICAL"/>
<xs:enumeration value="MATH"/>
<xs:enumeration value="PATHWISE"/>
<xs:enumeration value="RANDOM"/>
<xs:enumeration value="RELATIONAL"/>
<xs:enumeration value="SOLVER"/>
<xs:enumeration value="UTILITY"/>
<xs:enumeration value="VALUE"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdForwardContractType">
<xs:restriction base="xs:string">
<xs:enumeration value="BOND_FORWARD"/>
<xs:enumeration value="EURODOLLAR_FUTURES"/>
<xs:enumeration value="FORWARD_RATE_AGREEMENT"/>
<xs:enumeration value="VARIANCE_SWAP"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdFrequency">
<xs:annotation>
<xs:documentation>Periodic frequency</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="BIWEEKLY"/>
<xs:enumeration value="BIMONTHLY"/>
<xs:enumeration value="CONTINUOUS"/>
<xs:enumeration value="DAILY"/>
<xs:enumeration value="WEEKLY"/>
<xs:enumeration value="MONTHLY"/>
<xs:enumeration value="NONE"/>
<xs:enumeration value="QUARTERLY"/>
<xs:enumeration value="SEMIANNUAL"/>
<xs:enumeration value="ANNUAL"/>
<xs:enumeration value="SIMPLE"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdIndexType">
<xs:annotation>
<xs:documentation>Rate,currency, etc.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:enumeration value="UNKNOWN"/>
<xs:enumeration value="BESPOKE"/>
<xs:enumeration value="COMMODITY"/>
<xs:enumeration value="COMPOSITE"/>
<xs:enumeration value="CONDITIONAL"/>
<xs:enumeration value="CREDIT"/>
<xs:enumeration value="CURRENCY"/>
<xs:enumeration value="CUSTOM"/>
<xs:enumeration value="EQUITY"/>
<xs:enumeration value="HYBRID"/>
<xs:enumeration value="INFLATION"/>
<xs:enumeration value="LOSS"/>
<xs:enumeration value="MACRO"/>
<xs:enumeration value="PATHWISE"/>
<xs:enumeration value="RATE"/>
<xs:enumeration value="RETURN"/>
<xs:enumeration value="VOLATILITY"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdInflationType">
<xs:annotation>
<xs:documentation>Zero-coupon, year-on-year, etc.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="UNKNOWN"/>
<xs:enumeration value="YEAR_ON_YEAR"/>
<xs:enumeration value="ZERO_COUPON"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdMaturityType">
<xs:annotation>
<xs:documentation>Fixed, variable, or perpetual?</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="FIXED"/>
<xs:enumeration value="PERPETUAL"/>
<xs:enumeration value="VARIABLE"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdObligorType">
<xs:annotation>
<xs:documentation>Corporate, government, etc.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="CORPORATE"/>
<xs:enumeration value="GOVERNMENT"/>
<xs:enumeration value="MUNICIPAL"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdOddCouponType">
<xs:annotation>
<xs:documentation>Long, short, or regular?</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="LONG"/>
<xs:enumeration value="REGULAR"/>
<xs:enumeration value="SHORT"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdOptionStyle">
<xs:annotation>
<xs:documentation>Call, put, or chooser option?</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="CALL"/>
<xs:enumeration value="CHOOSER"/>
<xs:enumeration value="PUT"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdOptionType">
<xs:annotation>
<xs:documentation>Coarse option classification</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="COMMODITY"/>
<xs:enumeration value="CREDIT"/>
<xs:enumeration value="CURRENCY"/>
<xs:enumeration value="EQUITY"/>
<xs:enumeration value="INFLATION"/>
<xs:enumeration value="RATE"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdPaymentFlag">
<xs:annotation>
<xs:documentation>Qualifiers</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="PROVISIONAL"/>
<xs:enumeration value="NOTIONAL"/>
<xs:enumeration value="SCHEDULED"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdPaymentType">
<xs:annotation>
<xs:documentation>Interest, Principal, etc.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="BALANCE"/>
<xs:enumeration value="DEFAULT"/>
<xs:enumeration value="EXPENSE"/>
<xs:enumeration value="INTEREST"/>
<xs:enumeration value="LEASERATE"/>
<xs:enumeration value="LOSS"/>
<xs:enumeration value="NOTIONAL"/>
<xs:enumeration value="PARVALUE"/>
<xs:enumeration value="PRINCIPAL"/>
<xs:enumeration value="RECOVERY"/>
<xs:enumeration value="RESIDUAL"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdPeriodic">
<xs:annotation>
<xs:documentation>Periodic frequency only</xs:documentation>
</xs:annotation>
<xs:restriction base="XsdFrequency"/>
</xs:simpleType>
<xs:simpleType name="XsdPeriodType">
<xs:restriction base="xs:string">
<xs:enumeration value="BOND"/>
<xs:enumeration value="NATIVE"/>
<xs:enumeration value="SWAP"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdPrincipalType">
<xs:annotation>
<xs:documentation>Principal amortization</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="AMOUNT"/>
<xs:enumeration value="NOTIONAL"/>
<xs:enumeration value="ORIGINAL"/>
<xs:enumeration value="PAR"/>
<xs:enumeration value="REMAINING"/>
<xs:enumeration value="SCHEDULED"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdPositionType">
<xs:annotation>
<xs:documentation>Long or short</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="LONG"/>
<xs:enumeration value="SHORT"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdQuoteType">
<xs:annotation>
<xs:documentation>How prices are quoted </xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="DISCOUNT"/>
<xs:enumeration value="DIVIDEND"/>
<xs:enumeration value="FRACTION"/>
<xs:enumeration value="PRICE"/>
<xs:enumeration value="RATE"/>
<xs:enumeration value="RATIO"/>
<xs:enumeration value="SPREAD"/>
<xs:enumeration value="UPFRONT"/>
<xs:enumeration value="VALUE"/>
<xs:enumeration value="VARIANCE"/>
<xs:enumeration value="VOLATILITY"/>
<xs:enumeration value="YIELD"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdRateCapType">
<xs:restriction base="xs:string">
<xs:enumeration value="BESPOKE"/>
<xs:enumeration value="INFLATION"/>
<xs:enumeration value="RATE"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdRateSwapType">
<xs:annotation>
<xs:documentation>Vanilla, OIS, CMS, etc.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="BMA_VS_LIBOR"/>
<xs:enumeration value="CONSTANT_MATURITY"/>
<xs:enumeration value="OVERNIGHT_INDEX"/>
<xs:enumeration value="VANILLA"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdReturnType">
<xs:annotation>
<xs:documentation>How to calculate returns</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="COMPOUND"/>
<xs:enumeration value="DIFFERENCE"/>
<xs:enumeration value="RATIO"/>
<xs:enumeration value="SIMPLE"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdRollType">
<xs:annotation>
<xs:documentation>Business date convention</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="BACKWARD"/>
<xs:enumeration value="FORWARD"/>
<xs:enumeration value="NONE"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdScheduleType">
<xs:annotation>
<xs:documentation>Coupon, dividend, etc.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="AMORTIZE"/>
<xs:enumeration value="BARRIER"/>
<xs:enumeration value="BESPOKE"/>
<xs:enumeration value="CALL"/>
<xs:enumeration value="CONVERT"/>
<xs:enumeration value="COUPON"/>
<xs:enumeration value="EXPRESSION"/>
<xs:enumeration value="PUT"/>
<xs:enumeration value="SINK"/>
<xs:enumeration value="UNKNOWN"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdSecurityType">
<xs:annotation>
<xs:documentation>Security classifier</xs:documentation>
</xs:annotation>
<xs:restriction base="XsdAssetType">
<xs:enumeration value="COMMODITY"/>
<xs:enumeration value="EQUITY"/>
<xs:enumeration value="BOND"/>
<xs:enumeration value="CAP_FLOOR"/>
<xs:enumeration value="DEFAULT_SWAP"/>
<xs:enumeration value="FORWARD"/>
<xs:enumeration value="FUTURES"/>
<xs:enumeration value="LEASE_POOL"/>
<xs:enumeration value="OPTION"/>
<xs:enumeration value="PORTFOLIO"/>
<xs:enumeration value="SWAP"/>
<xs:enumeration value="TRANCHE"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdSeniorityType">
<xs:annotation>
<xs:documentation>Payment priority on default</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="SENIOR_SECURED"/>
<xs:enumeration value="SENIOR_UNSECURED"/>
<xs:enumeration value="SUB_TIER1"/>
<xs:enumeration value="SUB_TIER2_LOWER"/>
<xs:enumeration value="SUB_TIER2_UPPER"/>
<xs:enumeration value="UNKNOWN"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdSettleType">
<xs:annotation>
<xs:documentation>Cash or physical delivery?</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="CASH"/>
<xs:enumeration value="PHYSICAL"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdSwapLegSide">
<xs:annotation>
<xs:documentation>Pay, receive, or net?</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="NET"/>
<xs:enumeration value="PAY"/>
<xs:enumeration value="RECEIVE"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdSwapLegType">
<xs:annotation>
<xs:documentation>Swap leg classification</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="ASSET"/>
<xs:enumeration value="BESPOKE"/>
<xs:enumeration value="FIXED_RATE"/>
<xs:enumeration value="FLOATING_RATE"/>
<xs:enumeration value="INFLATION"/>
<xs:enumeration value="ZERO_COUPON"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdSwapType">
<xs:restriction base="xs:string">
<xs:enumeration value="ASSET"/>
<xs:enumeration value="BESPOKE"/>
<xs:enumeration value="COMMODITY"/>
<xs:enumeration value="CURRENCY"/>
<xs:enumeration value="GENERAL"/>
<xs:enumeration value="INDEX"/>
<xs:enumeration value="INFLATION"/>
<xs:enumeration value="RATE"/>
<xs:enumeration value="VARIANCE"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdSpreadType">
<xs:annotation>
<xs:documentation>Bond spread types</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="OPTION_ADJUSTED"/>
<xs:enumeration value="ZERO_VOLATILITY"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdTermStructureType">
<xs:annotation>
<xs:documentation>Term structure types</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="COMMODITY"/>
<xs:enumeration value="CORRELATION"/>
<xs:enumeration value="CURRENCY"/>
<xs:enumeration value="DISCOUNT"/>
<xs:enumeration value="HAZARD"/>
<xs:enumeration value="INFLATION"/>
<xs:enumeration value="LOSS"/>
<xs:enumeration value="VOLATILITY"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdValueType">
<xs:annotation>
<xs:documentation>Forward, present, or horizon value </xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="FORWARD"/>
<xs:enumeration value="HORIZON"/>
<xs:enumeration value="PRESENT"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdYieldType">
<xs:annotation>
<xs:documentation>Bond yield types</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="MATURITY"/>
<xs:enumeration value="CALL"/>
<xs:enumeration value="WORST"/>
<xs:enumeration value="CASHFLOW"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>

View File

@@ -0,0 +1,124 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2010 rel. 3 (http://www.altova.com) by Michael Edward Rose (OmniMarkets) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:include schemaLocation="enums.xsd"/>
<xs:include schemaLocation="../xsd-math/types.xsd"/>
<xs:complexType name="XsdAggregate">
<xs:annotation>
<xs:documentation>Aggregate multiple indexes, prices, etc. </xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="method" type="XsdAggregateType" default="TOTAL" minOccurs="0">
<xs:annotation>
<xs:documentation>Default: TOTAL</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="average" type="XsdAverageType" default="ARITHMETIC" minOccurs="0">
<xs:annotation>
<xs:documentation>Default: ARITHMETIC</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="decile" type="XsdProbability" default="0.50" minOccurs="0">
<xs:annotation>
<xs:documentation>Default: 0.50</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="range" type="XsdSizeBounds" minOccurs="0">
<xs:annotation>
<xs:documentation>Restricted range</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="XsdCompounding">
<xs:simpleContent>
<xs:extension base="XsdCompoundingType">
<xs:attribute name="frequency" type="XsdPeriodic" default="NONE">
<xs:annotation>
<xs:documentation>Periodic compounding only</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="XsdIndex" abstract="false">
<xs:annotation>
<xs:appinfo>REFERENCE+CONSTRUCT</xs:appinfo>
<xs:documentation>Reference-only base index schema. This supports "simple" indexes that represent a time series of financial data and "derived" indexes that combine several simple indexs. </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdDataSchema"/>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdMaturity">
<xs:annotation>
<xs:documentation>Date or duration</xs:documentation>
</xs:annotation>
<xs:choice minOccurs="0">
<xs:element name="date" type="XsdDate">
<xs:annotation>
<xs:documentation>Actual date</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="tenor" type="XsdTenor">
<xs:annotation>
<xs:documentation>Offset from issue or trade date</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="IMM" type="xs:string">
<xs:annotation>
<xs:documentation>IMM date code</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:complexType>
<xs:complexType name="XsdOddCouponTypes">
<xs:sequence>
<xs:element name="first" type="XsdOddCouponType" default="REGULAR" minOccurs="0">
<xs:annotation>
<xs:documentation>Default: REGULAR</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="last" type="XsdOddCouponType" default="REGULAR" minOccurs="0">
<xs:annotation>
<xs:documentation>Default: REGULAR</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="XsdOddCoupon">
<xs:annotation>
<xs:documentation>Odd first/last coupons</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="first" type="XsdDate" minOccurs="0">
<xs:annotation>
<xs:documentation>First coupon</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="last" type="XsdDate" minOccurs="0">
<xs:annotation>
<xs:documentation>Last coupon</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="XsdRoll">
<xs:simpleContent>
<xs:extension base="XsdRollType">
<xs:attribute name="modified" type="xs:boolean" default="false">
<xs:annotation>
<xs:documentation>Default: false</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="nearest" type="xs:boolean" default="false">
<xs:annotation>
<xs:documentation>Default: false</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attributeGroup ref="XsdEnumVariableGroup"/>
<xs:attributeGroup ref="XsdValueAttributes"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:schema>