[This message was posted by Naresh Maharaj of Instinet Europe plc 
<[email protected]> to the "FAST Protocol" discussion forum at 
http://fixprotocol.org/discuss/46. You can reply to it on-line at 
http://fixprotocol.org/discuss/read/e49b380f - PLEASE DO NOT REPLY BY MAIL.]

Micheal

The details are below. Can you call me or email when you have a chance.#

I work for Instinet, Europe

[email protected]

Thanks



<?xml version="1.0" encoding="UTF-8"?>
<!--

    Market Data Interface (MDI) FAST Templates:
    ____________________________________

    References:
    - Detailed message description in 'Market Data Interface (MDI) 
Specification and User Guide'
            SWX-VCA-SPEC-MDI
    - Templates according to  'FAST Specification Version 1.x.1':
                        
http://www.fixprotocol.org/documents/3066/FAST%20Specification%201%20x%201.pdf

    Open issues:
    None.     

    Changes w.r.t MdiFastTemplates100_E:
    - News.InstrmtGrp corrected to  presence="optional".
 
    Template Versioning:
    The last 2 digits of a template id serve as the version number of the 
template. 
    If a template is changed, its id is incremented (mod 100). E.g. if the 
current id of a
    template is 500,  the next version of the template will be 501.

-->           
<templates xmlns="http://www.fixprotocol.org/ns/fast/td/1.1"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://www.fixprotocol.org/ns/fast/td/1.1 
T:\dev05\MDS\MDST\source\mdst\config\FAST\FASTTemplate.xsd">


    <template name="InstrumentIdentificationBook">
           <typeRef name="Instrument"/>              
               <string name="SecurityID" id="48"> <tail/> </string> 
               <string name="SecurityIDSource" id="22"> <constant value="4"/> 
</string> <!-- 4: ISIN -->                
               <!-- Part of the identification is TradingSessionId -->        
    </template>
    
   <template name="InstrumentIdentificationTrade">      
          <typeRef name="Instrument"/>               
          <string name="SecurityID" id="48"> <tail/> </string> 
                  <string name="SecurityIDSource" id="22"> <constant 
value="4"/> </string> <!-- 4: ISIN -->
                  <string name="SecurityExchange" id="207"> <copy/> </string>  
                  <!-- Part of the identification is Currency on 
OnBookTrade/OffBookTrade -->          
    </template>
    
    <template name="StandardHeaderPart1">
          <string name="BeginString" id="8"> <constant value="FIXT.1.1"/> 
</string>      <!-- FIX session layer -->
          <!-- <uInt32 name="BodyLength" id="9"> <delta/> </uInt32>   (omitted 
for multicast) -->
    </template>
    
    <template name="StandardHeaderPart2">
          <string name="ApplVerID" id="1128"> <constant value="7"/> </string>   
 <!-- 7: FIX50 -->
          <string name="SenderCompID" id="49"> <copy/> </string>  
          <string name="TargetCompID" id="56"> <constant value="SWXGROUP-MDC"/> 
</string>  <!-- Market Data Consumer -->
          <uInt32 name="MsgSeqNum" id="34"> <increment/> </uInt32>              
          <string name="PossResend" id="97"><copy value="N"/></string>          
             <!-- N: Original Transmission -->
          <string name="SendingTime" id="52"> <tail/> </string>       
    </template>
    
    <template name="MarketDataSnapshotHeader">     
          <typeRef name="StandardHeader"/>
          <templateRef name="StandardHeaderPart1"/>  
          <string name="MessageType" id="35"> <constant value="W"/> </string> 
          <templateRef name="StandardHeaderPart2"/>  
    </template>
    
   <template name="MarketDataDeltaHeader">  
          <typeRef name="StandardHeader"/>
          <templateRef name="StandardHeaderPart1"/>  
          <string name="MessageType" id="35"> <constant value="X"/> </string> 
          <templateRef name="StandardHeaderPart2"/>  
    </template>
    
     <template name="StandardTrailer">      
          <typeRef name="StandardTrailer"/>
          <!-- <string name="CheckSum" id="10"/>  (omitted for multicast) -->
    </template> 

  <template name="BookSnapshot" id="100" dictionary="Book"> 
       <typeRef name="MarketDataSnapshotFullRefresh"/>
       <templateRef name="MarketDataSnapshotHeader"/>  
       <uInt32 name="MDBookType" id="1021"><copy/></uInt32>      
       <uInt32 name="MDFeedType" id="1022" presence="optional"><constant 
value="0"/></uInt32>    <!-- 0: Closing Inside Market -->
       <templateRef name="InstrumentIdentificationBook"/>                       
              
       <sequence name="MDEntries"> 
          <typeRef name="MDFullGrp"/>
          <length name="NoMDEntries" id="268"/>         
          <string name="MDEntryType" id="269"> <copy value="0"/> </string>  
<!-- start with buy side (0) -->         
          <decimal name="MDEntryPx" id="270" presence="optional"> 
                 <exponent><copy value="-2"/></exponent> 
                 <mantissa><delta/></mantissa>          
          </decimal>           
          <decimal name="MDEntrySize" id="271" presence="optional"> 
                 <exponent><copy value="0"/></exponent>
                 <mantissa><delta/></mantissa>
           </decimal>      
           <string name="TradingSessionID" id="336"> <copy/> </string>      
           <string name="OpenCloseSettlFlag" id="286" 
presence="optional"><constant value="5"/></string> <!-- 5: Theoretical Price 
value -->     
           <uInt32 name="NumberOfOrders" id="346" presence="optional"> <delta 
value="1"/> </uInt32> 
           <uInt32 name="NumberOfQuotes" id="6566" presence="optional"> <delta 
value="1"/> </uInt32>      <!-- SWX specific -->
           <!--PriceLevel:  start at level 1 for 'normal prices', absent for 
MDBookType=1 (Top-of-book) -->          
           <uInt32 name="MDPriceLevel" id="1023" presence="optional"><increment 
value="1"/></uInt32>  
           <uInt32 name="ReferencePriceType" id="6567" presence="optional"> 
<copy value="3"/> </uInt32>  <!-- SWX specific, 3: last paid price -->
            <!-- RptSeq: sequence nr per book, equal for all entries of a 
snapshot, 
                  equal to MDIncGrp.RptSeq of the last entry of the last 
IncrementalRefresh message.  -->     
           <uInt32 name="RptSeq" id="83" presence="optional"> <copy/> </uInt32> 
  
       </sequence> 
       <templateRef name="StandardTrailer"/>                        
    </template>
    
    <template name="BookDelta" id="200" dictionary="Book"> 
       <typeRef name="MarketDataIncrementalRefresh"/>
       <templateRef name="MarketDataDeltaHeader"/>  
       <uInt32 name="MDBookType" id="1021"><copy/></uInt32>      
       <sequence name="MDEntries"> 
          <typeRef name="MDIncGrp"/>
          <length name="NoMDEntries" id="268"> <copy/> </length> 
          <string name="MDUpdateAction" id="279"> <copy value="0"/> </string>  
<!-- 0: New -->
          <string name="MDEntryType" id="269"> <copy value="0"/> </string>   
<!-- start with buy side (0), if present -->        
          <templateRef name="InstrumentIdentificationBook"/>          
          <decimal name="MDEntryPx" id="270"  presence="optional"> 
                 <exponent><copy value="-2"/></exponent> 
                 <mantissa><delta/></mantissa>          
          </decimal>           
          <decimal name="MDEntrySize" id="271"  presence="optional"> 
                 <exponent><copy value="0"/></exponent>
                 <mantissa><delta/></mantissa>
           </decimal> 
           <string name="MDEntryTime" id="273"> <tail/> </string>   
           <string name="TradingSessionID" id="336"> <copy/> </string>    
           <string name="OpenCloseSettlFlag" id="286" 
presence="optional"><constant value="5"/></string>  <!-- 5: Theoretical Price 
value -->    
           <uInt32 name="NumberOfOrders" id="346" presence="optional"> <delta 
value="1"/> </uInt32> 
           <uInt32 name="NumberOfQuotes" id="6566"  presence="optional"> <delta 
value="1"/> </uInt32>      <!-- SWX specific -->
           <!--PriceLevel:  start at level 1 for 'normal prices' (if changed), 
absent for MDBookType=1 (Top-of-book)  -->
           <uInt32 name="MDPriceLevel" id="1023" presence="optional"><increment 
value="1"/></uInt32>             
           <uInt32 name="ReferencePriceType" id="6567" presence="optional"> 
<copy value="3"/> </uInt32>  <!-- SWX specific, 3: last paid price -->
           <uInt32 name="RptSeq" id="83"> <increment value="1"/> </uInt32>    
<!-- per book, incremented per MDIncGrp -->
       </sequence> 
       <templateRef name="StandardTrailer"/> 
    </template>

   <template name="SecurityStatusHeader">
          <typeRef name="StandardHeader"/>
          <templateRef name="StandardHeaderPart1"/>  
          <string name="MessageType" id="35"> <constant value="f"/> </string> 
          <templateRef name="StandardHeaderPart2"/>  
    </template>              

    <template name="SecurityStatus" id="300" dictionary="Book">     
       <typeRef name="SecurityStatus"/>
       <templateRef name="SecurityStatusHeader"/>             
       <templateRef name="InstrumentIdentificationBook"/>       
       <string name="TradingSessionID" id="336"> <copy/> </string>             
       <uInt32 name="SecurityTradingStatus" id="326"> <copy value="17"/> 
</uInt32>    <!-- 17: ready to trade -->   
       <string name="TransactTime" id="60"><tail/></string>
       <uInt32 name="BookCondition" id="6570"> <copy value="3"/> </uInt32>      
 <!-- SWX specific, 3: none -->
       <templateRef name="StandardTrailer"/> 
   </template> 

   <template name="TradingSessionStatusHeader">
          <typeRef name="StandardHeader"/>
          <templateRef name="StandardHeaderPart1"/>  
          <string name="MessageType" id="35"> <constant value="h"/> </string> 
          <templateRef name="StandardHeaderPart2"/>  
    </template>        
   
   <template name="TradingSessionStatus" id="400" dictionary="Book">   
       <typeRef name="TradingSessionStatus"/>
       <templateRef name="TradingSessionStatusHeader"/>                    
       <string name="TradingSessionID" id="336"> <copy/> </string>      
       <string name="TradingSessionSubID" id="625"> <copy/> </string>        
       <uInt32 name="TradSesStatus" id="340"> <constant value="0"/> </uInt32>   
    <!-- 0: unknown -->
       <string name="TradSesStartTime" id="341"> <delta/> </string>
       <string name="RandomisedInterval" id="6568" presence="optional"> 
<delta/> </string> <!-- SWX specific: format HH:MM:SS -->
       <uInt32 name="TransitionStatus" id="6569"><copy value="0"/></uInt32>   
<!-- SWX specific, 0: pending -->
       <group name="Instrument" presence="optional">
           <templateRef name="InstrumentIdentificationBook"/> 
       </group>
       <templateRef name="StandardTrailer"/> 
   </template> 
   
    
    <template name="OnBookTrade" id="500" dictionary="Book"> 
       <typeRef name="MarketDataIncrementalRefresh"/>
       <templateRef name="MarketDataDeltaHeader"/>   
       <sequence name="MDEntries"> 
          <typeRef name="MDIncGrp"/>
          <length name="NoMDEntries" id="268"/> 
          <string name="MDUpdateAction" id="279"> <constant value="0"/> 
</string>  <!-- 0: New -->
          <string name="MDEntryType" id="269"> <constant value="2"/> </string>  
 <!-- 2: Trade -->                     
          <templateRef name="InstrumentIdentificationTrade"/>                   
    
          <decimal name="MDEntryPx" id="270"> 
                 <exponent><copy value="-2"/></exponent>
                 <mantissa><delta/></mantissa>          
          </decimal>           
          <string name="Currency" id="15"> <copy/> </string>    
          <decimal name="MDEntrySize" id="271"> 
                 <exponent><copy value="0"/></exponent>
                 <mantissa><delta/></mantissa>
           </decimal>             
          <string name="MDEntryDate" id="272" presence="optional"> <tail/> 
</string>    
          <string name="MDEntryTime" id="273"> <tail/> </string>   
          <string name="MDExecDate" id="6571" presence="optional"> <tail/> 
</string>    
          <string name="MDExecTime" id="6572" presence="optional"> <tail/> 
</string>   
          <string name="TradingSessionID" id="336"> <copy value="0"/> </string> 
   <!-- 0: Trading -->
          <string name="TradeCondition" id="277" presence="optional"> <constant 
value="0"/> </string>  <!-- 0: cancel -->
          <string name="MDOriginType" id="1024"> <constant value="0"/> 
</string>   <!-- 0: book -->
          <uInt32 name="NumberOfTrades" id="6573"> <delta value="1"/> </uInt32> 
    <!-- SWX specific -->       
          <string name="PublicTradeTypeCodeList" id="6533" presence="optional"> 
<delta/> </string>     <!-- SWX specific -->                
       </sequence> 
       <templateRef name="StandardTrailer"/> 
    </template>
    
    <template name="OffBookTrade" id="600" dictionary="Book"> 
       <typeRef name="MarketDataIncrementalRefresh"/>
       <templateRef name="MarketDataDeltaHeader"/>      
       <sequence name="MDEntries"> 
           <typeRef name="MDIncGrp"/>
          <length name="NoMDEntries" id="268"/>
          <string name="MDUpdateAction" id="279"> <constant value="0"/> 
</string>  <!-- 0: New -->
          <string name="MDEntryType" id="269"> <constant value="2"/> </string>  
 <!-- 2: Trade -->                      
          <templateRef name="InstrumentIdentificationTrade"/>                   
   
          <decimal name="MDEntryPx" id="270"> 
                 <exponent><copy value="-2"/></exponent>
                 <mantissa><delta/></mantissa>          
          </decimal>           
          <string name="Currency" id="15"> <copy/> </string>  
          <decimal name="MDEntrySize" id="271"> 
                 <exponent><copy value="0"/></exponent>
                 <mantissa><delta/></mantissa>
           </decimal>   
          <string name="MDEntryDate" id="272" presence="optional"> <tail/> 
</string>    
          <string name="MDEntryTime" id="273"> <tail/> </string>   
          <string name="MDExecDate" id="6571" presence="optional"> <tail/> 
</string>    
          <string name="MDExecTime" id="6572" presence="optional"> <tail/> 
</string>    
          <string name="TradeCondition" id="277" presence="optional"> <constant 
value="0"/> </string>  <!-- 0: cancel -->
          <string name="MDOriginType" id="1024"> <constant value="1"/> 
</string>       <!-- 1: Off-Book -->
          <string name="PublicTradeTypeCodeList"  id="6533" 
presence="optional"> <delta/> </string>        <!-- SWX specific -->            
          
       </sequence> 
       <templateRef name="StandardTrailer"/> 
    </template>

    <template name="NewsHeader">
          <typeRef name="StandardHeader"/>
          <templateRef name="StandardHeaderPart1"/>  
          <string name="MessageType" id="35"> <constant value="B"/> </string> 
          <templateRef name="StandardHeaderPart2"/>  
    </template>              
 
   <template name="News" id="700">
       <typeRef name="News"/>
       <templateRef name="NewsHeader"/> 
       <string name="OrigTime" id="42"> <delta/> </string> 
       <string name="Urgency" id="61" presence="optional"> <copy value="0"/> 
</string> <!-- 0: normal -->
       <string name="Headline" id="148"> <copy/> </string>
       <sequence name="InstrmtGrp" presence="optional">
            <typeRef name="InstrmtGrp"/>        
           <length name="NoRelatedSym" id="146"> <default value="1"/></length>  
  
           <templateRef name="InstrumentIdentificationBook"/>   
           <string name="Currency" id="15"> <copy/> </string>      <!-- SWX 
specific (normally not part of InstrmtGrp) -->                   
       </sequence>
       <uInt32 name="NoLinesOfText" id="33"><constant value="1"/></uInt32>      
    
       <string name="Text" id="58"><constant value="None"/></string>    
       <string name="URLLink" id="149"><delta/></string>     
       <string name="SourceExchange" id="6565" presence="optional"/>         
<!-- SWX specific -->
       <templateRef name="StandardTrailer"/> 
   </template>
   
 
<!--     
    ___________________________________________________________________________

    Session messages
    ___________________________________________________________________________
-->
   
    <template name="LogonHeader">
          <typeRef name="StandardHeader"/>
          <templateRef name="StandardHeaderPart1"/>  
          <string name="MessageType" id="35"> <constant value="A"/> </string> 
          <templateRef name="StandardHeaderPart2"/>  
    </template>     
   
   <template name="Logon" id="5000">
       <typeRef name="Logon"/>
       <templateRef name="LogonHeader"/>             
       <uInt32 name="EncryptMethod" id="98"><constant value="0"/></uInt32>   
<!-- 0: None -->
       <uInt32 name="HeartBtInt" id="108"/>
       <string name="ResetSeqNumFlag" id="141"/>
       <string name="DefaultApplVerID" id="1137"><constant value="7"/></string> 
 <!-- 7: FIX50 -->
       <templateRef name="StandardTrailer"/> 
   </template>
   
     <template name="LogoutHeader">
          <typeRef name="StandardHeader"/>
          <templateRef name="StandardHeaderPart1"/>  
          <string name="MessageType" id="35"> <constant value="5"/> </string> 
          <templateRef name="StandardHeaderPart2"/>  
    </template>     
   
   <template name="Logout" id="5100">
       <typeRef name="Logout"/>
       <templateRef name="LogoutHeader"/>          
       <string name="Text" id="58" presence="optional"/> 
       <templateRef name="StandardTrailer"/> 
   </template>
   
    <template name="HeartbeatHeader">
          <typeRef name="StandardHeader"/>
          <templateRef name="StandardHeaderPart1"/>  
          <string name="MessageType" id="35"> <constant value="0"/> </string> 
          <templateRef name="StandardHeaderPart2"/>  
    </template>   
   
   <template name="Heartbeat" id="5200">
       <typeRef name="Heartbeat"/>
       <templateRef name="HeartbeatHeader"/>                                
       <templateRef name="StandardTrailer"/> 
   </template>
   
   <template name="SequenceResetHeader">
          <typeRef name="StandardHeader"/>
          <templateRef name="StandardHeaderPart1"/>  
          <string name="MessageType" id="35"> <constant value="4"/> </string> 
          <templateRef name="StandardHeaderPart2"/>  
    </template>   
   
   <template name="SequenceReset" id="5300">
       <typeRef name="SequenceReset"/>
       <templateRef name="SequenceResetHeader"/>                       
       <string name="GapFillFlag" id="123"> <constant value="N"/> </string>   
       <uInt32 name="NewSeqNo" id="36"/> 
       <templateRef name="StandardTrailer"/> 
   </template>
</templates>



> Hi all,
> 
> I am developing a swx feed handler. since it is FIX format and encoded
> by FAST, I am looking for the template definition used for FAST.
> However, I cannot find it in the spec and I find this thread
> http://www.fixprotocol.org/discuss/read/43dd4ec0. unfortunately, the hyper-
> link in that thread does not work anymore. Is there anyone knowing where
> I can find it?
> 
> Thank you.
> 
> Michael


[You can unsubscribe from this discussion group by sending a message to 
mailto:[email protected]]

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Financial Information eXchange" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/FIX-Protocol?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to