<?xml version = "1.0" encoding = "UTF-8"?>
<!--Generated by Turbo XML 2.3.1.100. Conforms to w3c http://www.w3.org/2001/XMLSchema-->
<xsd:schema xmlns:xsd = "http://www.w3.org/2001/XMLSchema"
	 elementFormDefault = "qualified">
	<xsd:element name = "FpML">
		<xsd:annotation>
			<xsd:documentation>Root FpML element, extended to show valuation elements.  (Simplifies representation of messaging, omits schemeDefaults for clarity).</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref = "header" minOccurs = "0"/>
				<xsd:element ref = "trade" minOccurs = "0" maxOccurs = "unbounded"/>
				<xsd:element ref = "party" minOccurs = "0" maxOccurs = "unbounded"/>
				<xsd:element name = "portfolio" minOccurs = "0" maxOccurs = "unbounded">
					<xsd:complexType>
						<xsd:simpleContent>
							<xsd:restriction base = "Portfolio">
								<xsd:attribute name = "id" type = "xsd:ID"/>
							</xsd:restriction>
						</xsd:simpleContent>
					</xsd:complexType>
				</xsd:element>
				<xsd:element ref = "marketEnvironment" minOccurs = "0" maxOccurs = "unbounded"/>
				<xsd:element ref = "modelEnvironment" minOccurs = "0" maxOccurs = "unbounded"/>
				<xsd:element ref = "valuationReport" minOccurs = "0" maxOccurs = "unbounded"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "header" type = "xsd:string">
		<xsd:annotation>
			<xsd:documentation>FpML 4.0 message header - not expanded</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name = "trade">
		<xsd:annotation>
			<xsd:documentation>FpML trade - not expanded</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:attribute name = "id" type = "xsd:ID"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "party">
		<xsd:annotation>
			<xsd:documentation>FpML party element - not expanded</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:simpleContent>
				<xsd:extension base = "xsd:string">
					<xsd:attribute name = "id" type = "xsd:ID"/>
				</xsd:extension>
			</xsd:simpleContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "marketEnvironment">
		<xsd:annotation>
			<xsd:documentation>Holds the market observables (prices etc) required to price the derivative instrument.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base = "MarketEnvironment">
					<xsd:attribute name = "id" type = "xsd:ID"/>
				</xsd:extension>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "modelEnvironment">
		<xsd:annotation>
			<xsd:documentation>Holds the model state generated in order to price a derivative instrument, including information about the random number used (if any),
 the scenarios generated (e.g. paths, tree slices),
and the statistical properties of the result.
			
			
			
			
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref = "name" minOccurs = "0"/>
				<xsd:element name = "marketEnvironmentReference" minOccurs = "0">
					<xsd:annotation>
						<xsd:documentation>reference to the market environment</xsd:documentation>
					</xsd:annotation>
					<xsd:complexType>
						<xsd:attribute name = "href" type = "xsd:IDREF"/>
					</xsd:complexType>
				</xsd:element>
				<xsd:element name = "calibrationPortfolio" type = "CalibrationPortfolio" minOccurs = "0"/>
				<xsd:element ref = "randomFieldEnvironment" minOccurs = "0"/>
				<xsd:element ref = "valuationEnvironment" minOccurs = "0"/>
				<xsd:element name = "statisticalEnvironment" type = "xsd:string" minOccurs = "0"/>
			</xsd:sequence>
			<xsd:attribute name = "id" type = "xsd:ID"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "valuationReport">
		<xsd:annotation>
			<xsd:documentation>Holds valuation and risk reports</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref = "name" minOccurs = "0"/>
				<xsd:element name = "portfolioRef" type = "xsd:string" minOccurs = "0"/>
				<xsd:element ref = "valuation" minOccurs = "0" maxOccurs = "unbounded"/>
				<xsd:element name = "sensitivityReport" type = "SensitivityReport" minOccurs = "0" maxOccurs = "unbounded"/>
				<xsd:element ref = "marketEnvironmenttReference" minOccurs = "0" maxOccurs = "unbounded"/>
				<xsd:element ref = "modelEnvironmentReference" minOccurs = "0" maxOccurs = "unbounded"/>
			</xsd:sequence>
			<xsd:attribute name = "id" type = "xsd:ID"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "valuation">
		<xsd:annotation>
			<xsd:documentation>Net present value of a trade ... name selected to avoid conflict with FpML 4.0 EQS "valuation" element ... issue to be resolved.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref = "receiverPartyReference"/>
				<xsd:element ref = "payerPartyReference" minOccurs = "0"/>
				<xsd:element ref = "currency"/>
				<xsd:element name = "npv" type = "xsd:decimal"/>
				<xsd:element name = "cashflow" type = "xsd:double" minOccurs = "0"/>
				<xsd:element ref = "valDate"/>
				<xsd:element name = "tradeReference" minOccurs = "0">
					<xsd:complexType>
						<xsd:attribute name = "href" type = "xsd:IDREF"/>
					</xsd:complexType>
				</xsd:element>
				<xsd:element ref = "npvSide"/>
				<xsd:element ref = "valueMethod" minOccurs = "0"/>
			</xsd:sequence>
			<xsd:attribute name = "href" type = "xsd:IDREF"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "sensitivity">
		<xsd:annotation>
			<xsd:documentation>holds the change in value of a trade or portfolio with respect to a given input.  The href can be used to identify the specific input if it comes from an market environment.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:simpleContent>
				<xsd:extension base = "xsd:double">
					<xsd:attribute name = "href" type = "xsd:IDREF"/>
				</xsd:extension>
			</xsd:simpleContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "valuationEnvironment">
		<xsd:annotation>
			<xsd:documentation>The collection of scenarios used to price an instrument. </xsd:documentation>
		</xsd:annotation>
		<xsd:complexType/>
	</xsd:element>
	<xsd:element name = "randomFieldEnvironment">
		<xsd:annotation>
			<xsd:documentation>information about the random field used in a MC simulation</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType/>
	</xsd:element>
	<xsd:element name = "yieldCurve" substitutionGroup = "assetForecastModel">
		<xsd:annotation>
			<xsd:documentation>A collection of information used to discount cashflows and forecast interest rates, based on market prices of instruments.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base = "AssetForecastModel">
					<xsd:sequence>
						<xsd:element name = "dayCount" type = "xsd:string"/>
						<xsd:element name = "curveType" type = "CurveType" minOccurs = "0"/>
						<xsd:element name = "underlyingCurve" type = "CurveReference" minOccurs = "0"/>
						<xsd:element name = "basisCurve" type = "CurveReference" minOccurs = "0"/>
						<xsd:element ref = "yieldCurveInputs" minOccurs = "0"/>
						<xsd:element ref = "discountCurve" minOccurs = "0"/>
						<xsd:element ref = "forecastCurve" minOccurs = "0" maxOccurs = "unbounded"/>
					</xsd:sequence>
				</xsd:extension>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "ycInput">
		<xsd:annotation>
			<xsd:documentation>An input point on a yield curve ... a simple instrument price plus possibly an adjustment.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base = "InstrumentPrice">
					<xsd:sequence>
						<xsd:element ref = "priceAdjustment" minOccurs = "0"/>
					</xsd:sequence>
				</xsd:extension>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "discountCurve">
		<xsd:annotation>
			<xsd:documentation>curve of discount factors, used for discounting cash flows to the present  ("PVing").  Generated using a curve bootstrapping algorithm from the ycInput points.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name = "df" type = "Df" minOccurs = "0" maxOccurs = "unbounded"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "forecastCurve">
		<xsd:annotation>
			<xsd:documentation>curve used for forecasting the values of a particular tenor of interest rate; easily derivable from the zero curve.  
Forwards are interest rates, typically but not necessarily between 0.0% and a few tens of %.
			
			
			
			
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref = "tenor"/>
				<xsd:element name = "fwdPt" type = "ForwardPoint" maxOccurs = "unbounded"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "volatilitySurface">
		<xsd:annotation>
			<xsd:documentation>A collection of information used to estimate volatility of a particular asset</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base = "AssetVolatilityModel">
					<xsd:sequence>
						<xsd:element ref = "volatilityPoint" maxOccurs = "unbounded"/>
					</xsd:sequence>
				</xsd:extension>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "price" type = "xsd:double">
		<xsd:annotation>
			<xsd:documentation>A price of a simple instrument</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name = "exchangeRate">
		<xsd:annotation>
			<xsd:documentation>FX rate, from FpML definitions, not expanded</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType/>
	</xsd:element>
	<xsd:element name = "name" type = "xsd:string">
		<xsd:annotation>
			<xsd:documentation>Used to hold an identifier for a variety of elements</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name = "currency" type = "xsd:string">
		<xsd:annotation>
			<xsd:documentation>from FpML definitions ... not expanded</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name = "receiverPartyReference">
		<xsd:annotation>
			<xsd:documentation>The party from whose point of view the trade is valued</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:attribute name = "href" type = "xsd:IDREF"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "payerPartyReference">
		<xsd:annotation>
			<xsd:documentation>who is paying the NPV</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:attribute name = "href" type = "xsd:IDREF"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "amount" type = "xsd:decimal">
		<xsd:annotation>
			<xsd:documentation>typically the currency or BP amount</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name = "valDate" type = "xsd:date">
		<xsd:annotation>
			<xsd:documentation>value date, used as part of the npv structure</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name = "valueMethod" type = "xsd:string">
		<xsd:annotation>
			<xsd:documentation>how the price was determined, e.g. model, dealer quote, estimate, etc.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name = "valueSource" type = "xsd:string">
		<xsd:annotation>
			<xsd:documentation>where the value was obtained, e.g. system, etc. (may be the same as valueMethod)</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:complexType name = "InstrumentPrice">
		<xsd:annotation>
			<xsd:documentation>A complex type defining the combination of a generic instrument and its price</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref = "underlyingAsset"/>
			<xsd:element ref = "price"/>
			<xsd:element ref = "priceUnits"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:element name = "volatilityPoint">
		<xsd:annotation>
			<xsd:documentation>volatility point ... a single value for an estimate of volatility at a given expiration, for a given strike and tenor of underlyer.  
For simplicity, expiration term and tenor are given in years on a 30/360 basis, so 3M = 90D is given as 0.25.  
Indexes are given as attributes rather than as data elements (contrary to the usual FpML convention) because they are primarily
identifying information rather than data content, and for compactness.
			
			
			
			
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:simpleContent>
				<xsd:extension base = "xsd:double">
					<xsd:attribute name = "id" type = "xsd:ID"/>
					<xsd:attribute name = "tenor" type = "xsd:double"/>
					<xsd:attribute name = "strike" type = "xsd:double"/>
					<xsd:attribute name = "expTerm" type = "xsd:string"/>
				</xsd:extension>
			</xsd:simpleContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "dayCountFraction" type = "xsd:string">
		<xsd:annotation>
			<xsd:documentation>from FpML definitions ... not expanded</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name = "floatingRateIndex" type = "xsd:string">
		<xsd:annotation>
			<xsd:documentation>from standard FpML definitions</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name = "yieldCurveInputs">
		<xsd:annotation>
			<xsd:documentation>Instrument prices and adjustment factors used to price a curve ... TBD: what about other inputs, like smoothing algorithms/factors, etc.?</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref = "ycInput" maxOccurs = "unbounded"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "npvSide">
		<xsd:annotation>
			<xsd:documentation>Side used for NPV ... i.e. bid, ask, or mid</xsd:documentation>
		</xsd:annotation>
		<xsd:simpleType>
			<xsd:restriction base = "xsd:string">
				<xsd:enumeration value = "bid"/>
				<xsd:enumeration value = "mid"/>
				<xsd:enumeration value = "ask"/>
			</xsd:restriction>
		</xsd:simpleType>
	</xsd:element>
	<xsd:element name = "tenor" type = "Interval">
		<xsd:annotation>
			<xsd:documentation>the term of an instrument or underlying period of an option.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name = "period" type = "xsd:string">
		<xsd:annotation>
			<xsd:documentation>FpML period element, e.g. "M" for month</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name = "periodMultiplier" type = "xsd:integer">
		<xsd:annotation>
			<xsd:documentation>FpML element ... number of periods </xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name = "priceAdjustment" type = "xsd:string"/>
	<xsd:element name = "priceAdjAmount" type = "xsd:double">
		<xsd:annotation>
			<xsd:documentation>Amount of Price adjustment used in yield curve construction</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name = "priceAdjType">
		<xsd:annotation>
			<xsd:documentation>type of a price adjustment </xsd:documentation>
		</xsd:annotation>
		<xsd:simpleType>
			<xsd:restriction base = "xsd:string">
				<xsd:enumeration value = "convexity"/>
				<xsd:enumeration value = "swapSpread"/>
			</xsd:restriction>
		</xsd:simpleType>
	</xsd:element>
	<xsd:element name = "priceAdjUnits" type = "PriceUnit">
		<xsd:annotation>
			<xsd:documentation>Units of price adjustment used in YC construction</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:simpleType name = "PriceUnit">
		<xsd:annotation>
			<xsd:documentation>Unit for recording prices</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base = "xsd:string"/>
	</xsd:simpleType>
	<xsd:simpleType name = "CurveType">
		<xsd:restriction base = "xsd:string">
			<xsd:enumeration value = "simple"/>
			<xsd:enumeration value = "spread"/>
			<xsd:enumeration value = "basis"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:element name = "matDate" type = "xsd:date">
		<xsd:annotation>
			<xsd:documentation>maturity date of a simple instrument </xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name = "coupon" type = "xsd:decimal">
		<xsd:annotation>
			<xsd:documentation>fixed rate paid by a bond or similar instrument</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name = "strike" type = "xsd:double">
		<xsd:annotation>
			<xsd:documentation>the strike (exercise price) of an option</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name = "startDate" type = "xsd:date">
		<xsd:annotation>
			<xsd:documentation>start date of a simple FRA</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name = "expiration" type = "xsd:double">
		<xsd:annotation>
			<xsd:documentation>expiration of an option, expressed in years, 30/360 basis, for simplicity.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name = "priceUnits" type = "PriceUnit">
		<xsd:annotation>
			<xsd:documentation>units for quoting a price, e.g. bp</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name = "valuedAssetRef">
		<xsd:annotation>
			<xsd:documentation>The asset (e.g. trade or portfolio) that is valued in a valuation report.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:attribute name = "href" type = "xsd:IDREF"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "marketEnvironmenttReference">
		<xsd:complexType>
			<xsd:attribute name = "href" type = "xsd:IDREF"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "modelEnvironmentReference">
		<xsd:annotation>
			<xsd:documentation>reference to the model environment used to generate a price</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:attribute name = "href" type = "xsd:IDREF"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:complexType name = "AssetForecastModel">
		<xsd:sequence>
			<xsd:element ref = "name"/>
			<xsd:element ref = "currency" minOccurs = "0"/>
			<xsd:element ref = "valDate" minOccurs = "0"/>
			<xsd:element name = "endDate" type = "xsd:string" minOccurs = "0"/>
		</xsd:sequence>
		<xsd:attribute name = "id" type = "xsd:ID"/>
	</xsd:complexType>
	<xsd:complexType name = "AssetVolatilityModel">
		<xsd:sequence>
			<xsd:element ref = "name"/>
			<xsd:element ref = "currency" minOccurs = "0"/>
			<xsd:element ref = "valDate" minOccurs = "0"/>
			<xsd:element name = "expirationDate" type = "xsd:string" minOccurs = "0"/>
		</xsd:sequence>
		<xsd:attribute name = "id" type = "xsd:ID"/>
	</xsd:complexType>
	<xsd:element name = "underlyingAsset" type = "UnderlyingAsset"/>
	<xsd:complexType name = "ReferenceAsset">
		<xsd:sequence>
			<xsd:element ref = "underlyingAsset"/>
			<xsd:element name = "spotPrice" minOccurs = "0">
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element ref = "price"/>
						<xsd:element ref = "priceUnits"/>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name = "forecast" minOccurs = "0">
				<xsd:complexType>
					<xsd:complexContent>
						<xsd:restriction base = "ForecastRef">
							<xsd:attribute name = "href" type = "xsd:IDREF"/>
						</xsd:restriction>
					</xsd:complexContent>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name = "discount" minOccurs = "0">
				<xsd:complexType>
					<xsd:complexContent>
						<xsd:restriction base = "ForecastRef">
							<xsd:attribute name = "href" type = "xsd:IDREF"/>
						</xsd:restriction>
					</xsd:complexContent>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name = "volatility" minOccurs = "0">
				<xsd:complexType>
					<xsd:complexContent>
						<xsd:restriction base = "VolatilityRef">
							<xsd:attribute name = "href" type = "xsd:IDREF"/>
						</xsd:restriction>
					</xsd:complexContent>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "ForecastRef">
		<xsd:attribute name = "href" type = "xsd:IDREF"/>
	</xsd:complexType>
	<xsd:complexType name = "VolatilityRef">
		<xsd:attribute name = "href" type = "xsd:IDREF"/>
	</xsd:complexType>
	<xsd:complexType name = "MarketEnvironment">
		<xsd:sequence>
			<xsd:element name = "assets">
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name = "refAsset" type = "ReferenceAsset" minOccurs = "0" maxOccurs = "unbounded"/>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name = "forecastModels" minOccurs = "0">
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element ref = "assetForecastModel" minOccurs = "0" maxOccurs = "unbounded"/>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name = "volatilityModels" minOccurs = "0">
				<xsd:complexType/>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "StatisticalEnvironment"/>
	<xsd:complexType name = "CalibrationPortfolio">
		<xsd:sequence>
			<xsd:element name = "instrumentPrice" type = "InstrumentPrice" minOccurs = "0" maxOccurs = "unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:element name = "bond" substitutionGroup = "underlyingAsset">
		<xsd:annotation>
			<xsd:documentation xml:lang = "en">Defines the underlying asset when it is a bond.
      
			
			
			
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base = "UnderlyingAsset">
					<xsd:sequence>
						<xsd:element name = "relatedExchangeId" type = "xsd:string" minOccurs = "0"/>
						<xsd:element name = "issuerName" type = "xsd:string" minOccurs = "0"/>
						<xsd:element name = "couponRate" type = "xsd:string" minOccurs = "0"/>
						<xsd:element name = "maturity" type = "xsd:string" minOccurs = "0"/>
						<xsd:element name = "parValue" type = "xsd:string" minOccurs = "0"/>
						<xsd:element name = "faceAmount" type = "xsd:string" minOccurs = "0"/>
					</xsd:sequence>
				</xsd:extension>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:complexType name = "UnderlyingAsset">
		<xsd:sequence>
			<xsd:element name = "instrumentId" type = "xsd:string" maxOccurs = "unbounded"/>
			<xsd:element name = "description" type = "xsd:string" minOccurs = "0"/>
			<xsd:element ref = "currency" minOccurs = "0"/>
			<xsd:element name = "exchangeId" type = "xsd:string" minOccurs = "0"/>
			<xsd:element name = "clearanceSystem" type = "xsd:string" minOccurs = "0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:element name = "irIndex" substitutionGroup = "underlyingAsset">
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base = "UnderlyingAsset">
					<xsd:sequence>
						<xsd:element ref = "floatingRateIndex"/>
						<xsd:element name = "indexTenor" type = "Interval"/>
					</xsd:sequence>
				</xsd:extension>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "simpleSwaption">
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base = "UnderlyingAsset">
					<xsd:sequence>
						<xsd:element ref = "expiration"/>
						<xsd:element ref = "tenor"/>
						<xsd:element ref = "strike"/>
					</xsd:sequence>
				</xsd:extension>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "caplet">
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base = "UnderlyingAsset">
					<xsd:sequence>
						<xsd:element ref = "expiration"/>
						<xsd:element ref = "tenor"/>
						<xsd:element ref = "strike"/>
					</xsd:sequence>
				</xsd:extension>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "fxIndex">
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base = "UnderlyingAsset"/>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:complexType name = "FxRate">
		<xsd:sequence>
			<xsd:element name = "quotedCurrencyPair" type = "xsd:string"/>
			<xsd:element name = "fxBasis" type = "xsd:string"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "SensitivityReport">
		<xsd:sequence>
			<xsd:element ref = "receiverPartyReference"/>
			<xsd:element ref = "payerPartyReference" minOccurs = "0"/>
			<xsd:element ref = "currency" minOccurs = "0"/>
			<xsd:element name = "riskType">
				<xsd:simpleType>
					<xsd:restriction base = "xsd:string">
						<xsd:enumeration value = "delta"/>
						<xsd:enumeration value = "gamma"/>
						<xsd:enumeration value = "vega"/>
						<xsd:enumeration value = "theta"/>
						<xsd:enumeration value = "kappa"/>
						<xsd:enumeration value = "rho"/>
						<xsd:enumeration value = "carry"/>
						<xsd:enumeration value = "reset"/>
						<xsd:enumeration value = "correlation"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name = "units" minOccurs = "0">
				<xsd:simpleType>
					<xsd:restriction base = "xsd:string">
						<xsd:enumeration value = "PV01"/>
						<xsd:enumeration value = "PV1pct"/>
						<xsd:enumeration value = "shares"/>
						<xsd:enumeration value = "PVperday"/>
						<xsd:enumeration value = "BBL"/>
						<xsd:enumeration value = "GJ"/>
						<xsd:enumeration value = "CCY"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element ref = "sensitivity" minOccurs = "0" maxOccurs = "unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "Portfolio">
		<xsd:simpleContent>
			<xsd:extension base = "xsd:string">
				<xsd:attribute name = "id" type = "xsd:ID"/>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:element name = "cash" substitutionGroup = "underlyingAsset">
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:restriction base = "UnderlyingAsset">
					<xsd:sequence>
						<xsd:element name = "instrumentId" type = "xsd:string" maxOccurs = "unbounded"/>
						<xsd:element name = "description" type = "xsd:string" minOccurs = "0"/>
						<xsd:element ref = "currency" minOccurs = "0"/>
						<xsd:element name = "exchangeId" type = "xsd:string" minOccurs = "0"/>
						<xsd:element name = "clearanceSystem" type = "xsd:string" minOccurs = "0"/>
					</xsd:sequence>
				</xsd:restriction>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:complexType name = "Interval">
		<xsd:sequence>
			<xsd:element ref = "period"/>
			<xsd:element ref = "periodMultiplier"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:element name = "assetForecastModel">
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base = "AssetForecastModel"/>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "fxForecast" substitutionGroup = "assetForecastModel">
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base = "AssetForecastModel">
					<xsd:sequence>
						<xsd:element ref = "fxIndex"/>
						<xsd:element name = "ccy1Discount">
							<xsd:complexType>
								<xsd:complexContent>
									<xsd:restriction base = "ForecastRef">
										<xsd:attribute name = "href" type = "xsd:IDREF"/>
									</xsd:restriction>
								</xsd:complexContent>
							</xsd:complexType>
						</xsd:element>
						<xsd:element name = "ccy2Discount">
							<xsd:complexType>
								<xsd:complexContent>
									<xsd:restriction base = "ForecastRef">
										<xsd:attribute name = "href" type = "xsd:IDREF"/>
									</xsd:restriction>
								</xsd:complexContent>
							</xsd:complexType>
						</xsd:element>
					</xsd:sequence>
				</xsd:extension>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "future" substitutionGroup = "underlyingAsset">
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base = "UnderlyingAsset"/>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:complexType name = "Df">
		<xsd:simpleContent>
			<xsd:extension base = "xsd:double">
				<xsd:attribute name = "valDate" type = "xsd:date"/>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name = "ForwardPoint">
		<xsd:simpleContent>
			<xsd:extension base = "xsd:double">
				<xsd:attribute name = "fwdDate" type = "xsd:date"/>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name = "ForwardCurve">
		<xsd:sequence>
			<xsd:element ref = "tenor"/>
			<xsd:element name = "fwd" type = "ForwardPoint" maxOccurs = "unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name = "CurveReference">
		<xsd:attribute name = "href" type = "xsd:IDREF"/>
	</xsd:complexType>
</xsd:schema>