|
| |
FQS User Guide
The Financial Quote Service (FQS)
is a service product of SWX Swiss Exchange.
It allows one to interrogate stock quotes and
market indices across the Internet. The quotes stem from the
Swiss Market Feed (SMF).
FQS
is targeted at listed companies which want to publish on
their website quotes and historic charts of their own stocks.
It provides easy access to the relevant data leaving the
customer complete freedom about its presentation.
An FQS
client program does not need to preserve state.
It can obtain the required information from the
FQS
server without any feed processing.
FQS
offers the choice between real-time data and delayed
data (currently 15 minutes).
Delayed data can be disseminated without royalty fees.
Real-time data requires a Data Dissimination Agreement
(Closed User Group) and per-user fees.
For pricing information please contact our
SWX/FQS Product Manager
.
Internet accessFQS
is accessible from the Internet on host
fqs.swx.com through
port 4241
(real-time) and 4242
(delayed).
Access is restricted to the small set of IP addresses authorized
for each company.
Furthermore the information provided is restricted to the valor
set registered for the company.
This set typically contains the securities issued by the customer
and index values which may serve as benchmarks.
There is no restriction on the number of parallel connections.
However, SWX expects that customers implement some form of caching
in order to avoid that each hit on their webpage initiates a new
FQS connection.
For example, an FQS client program running as daemon on the
customer host formats in regular intervals an HTML or GIF file
which is then served to all web clients visiting the site during
that interval.
Basic protocolFQS
uses a line-oriented protocol similar to other standard Internet protocols such as SMTP.
The client sends a command and the server responds with one
or more lines of output.
The communication is synchronous, i.e. the server sends output
only in response to a command and the client cannot interrupt an
ongoing commmand.
The reply is human-readable with a regular structure easily
recognizable by a client program.
A client program can always determine from the first four
characters of each line whether the server will send more output
or is ready to accept the next command from the client.
Line separators follow Unix conventions, i.e. lines are terminated
by a Line Feed.
A Carriage Return preceding the Line Feed is ignored on input
but never output.
Commands consist of blank separated tokens with one command per
line. Command verbs and arguments are all case-sensitive.
Reply codes follow the conventions established in
RFC 821
appendix E.
A client program should only look at the reply code.
The remaining text is for human consumption and
its format may change without notice.
Example session
telnet fqs.swx.com 4242
Trying yyy.zzz.1.1...
Connected to fqs.swx.com.
Escape character is "^]".
220 Swiss Exchange Financial Quote Server ready.
211 Restricted to 41 valors.
select SMI SXGE
211 Selected 2 valors.
snap ValorSymbol LastPrice LastTime
250-Tab separated attribute values follow:
SMI 7264.9 16:57:55
SXGE 4563.24 16:56:58
250 End of data.
Bold characters indicate user input.
Lines 2-4 stem from the telnet program used here as interactive
client.
Lines 5-6 are the standard reply for a successful connection.
Line 8 is a single-line reply.
Line 10-13 are a multi-line reply.
Connection setup
Port 4241 is served by a relay process on the
firewall host. This relay checks the client authorization and restricts the valor
set before connecting the client through to the FQS
daemon. The relay port is always active but depending on the state of the
FQS daemon the following replies can occur:
If the FQS daemon is running and
ready to receive commands, it replies immediately with the two lines:
220 Swiss Exchange Financial Quote Server ready.
211 Restricted to nn valors.
If the FQS daemon has recently been started
and is still in the recovery phase, the reply is:
221 Swiss Exchange Financial Quote Server coming up.
211 Restricted to nn valors.
The first line is output immediately while the second line is
delayed until the end of the recovery phase, which may last up
to 15 minutes. Therefore a client program should abandon
immediately after seeing the reply code 221, unless it is
prepared to remain blocked for several minutes.
If the FQS daemon is down, or if the client host is not
authorized, the connection is closed immediately without any
output.
The FQSprotocol implies that during off-hours there can be periods
when no data is flowing for hours or even days.
Therefore it is recommended to use
setsockopt(SO_KEEPALIVE)
in the client program in order to trap defunct connections.
If connecting through a firewall, make sure that the timeout
for idle TCP connections imposed by the firewall software is longer
than the keepalive timer.
The help command has no arguments.
It always outputs a 214 multi-line reply with a description of all
available commands.
The format of the output is unspecified.
help
214-The following commands are recognized:
help : Help on commands.
restrict symbol|number|group|attr=value...symbol|number|group|[!]attr=value[|value2...]...|attr<value...|attr>value...|[!]attr^value[|value2...]...
: Restrict valor set
select symbol|number|group|attr=value...symbol|number|group|[!]attr=value[|value2...]...|[!]attr<value...|[!]attr>value...|[!]attr^value[|value2...]...|[!]attr~value[|value2...]...
: Select valor set
date [from] [to|+n|-n]
: Define date range
snap attribute... : List attributes with one line per valor
corr attribute... : List correction attributes with
one line per valor and trade date
sum attribute... [by attribute...]
: Sum attributes where by-list has same value
feed attribute... : List attributes and start feed of changes
paid symbol|number [interval] [date]
: List paid prices
nav symbol|number [interval] [date]
: List net asset values
quit : Close connection
214 That's all folks.
The restrict command is used by the relay process
to define the authorized valor set depending on the client host.
A client program may not use this command.
The select command defines the valor set for subsequent
snap,
feed and
corr commands.
The arguments are a list of valor identifiers.
A valor identifier can be a valor symbol or valor number.
Example: Nestlé registered shares and Swiss Market Index:
select NESN SMI
211 Selected 2 valors.
snap ValorNumber ValorSymbol ShortName
250-Tab separated attribute values follow:
213768 NESN NESTLE N
998089 SMI SMI
250 End of data.
In a few rare cases the same valor symbol is allocated with
different exchange codes.
In order to avoid ambiguities the exchange code can be appended to
the valor symbol or number separated by a colon.
Otherwise a search order of exchange codes "1", "4", "7", "9", "8" is
applied:
select SXMI SXMI:8
211 Selected 2 valors.
snap ValorNumber ValorSymbol ExchangeCode ShortName
250-Tab separated attribute values follow:
998769 SXMI 9 UEBRIGE INDUSTRIE
441094 SXMI 8 DJSUR Ex UK Media
250 End of data.
If the argument list contains invalid or unauthorized valor
identifiers, each one generates a 101 reply:
select NESN SMI SPI
101 Valor SPI not found.
211 Selected 2 valors.
The argument list may also contain terms of the form
name=value,
or name<value,
or name>value,
or name^value,
or name~value,
selecting all valors for which the
named attribute is equal to,
is less than, is greater than, starts with, or contains the given value.
Furthermore, value may take the form
value1|value2|...|valueN for the tests
on equality, starts-with, or containment; in this case, the relation is
verified on each of the values.
Finally, it is possible to negate each a term by preceeding it
with an exclamation mark ('!').
The test distinguish between numeric and string attributes.
(Numeric attributes are flagged by a "#" in the output from the snap command
without arguments.)
For numeric attributes only the "=", "<", ">" operators and with
a single value are allowed.
Non-numeric values such as "Market" in BidPrice are treated as zero.
There are no "<=" or ">=" operators.
They can be emulated using the negation,
e.g. "!LastPrice>10" instead of "LastPrice>=10".
For string attributes diffenences in case and accenting are ignored,
except for the equality operator.
For example, "UnderlyingDescription~nestle" matches "NESTLE" and "Nestlé"
but "ValorSymbol=nesn" does not match "NESN".
A syntax character such as "&" or "|" cannot appear directly in value string
but must be written as "\xx" where xx is its hexadecimal ASCII code.
For example, to search for "S&P" use "UnderlyingDescription~S\26P".
For example, select ValorSymbol=NESN
is equivalent to select NESN under normal circumstances.
However, if the symbol is ambiguous (e.g. due to a stock split
where usually the same symbol is reassigned to the new share),
the form select ValorSymbol=symbol
selects all valors, while select symbol
picks only the most recently active valor.
If a valor is traded simultaneously in different currencies,
care must be taken to specify the trading base currency
in the symbol as select NESN/CHF.
Otherwise, the rule described above for picking a single valor
matching the symbol will choose the currency unpredictably.
Note that the selection requires textual identity to the
value as formatted by the snap command.
For example, select ValorNumber=80044 does not match because
valor numbers are formatted with leading zeroes.
Several selection terms may be concatenated by &
to form a logical-and expression.
For example,
select ProductSymbol=NESN&ExpirationMonth=200012
selects all NESN stock options with expiration in December 2000.
The special argument "*" selects all authorized valors.
The argument "*nn" is equivalent to
"GroupCode=nn".
An argument of the form %symbol selects
all valors belonging to the basket designated by the symbol.
Any index based on that basket is not included;
it has to be specified explicitly:
select %SMI SMI
211 Selected 30 valors.
The last argument of the form %symbol defines
the basket used for subsequent
snap,
feed and
corr commands.
An argument of the form !symbol selects
all Eurex stock options with specified product
symbol.
The argument "!symbol" is equivalent to
"ProductSymbol=symbol&TradingState=T",
while the argument "symbol" is equivalent to
"ValorSymbol=symbol&ProductSymbol="".
The underlying itself is not included; it has to be specified explicitly:
select !BMW
211 Selected 108 valors.
select BMW
211 Selected 1 valors.
select !BMW BWM
211 Selected 109 valors.
snap GroupCode ValorSymbol ProductSymbol
250-Tab separated attribute values follow:
67 BMW BMW
0 BMW
250 End of data.
Accordingly, an argument of the form !%symbol
selects all derivatives on valors belonging to the
basket designated by the symbol:
select !%DAX
211 Selected 4518 valors.
Without arguments the select command reports the number of
currently selected valors:
select *
211 Selected 41 valors.
select
211 Selected 41 valors.
If the valor set is empty, the final reply code is 210 instead of 211:
select SPI
101 Valor SPI not found.
210 No selection.
select
210 No selection.
The date command defines the range of trading dates for
snap and
corr commands.
The command may be used with zero, one or two arguments:
date current trading date
date yyyymmdd: single trading date
date yyyymmdd yyyymmdd:
range from start date to end date
date yyyymmdd +nn:
range from start date to nn trading days into the future
date yyyymmdd -nn:
range until end date from nn trading days in the past
The default setting before explicitly using the date command
is to select only the current trading date.
The arguments must be valid calendar dates.
A non-trading date is converted to the preceding trading date.
The result of the date command is a 210 multi-line reply
with one line for each trading date in the defined range:
date 19981221 +5
210-Selected dates:
19981221
19981222
19981223
19981228
19981229
19981230
210 That's all folks.
The snap command allows one to obtain a snapshot of the current
market information.
Imbedded in a 250 multi-line reply there is one line of output
for each valor in the set defined by the preceding
select
command and for each trading date in the range defined by the
preceding date.
Each line contains the TAB-separated values of the attributes
named in the argument list of the snap command:
select NESN SMI
211 Selected 2 valors.
snap ValorSymbol LastPrice LastTime
250-Tab separated attribute values follow:
NESN 2925 16:59:54
SMI 7389.5 17:19:44
250 End of data.
Note that the first attribute value is preceded by a TAB
character. Undefined attribute values are output as empty string,
i.e. appear as two consecutive TAB characters.
Invalid attribute names in the arguments list lead to a 100 reply
and are output as undefined values:
snap ValorSymbol lastprice LastTime
100 Attribute lastprice not known.
250-Tab separated attribute values follow:
NESN 16:59:54
SMI 17:19:44
250 End of data.
When used without arguments the snap commands outputs
all possible attribute names in a 214 multi-line reply:
snap
214-The following attributes are recognized:
AcceptOrdersDate
AccruedInterestCalcCode
AccruedInterestCalcDesc
AccruedInterestDaysInYear
AccruedInterestFromDate
ADIV5YAVG
ADIVSHR
AdjustedOpenInterestDate
AdjustedOpenInterestVolume
AdjustmentFactor
AEPSNORM
AllocatedNumber
AmountInIssue
AnnualInterestFraction
AnnualInterestRate
AnnualPremiumFraction
APENORM
AROEPCT
AskAverage
AskBookAverage
AskBookAveragePrice
AskBookCumulated
AskBookCumulatedNumOrders
AskBookCumulatedNumPrices
AskBookCumulatedNumQuotes
AskBookCumulatedVolume
AskBookNumOrders
AskBookNumPrices
AskBookNumQuotes
AskBookOrders
AskBookPrice
AskBookQuotes
AskBookVolume
AskDepth
AskNumOrders
AskNumPrices
AskNumQuotes
AskPrice
AskSpread
AskVolume
AssetClass
AssetClassCode
AssetClassDesc
AssociatedNumberInIssue
AutomaticSettlementFlag
AverageSpread
Band
BarrierBasisTypeCode
BarrierLevel
BarrierTypeCode
BasketMemberships
BasketMembershipsOrder
BidAverage
BidBookAverage
BidBookAveragePrice
BidBookCumulated
BidBookCumulatedNumOrders
BidBookCumulatedNumPrices
BidBookCumulatedNumQuotes
BidBookCumulatedVolume
BidBookNumOrders
BidBookNumPrices
BidBookNumQuotes
BidBookOrders
BidBookPrice
BidBookQuotes
BidBookVolume
BidDepth
BidNumOrders
BidNumPrices
BidNumQuotes
BidPrice
BidSpread
BidVolume
BloombergLocalSymbol
BloombergVtxSymbol
CalculationMethod
CappingFactor
CcpMemberId
Certificates
ClearingOrgCode
ClearingOrgName
CloseFixingDate
CloseFixingPrice
CloseFixingTime
ClosingDelta
ClosingDiff
ClosingNetAssetValue
ClosingPrice
CompositeRating
CompositeRatingOrder
ContractConditions
ContractGeneration
ContractRatio
ContractSize
ContractType
ContractVersion
CouponAmount
CouponAmountYearly
CouponRate
CoverRatio
DailyHighPrice
DailyHighTime
DailyLowPrice
DailyLowTime
DailyOffBookHighPrice
DailyOffBookHighTime
DailyOffBookLowPrice
DailyOffBookLowTime
DailySettlementDate
DailySettlementPrice
DailySettlementTime
DarkPoolTrades
DarkPoolTurnover
DarkPoolTurnoverCHF
DarkPoolVolume
DeliveryTypeCode
DerivativeLinkType
DerivativeLinkTypeCode
DerivativeLinkTypeDesc
DerivativeSecTypeCode
DerivativeSubtypeCode
DerivativeTypeCode
DistributionPolicy
DividendEntitlementFlag
DividendFrequencyCode
DividendPayments
Divisor
Duration
EarliestExerciseDate
EarliestRedemptionDate
EntitlesToUnit
EV_Cur
Exchange
ExchangeCode
ExchangeSymbol
ExDate
ExDividendDate
ExDividendType
ExerciseCurrencyCode
ExerciseDate
ExerciseLimit
ExercisePrice
ExercisePricePerUnitFlag
ExercisePriceSpread
ExpirationDate
ExpirationMonth
ExpirationTime
ExRightDate
FinalSettlementDate
FinalSettlementTime
FinalSettlementValue
FirstDate
FirstFixingDate
FirstFixingPrice
FirstFixingTime
FirstInterestPaymentDate
FirstTradingDate
FixedExerciseExchangeRate
FixingDate
FlatCode
FlatFlag
ForeignCurrencyInterestFlag
ForeignInterestCurrencyCode
FractionDenominator
FractionType
FreeFloat
FreeFloatFraction
FreeFloatMarketCap
FreeFloatMarketCapCHF
FreeFloatShares
FundBloombergTicker
FundIndustrySectorCode
FundIndustrySectorDesc
FundLongName
FundReutersTicker
FundVolume
FurtherConditionsFlag
FurtherConditionsText
FutureFixedDate
FutureFixedPrice
FutureFixedTime
GeographicalAreaCode
GeographicalAreaDesc
GroupCode
GuaranteeTypeCode
GuaranteeTypeDesc
HasBasket
ICBIndustry
ICBIndustryDesc
ICBSector
ICBSectorDesc
ICBSubsector
ICBSubsectorDesc
ICBSupersector
ICBSupersectorDesc
IncreaseOfFee
InDefaultFromDate
IndexCalculationCount
IndexCalculationMethod
IndexCalculationMethodDesc
IndexComponentWeight
IndexGroup
IndexGroupDesc
IndexMarketCap
IndexMarketCapCHF
IndexMarketValuePercentage
IndexSBIMaturity
IndexSBIRating
IndexStockUpdateCount
IndexStockUpdateDelta
IndexType
IndexTypeDesc
IndicativeOfficialClose
IndicativePriceMinimum
IndPrcMinCurrency
IndPrcMinDate
IndPrcMinText
IndustrySectorCode
IndustrySectorDesc
InstrumentTypeCode
InterestCalculation
InterestComponentFlag
InterestFraction
InterestFrequency
InterestFrequencyCode
InterestFrequencyIndicator
InterestRate
InterimProfit
InvestmentStyleCode
InvestmentStyleDesc
InvestmentVehicleType
ISIN
IsoInstrumentTypeCode
IssueCondition
IssueCurrencyCode
IssuePrice
IssuerCode
IssuerLongNameCode
IssuerLongNameDesc
IssuerNameFull
IssuerNameShort
IssueYear
KnockoutFlag
KnockOutFlag
LastAskPrice
LastAskSpread
LastAskTime
LastAskVolume
LastBidPrice
LastBidSpread
LastBidTime
LastBidVolume
LastCouponDate
LastDate
LastDelta
LastDiff
LastOffBookDate
LastOffBookPrice
LastOffBookTime
LastOffBookVolume
LastOrderbookMidDate
LastOrderbookMidDelta
LastOrderbookMidDiff
LastOrderbookMidPrice
LastOrderBookMidPrice
LastOrderbookMidTime
LastPrice
LastTime
LastTradingDate
LastVolume
LatestExerciseDate
LegalStructureCountryCode
LegalStructureCountryDesc
Liberierung
ListingMemberOrgAbbrev
ListingSegment
ListingSegmentDesc
ListingTypeCode
ListingTypeDesc
ListingTypeIndicator
ManagementFee
Market
MarketDate
MarketDelay
MarketMakers
MarketSegment
MarketSegmentFromDate
MarketState
MarketTime
MaturityDate
MaturityDateAlt
MaxInterestRate
MidSpread
MinInterestRate
MinmHiddenRoundLotSize
MinmHiddenVblRoundLotSize
MinmNeeded
MinmOpeningDuration
MonthAgoDate
MonthAgoDelta
MonthAgoDiff
MonthAgoPrice
MonthSixAgoDate
MonthSixAgoDelta
MonthSixAgoDiff
MonthSixAgoPrice
MonthThreeAgoDate
MonthThreeAgoDelta
MonthThreeAgoDiff
MonthThreeAgoPrice
NetAssetDate
NetAssetTime
NetAssetValue
NextCouponDate
NominalCurrency
NominalValue
NonVerse
NonVerseInSettlementFlag
NSIN
NumberInIssue
NumberNeeded
OffBookClosingPrice
OffExchangeReversalTrades
OffExchangeReversalTurnover
OffExchangeReversalTurnoverCHF
OffExchangeReversalVolume
OffExchangeTrades
OffExchangeTurnover
OffExchangeTurnoverCHF
OffExchangeVolume
OfficialCloseStatistic
OfficialNetAssetDate
OfficialNetAssetTime
OfficialNetAssetValue
OnMarketReversalTrades
OnMarketReversalTurnover
OnMarketReversalTurnoverCHF
OnMarketReversalVolume
OnMarketTrades
OnMarketTurnover
OnMarketTurnoverCHF
OnMarketVolume
OpeningPrice
OptionStyleCode
OptionStyleDesc
OptionTypeCode
OptionTypeDesc
OrderbookState
OriginalStrikePrice
PaybackCurrencyCode
PaybackValue
PaymentDate
Peculiarities
Performance
PerformanceWeek
PortalSegment
PotentialOpeningPrice
PotentialOpeningVolume
PreliminarySpecialOpenQuotation
PremiumFraction
PreviousClosingPrice
PreviousDate
PreviousMonthDate
PreviousMonthPrice
PreviousOrderbookMidPrice
PreviousPreviousMonthDate
PreviousPreviousMonthPrice
PreviousPreviousYearDate
PreviousPreviousYearPrice
PreviousYearDate
PreviousYearPrice
PriceStepGroupCode
PriceStepGroupDesc
ProductBrand
ProductGroup
ProductId
ProductISIN
ProductLine
ProductLineDesc
ProductSymbol
ProductType
Promoter
RBSSBusinessSector
RBSSBusinessSectorDesc
RBSSEconomicSector
RBSSEconomicSectorDesc
RBSSIndustry
RBSSIndustryDesc
RBSSIndustryGroup
RBSSIndustryGroupDesc
RedemptionCondition
RedemptionNoticePeriod
RedemptionPrice
RelevantShares
RemainingTermToMaturity
ReportingParamCode
ReportingParamDesc
ReutersLocalRIC
ReutersVtxRIC
ReversalTrades
ReversalTurnover
ReversalTurnoverCHF
ReversalVolume
RoundLotCategoryCode
RoundLotCategoryDesc
RoundLotSize
SBISector
SBISectorDesc
SecDelistingTypeCode
SecDelistingTypeDesc
SecDescriptionFull
SecDescriptionFullAlt
SecId
SecomInstrumentTypeCode
SecondFixingDate
SecondFixingPrice
SecondFixingTime
SecTypeCode
SecTypeDesc
SecurityId
SecurityTradingModeInd
SecurityType
SerialNumber
ServiceName
SettlementAmountFactor
SettlementCurrencyCode
SettlementCycleDays
ShareCountType
ShortFundName
ShortName
ShortNameAlt
ShortPositionFlag
SmallestDenomination
SmallestDenominationAlt
SmallestTradeableUnit
SpecialOpenQuotation
SpreadOkayFraction
StopTradingDuration
StopTradingRange
StopTradingRangeType
StopTradingRangeUnit
StrikePrice
StrikePriceCurrency
StrikePriceFractionType
SubscriptionPaymentDueDate
SVSPCategoryCode
SVSPCategoryDesc
SVSPSecTypeCode
SVSPSecTypeDesc
TermFromDate
TermToDate
TitleSegment
TitleSegmentDesc
Tminus1toNTurnover
Tminus1toNVolume
Tminus1Turnover
Tminus1Volume
Tminus2toNTurnover
Tminus2toNVolume
TotalExpenseRatio
TotalExpenseRatioDate
TotalExpenseRatioExcl
TotalMarketCap
TotalMarketCapCHF
TotalShares
TotalTrades
TotalTurnover
TotalTurnoverCHF
TotalVolume
TradeDateBasedInterestFlag
TradingBaseCurrency
TradingCurrency
TradingPlatform
TradingState
TurnoverCurrency
UnderlyingClosingPrice
UnderlyingCode
UnderlyingDesc
UnderlyingDescription
UnderlyingExchange
UnderlyingExchangeCode
UnderlyingGeographicalCode
UnderlyingGeographicalDesc
UnderlyingISIN
UnderlyingLastPrice
UnderlyingMarket
UnderlyingMarketCode
UnderlyingProductId
UnderlyingProviderCode
UnderlyingProviderDesc
UnderlyingSecurityId
UnderlyingTypeCode
UnderlyingTypeDesc
UnitName
UnitsForEntitlement
ValorNo
ValorNumber
ValorSymbol
ValorSymbolAlt
WarrantSpecialClause
WeekAgoDate
WeekAgoDelta
WeekAgoDiff
WeekAgoPrice
Year1986Date
Year1986Price
Year1991Date
Year1991Price
YearAgoDate
YearAgoDelta
YearAgoDiff
YearAgoPrice
YearlyHighDate
YearlyHighPrice
YearlyLowDate
YearlyLowPrice
YearlyOffBookHighDate
YearlyOffBookHighPrice
YearlyOffBookLowDate
YearlyOffBookLowPrice
YearThreeAgoDate
YearThreeAgoDelta
YearThreeAgoDiff
YearThreeAgoPrice
Yield
YLD5YAVG
214 That's all folks.
Some additional attributes
are available through the
corr command.
When using the snap command with select and/or
date ranges containing several values, the sequence of
valor and date pairs is undefined. There is no output line if a
valor was not traded on a given date, and duplicate lines are
suppressed. Therefore ValorSymbol/ValorNumber and MarketDate
must be included in the attribute list in order to make the
correlation:
date 19981001 19981009
210-Selected dates:
19981001
19981002
19981005
19981006
19981007
19981008
19981009
210 That's all folks.
select SCMN SMI
211 Selected 2 valors.
snap ValorSymbol MarketDate DailyHighPrice DailyLowPrice
250-Tab separated attribute values follow:
SCMN 19981005 393 347.5
SCMN 19981006 392.5 378
SCMN 19981007 410.5 384.5
SCMN 19981008 404 383
SCMN 19981009 402 393
SMI 19981001 5697.4 5433.2
SMI 19981002 5626.7 5130.7
SMI 19981005 5416.4 5108.3
SMI 19981006 5532 5226.7
SMI 19981007 5734.6 5357.6
SMI 19981008 5523.8 5219.9
SMI 19981009 5496.4 5307
250 End of data.
The corr command is similar to the
snap
command. It allows one to obtain a snapshot of
adjustments of trading statistics
for a given TradeDate:
select NESN RUKN
211 Selected 2 valors.
corr ValorSymbol TradeDate ReportDate TotalVolumeDelta TotalTurnoverDelta
250-Tab separated attribute values follow:
NESN 20020213 20020218 2800 1055911
NESN 20020215 20020218 42000 15813000
RUKN 20020215 20020218 14450 2297550
250 End of data.
When used without arguments the corr commands outputs
all possible attribute names in a 214 multi-line reply:
corr
214-The following attributes are recognized:
ISIN
NominalCurrency
OffExchangeReversalTrades
OffExchangeReversalTurnover
OffExchangeReversalTurnoverCHF
OffExchangeReversalTurnoverDelta
OffExchangeReversalVolume
OffExchangeReversalVolumeDelta
OffExchangeTrades
OffExchangeTurnover
OffExchangeTurnoverCHF
OffExchangeTurnoverDelta
OffExchangeVolume
OffExchangeVolumeDelta
OnMarketReversalTrades
OnMarketReversalTurnover
OnMarketReversalTurnoverCHF
OnMarketReversalTurnoverDelta
OnMarketReversalVolume
OnMarketReversalVolumeDelta
OnMarketTrades
OnMarketTurnover
OnMarketTurnoverCHF
OnMarketTurnoverDelta
OnMarketVolume
OnMarketVolumeDelta
ReportDate
ReportingParamCode
ReportingParamDesc
ReversalTrades
ReversalTurnover
ReversalTurnoverCHF
ReversalTurnoverDelta
ReversalVolume
ReversalVolumeDelta
SecDescriptionFull
SecDescriptionFullAlt
SecurityId
SerialNumber
ShortName
ShortNameAlt
TotalTrades
TotalTurnover
TotalTurnoverCHF
TotalTurnoverDelta
TotalVolume
TotalVolumeDelta
TradeDate
TradingBaseCurrency
TradingCurrency
TurnoverCurrency
ValorNo
ValorNumber
ValorSymbol
ValorSymbolAlt
214 That's all folks.
Any date range active when using the corr command
is applied to the ReportDate.
The sum command calculates the sum of attribute values
over a set of valors. There are two forms:
Use sum sum-attr-list
to sum over all selected valors.
Use sum sum-attr-list by by-attr-list
to sum over valors with the same values in by-attr-list
Imbedded in a 250 multi-line reply there is one line of output
for each set of valors.
Each line contains the TAB-separated values of the attributes
named in sum-attr-list, followed by the count of valors,
followed by the attributes named in by-attr-list.
For example, to calculate the daily turnover of all warrants
separated by currency:
select GroupCode=20&TradingState=T
211 Selected 2571 valors.
sum OnMarketTurnover OffExchangeTurnover by TradingBaseCurrency
250-Tab separated attribute values follow:
278318826 27817966 2551 CHF
224740 0 6 USD
368000 0 14 EUR
250 End of data.
Although all attributes are allowed in sum-attr-list,
only few of them give sensible results and even fewer will
be useful. For example, sum ValorNumber is hardly useful
and sum ValorSymbol is certainly nonsense.
When summing and calculating averages one must be careful to
prepare the valor sets.
TradingBaseCurrency and
TradingState are especially important
to consider.
The feed command is very similar to the
snap
command except that the date range has no influence and that
the output is slightly different.
The market time is
added at the beginning of each data line.
After outputting the current information the feed
command goes into a loop polling every 10 seconds the
quote server daemon.
If any of the requested attributes has changed value, the complete
line is output again.
The end of each batch of updates is flagged by a 151 reply.
The loop finally stops with a 250 reply when the
market date changes value
at around 6am of the next trading day.
Therefore a client program can receive a continous update on
all attributes with minimum data volume by using the
snap
command to retrieve all attributes constant during a day and then
entering a feed command loop for variable attributes.
feed ValorSymbol LastPrice LastTime
150 Tab separated attribute values follow:
08:19:46 NESN 2925 16:59:54
08:19:46 SMI 7389.5 17:19:44
151 End of batch.
09:01:01 NESN 2910 09:01:01
151 End of batch.
09:02:12 SMI 7330.3 09:02:12
151 End of batch.
09:02:20 SMI 7328.3 09:02:20
151 End of batch.
09:02:32 SMI 7325.3 09:02:29
151 End of batch.
09:02:41 SMI 7329.1 09:02:40
151 End of batch.
09:02:51 SMI 7329.3 09:02:50
151 End of batch.
09:03:02 SMI 7328.6 09:02:58
151 End of batch.
09:03:11 SMI 7330.8 09:03:11
151 End of batch.
09:03:21 NESN 2907 09:03:15
09:03:21 SMI 7334.1 09:03:21
151 End of batch.
...
151 End of batch.
250 End of data.
The paid command allows one to obtain intra-day price
and volume information for a valor.
It takes three arguments of which the last two are optional:
Valor selection criterion,
integration interval and
date.
To select a valor, the Valor symbol or
valor number with optional
exchange code
as in the snap command
has to be specified.
The integration interval is given in seconds. It defaults to 1.
All trades during a given interval are accumulated such that
the time stamp and price correspond to the last trade and the
volume is the sum of all trades.
This can reduce dramatically the amount of data transmitted,
if, for example, a chart with a 15 minutes resolution only shall
be filled.
The date (default current trading date) for
which the data is requested.
The output of the paid command is a
250 multi-line reply wiith time, price, and volume as TAB-separated values.
Only on-market trades are taken into account:
paid SCMN 3600 19981005
250-Tab separated Time/Price/Volume follow:
09:59:37 359.5 885069
10:59:57 368 388920
11:59:55 378 347852
12:59:49 385.5 148155
13:59:58 382.5 259842
14:59:52 381 206009
15:59:51 382.5 174022
16:59:59 376.5 274831
250 End of data.
The nav command allows one to obtain intra-day
net asset values,
combined with the corresponding last, best bid and best ask, for a valor.
It takes three arguments of which the last two are optional:
Valor selection criterion,
integration interval and
date.
To select a valor, the Valor symbol or
valor number with optional
exchange code
as in the snap command
has to be specified.
The integration interval is given in seconds. It defaults to 1.
All NAVs during a given interval are accumulated such that
the time stamp and price correspond to the last NAV.
This can reduce dramatically the amount of data transmitted,
if, for example, a chart with a 15 minutes resolution only shall
be filled.
The date (default current trading date) for
which the data is requested.
The output of the nav command is a 250 multi-line reply
with time, net asset value, last price, best bid and best ask
as TAB-separated values:
nav XMSMI 3600 20020215
250-Tab separated Time/NetAssetValue/Last/Bid/ask follow:
09:02:59 64.04 64.2 64 64.2
10:02:59 63.96 63.9 63.9 64.05
11:02:58 64.23 64.4 64.15 64.4
12:02:59 64.13 64.3 64.1 64.3
13:02:55 64.09 64.25 64 64.25
14:02:58 64.14 64.05 64.05 64.3
15:02:57 64.22 64.35 64.15 64.35
16:02:59 63.78 63.9 63.8 63.9
17:02:58 64.06 63.95 63.95 64.2
250 End of data.
Attribute values use the following data formats:
Dates: yyyymmdd
Times: hh:mm:ss of Swiss local time (MET)
Prices: floating point with non-significant zeroes and decimal point suppressed
Almost all attribute values can be empty.
Depending on the context it can mean that the value is zero,
unknown, or undefined.
FQS is a source for current market information and historical
inquiries of key market figures such as opening and closing prices.
FQS is not intended for answering archeological questions such as
"When did this company last change its name?".
Reference information is always valid for the current trading date
but not necessarily for the past date in an historic inquiry.
The attributes can be divided into three categories:
static: Reference information where the output value does not depend
on the date at all, e.g. the valor symbol, or only changes very
infrequently, e.g., the PriceStepGroupCode.
volatile: Market information only available for the current trading
date, e.g. ask and bid prices.
historic: Information recorded for past trading dates, e.g. opening prices.
The date on which first orders will be accepted.
The unique identifier and the textual description of the algorithm used to
calculate the accrued interest amount for a bond as well as the number of days
in a year used in the calculation.
The date from which the entitlement to accrued interest on a bond starts
(i.e. the earliest date from which accrued interest is calculated).
Also known as jouissance.
Adjusted open interest volumes for Eurex contracts.
Open interest volumes for the previous business date are published at 13:30.
Historic prices are adjusted by a correction factor in order to
compensate for stock splits or other important capital events.
For example, the actual closing price for UBSN on 5 May 2000 was 435.
After the 1:2 stock split this price is adjusted to 217.5 to be
comparable to later data:
select UBSN
211 Selected 1 valors.
date 20000508 -1
210-Selected dates:
20000505
20000508
210 That's all folks.
snap MarketDate ClosingPrice AdjustmentFactor
250-Tab separated attribute values follow:
20000508 217 1
20000505 217.5 0.5
250 End of data.
EntitlesToUnit and NumberNeeded define the number of underlying instruments
and of options/rights in the conversion ratio options to underlyings.
EntitlesToUnit underlyings are received for NumberNeeded options.
In the case that the derivative is a right, UnitsForEntitlement are the number of shares
required to receive EntitlesToUnit rights. In the case that the derivative link
is part of a composite security, UnitsForEntitlement and AllocatedNumber
define the ratio of derivatives per bond or share.
MinmNeeded defines the minimum number of options required to be able to actually
execute an exercise transaction.
The actual monetary amount or number of shares which has been
issued to, and traded on, the market. This number can be affected by security
events such as capital restructurings.
AssociatedNumberInIssue is the number of shares of the second component
of a structured product.
Selected Reuters ratios: price/earnings ratio; return on equity; dividends per share;
dividends, 5-year avg.; dividend yield, 5-year avg.; earnings per share; enterprise value
(in millions).
List of average prices and sizes which can be filled with the orderbook content.
from best to least good. The values are separated by '|'.
List has the same length as AskDepth/BidDepth except for orderbooks
containing market prices or hidden volumes.
Deprecated: use AskBookAverage and AskBookCumulated
Orderbook content (price, volume, number of orders / quotes / orders+quotes,
average price, cumulated volume, cumulated number of orders / quotes / orders+quotes)
up to 10 levels deep, from best to least good.
The values are separated by '|'.
The different lists for the same side are guaranteed to have the same length.
Hidden size orders are indicated by a '>'-sign before the volume values
and a '~'-sign before the average price values.
List of best 10 (inside market plus 9) bid (buy) and ask (sell) prices and volumes,
from best to least good. The values are separated by '|'.
Deprecated: use AskBookPrice and AskBookVolume
Best bid (buy) and ask (sell) prices and volumes.
Price values may be the string 'Market' to indicate orders at market prices.
Volume values can be preceded by a '>' character indicating
the presence of a hidden order.
For products traded on the SWX Quotematch platform the number of orders and quotes
at this price are also specified.
AskSpread = 100 * (AskPrice - BidPrice) / AskPrice
BidSpread = 100 * (AskPrice - BidPrice) / BidPrice
AskSpread and BidSpread are both empty if either AskPrice or BidPrice is undefined.
MidSpread = 200 * (AskPrice - BidPrice) / (AskPrice + BidPrice)
Main investment instrument of a Not Listed Investment Fund.
Possible values
are:
- 1
- Money Market
- 2
- Bonds
- 3
- Equities
- 4
- Asset Allocation
- 5
- Real Estate
- 6
- other funds
- 8
- Alternative Investments
The code and description of the asset class upon which an ETF or investment fund is based.
Value '1' indicates that the automatic clearing and settlement of trades are supported.
Time weighted average spread and fraction of market hours during
which the spread was better than the maximum limit (3%).
These values are only available for the preceding trading days.
Band
(static)
For securities traded on virt-x the band defines different sets of regulations
for delayed trade reporting and delayed publication of off order-book trades.
These attributes characterise the barrier levels which have an impact on the
payoff of a derivative product. In the case of derivatives with more than one
barrier the values are separated by '|'.
Possible values
for BarrierBasisTypeCode
are:
- 1
- Underlying
- 99
- Other
Possible values
for BarrierTypeCode
are:
- 2
- Knock-in Down and in-call
- 3
- Knock-in Up and in-call
- 4
- Knock-in Down and in-put
- 5
- Knock-in Up and in-put
- 6
- Knock-out Down and out-call
- 7
- Knock-out Up and out-call
- 8
- Knock-out Down and out-put
- 9
- Knock-out Up and out-put
- 10
- Stop-loss
- 11
- Lock-in
- 12
- Lock-out
- 99
- Other, as specified in FurtherConditionsText
BasketMemberships is a '|'-separated list of the indices defined by the baskets
command.
Each entry is preceeded by a plus-sign, if the selected valor is a component of
that index, or by a minus-sign otherwise.
BasketMembershipsOrder is the numeric index (1-based) of the right-most plus-signed
name in the list of indices, or zero if the valor is not a component of any of the
selected baskets.
Bloomberg symbols for the security on its primary exchange and on virt-x.
Code defining the meaning of quoted prices.
Possible values
are:
- 00
- per unit
- 10
- per unit for not fully-paid securities
- 01
- in percent
- 11
- in percent for not fully-paid securities
The unique member id of the central counterparty. This attribute is not
null only for securities which are CCP eligible.
Certificates is the number of outstanding share of a fund.
This number can vary each day, depending on the number of
creations (purchases) and redemptions (salfes).
The quantity FundVolume = Certificates * OfficialNetAssetValue
represents the value of the assets under the fund's management.
The unique identifier and the name for a clearing organisation.
Last NAV during a given trading date.
While the market is open, ClosingNetAssetValue returns the same value as NetAssetValue.
The SWX Composite Rating assigned to a bond in the SBI ratings indices.
Textual description of conditions relating to the exercising which cannot be
specified by other attributes.
Generation and version numbers of Eurex contracts.
ContractSize is the Number of underlyings to be delivered per option contract
or ticks per future contract.
The quantity ContractRatio = 1 / ContractSize is the
number of warrants required per underlying.
Type of Eurex contract.
Possible values
are:
- C
- Call option
- P
- Put option
- F
- Future
- B
-
Chooser; when these types of warrants are issued, it is not yet defined
whether it will be a call or a put; later in its life time, this will be
determined.
- S
- Spread
- O
- other
The coupon rate at issue of a bond.
Daily high/low prices and times.
Daily high/low off book prices and times.
Settlement prices for Eurex & SIX Swiss Exchange instruments.
For Eurex the settlement price is calculated after the end of trading
while for SIX Swiss Exchange instruments there may be multiple fixings
during each trading day.
Cumulated number of trades, volumes and turnover in the Swiss Block dark pool.
Trades are an approximate count of the number of trades during the current day.
Due to netting and reversal the actual number of trades may be different.
Volumes are in number of pieces for shares and derivatives and in
nominal currency units for bonds. Turnovers are in units of the
TurnoverCurrency.
The dark pool volumes are already included in
OffExchangeVolume etc.
Internal 4D reference data date.
The type of delivery of the underlying instrument.
Possible values
are:
- 1
- Title
- 2
- Cash
- 3
- Holder's choice
- 4
- Issuer's choice
The unique identifier and the textual description of the relationship of the
derivative data to the security.
Possible values
for DerivativeLinkType
are:
- 1
- Right
- 2
- Convertible
- 3
- Warrant
- 4
- Basket option
- 5
- Alternative option
Derivative categorisation used within SWX Swiss Exchange and SVSP.
Possible values
for DerivativeSecTypeCode
are:
- WJ
- Warrant
- WM
- Spread warrant
- WK
- Knock-out warrant
- WL
- Mini future
- WZ
- Other leverage product
- YA
- Capital protection without cap
- YB
- Capital protection with cap
- YZ
- Other capital protection product
- XA
- Discount certificate
- XB
- Barrier discount certificate
- XC
- Reverse convertible
- XD
- Barrier reverse convertible
- XH
- Barrier range reverse convertible
- XE
- Capped outperformance certificate
- XF
- Express certificate
- XG
- Step certificate
- XZ
- Other yield optimisation product
- ZA
- Tracker certificate
- ZB
- Bonus certificate
- ZC
- Outperformance certificate
- ZE
- Airbag certificate
- ZD
- Twin-win certificate
- ZZ
- Other participation product
Possible values
for SVSPSecTypeCode
are:
- 110
- Warrant
- 115
- Spread warrant
- 120
- Knock-out warrant
- 130
- Mini future
- 199
- Other leverage product
- 410
- Capital protection without cap
- 450
- Capital protection with cap
- 499
- Other capital protection product
- 310
- Discount certificate
- 320
- Barrier discount certificate
- 330
- Reverse convertible
- 340
- Barrier reverse convertible
- 345
- Barrier range reverse convertible
- 350
- Capped outperformance certificate
- 360
- Express certificate
- 370
- Step certificate
- 399
- Other yield optimisation product
- 210
- Tracker certificate
- 220
- Bonus certificate
- 230
- Outperformance certificate
- 240
- Airbag certificate
- 250
- Twin-win certificate
- 299
- Other participation product
Derivative categorisation used within SWX Swiss Exchange (deprecated).
Possible values
for DerivativeTypeCode
are:
- CPT
- Capital protection product
- CTC
- Certificate
- MYT
- Maximum yield product
- WTC
- Warrant
Possible values
for DerivativeSubtypeCode
are:
- CAP
- Capital protection product, with limited profit potential
- UNLIMITED
- Capital protection product, with unlimited profit potential
- DYNAMIC
- Certificate, dynamic
- OPEN_END
- Certificate, open-end
- STATIC
- Certificate, static
- DISCOUNT
- Maximum yield product, discount
- OUTPERFORMER
- Maximum yield product, outperformance
- REV_CONVERTIBLE
- Maximum yield product, reverse convertible
- CALL
- Warrant, call
- CONDOR
- Warrant, condor
- OTHER
- Warrant, other
- PUT
- Warrant, put
- SPREAD
- Warrant, spread
Not Listed Investment Fund distribution policy.
Possible values
are:
- A
- Distribution
- B
- Accumulation
Value '1' indicates that the valor attracts dividend payments.
Frequency with which dividend payments are made.
The codes are the same as for the
InterestFrequency.
List of date, amount, currency for the most recent dividend payments.
The values are separated by '|'.
The date may be undefined, if only the dividend amount has been announced yet.
See also ExDividendDate.
Used in Laspeyres formula to normalise the index and to assure
its continuity in the case of capital events.
The quantity 1 / Divisor is commonly referred to as Capital Factor.
A measure of the average maturity period of the capital invested in a bond, expressed
in years.
First date and latest date/time to exercise an option.
The unique identifier of an exchange or a market. It is normally conformant with
ISO 10383, e.g. "XSWX", "XFRA", "XHEL", "XETR". Markets are a sub-structure of
exchanges.
Code identifying the origin of the data.
Possible values
are:
- 1
- virt-x
- 4
- SWX Swiss Exchange
- 5
- Eurex options and futures
- 6
- Berne Stock Exchange
- 7
- Not Listed Investment Funds
- 8
- STOXX indices
- 9
- Swiss indices etc.
- C
- Chicago Board of Trade CBOT
- F
- Frankfurter Wertpapierbörse FWB
- H
- Helsinki Exchanges
- X
- XETRA (Deutsche Börse)
The concatenation of
ValorSymbol:ExchangeCode.
The date and type of the most recent ex-dividend event
which may not necesssarily be identical with any one of the dividend payments
descibed in DividendPayments.
Possible values
for ExDividendType
are:
- C
- Cash dividend
- S
- Stock dividend
- A
- A Conto (partial) dividend
- O
- Other dividend (e.g. choice between dividend and warrant)
The currency applicable to the exercise transaction.
First and last date to exercise an option.
Upper or lower threshold for a cash settlement, expressed in
exercise currency.
A value of '1' for the KnockOutFlag indicates, that if the ExerciseLimit is reached,
the option exercises automatically.
The price at which an option can be exercised.
It can be expressed either as a total price for the exercise transaction ('0'), or as a
price per unit of the underlying ('1').
Nominal expiration month of Eurex contracts in format yyyymm.
(The actual expiration date is not necessarily within that month.)
For rights, this defines the date when the underlying instrument goes ex-right.
Price, date and time of the final settlement values of STOXX &
SIX Swiss Exchange indices.
The first date in the time series of this valor or any dependent valors.
Fixing prices for SIX CHF Repo rates (Swiss Reference Rates). The fixing
values are disseminated 3 times during each trading day: 12:00 CET, 16:00 CET
and at the market close.
First payment date of a derivative which has an interest component e.g. structured
product bond.
The first and last trading dates.
Defines a fixed exchange rate for foreign securities for the currency conversions
associated with the exercise transaction.
Value 'F' indicates that the price for a bond does not include the accrued interest.
If '1' the bond is traded flat and accrued interest is not included in the calculation of
the settlement amount for a trade.
If '1' the bond's coupons are paid in the indicated foreign currency.
Defines the preferred display format for prices and strike prices. Prices are always
given in decimal format, but clients may want to convert them into any fractional value,
where applicable.
Possible values
for StrikePriceFractionType
are:
- 999
- None
- 102
- Halves or halves of hundredths
- 208
- Fourths
- 104
- Modified fourths
- 108
- Eights
- 10004
- Modified decimal fourths points
- 132
- Thirty-seconds
- 164
- Sixty-fourth
- 232
- Half thirty-seconds
- 432
- Quarter thirty-seconds
- 264
- Half sixty-fourth
- 120
- Twentieth or fives
- 10002
- Half points
- 51000
- Five one thousandths
- 1100
- One hundredths
- 110
- Tenths
- 10100
- Ten hundredths
- 0
- No decimals, i.e. integer values
- 140
- Modified fourtieth points
- 1
- Decimals
The number of shares freely available for trading and its ratio to the
total number of shares.
The capping factor is a further factor to reduce the relevant number of shares
in capped indices.
The code and description of the industry sector of an ETF or investment fund.
The long name of an ETF or investment fund.
Reuters and Bloomberg ticker symbols for a fund.
Textual description of conditions relating to the exercising which cannot
be specified by other attributes.
A value of '0' for the FurtherConditionsFlag indicates that these are for
information only.
Value, date and time of the last price for the future leg when
orders for Delta Neutral Trading Products are matched.
This price is fixed automatically by the system and can not be
influenced by the market participants.
The unique identifier and the language-dependent translation for a geographical area.
Classification of a security (see also
SecurityType).
Possible values
are:
- 1
- Trading Status
- 3
- Indices
- 5
- Total Trade Volumes
- 6
- Euro Interest Rates
- 7
- Official Exchange Rates
- 20
- Derivatives
- 30
- Shares
- 31
- Domestic Shares
- 32
- Foreign Shares
- 40
- Baskets
- 51
- Domestic Bonds
- 52
- Foreign Bonds
- 54
- Eurobonds in USD (obsolete)
- 55
- Eurobonds in EUR (obsolete)
- 56
- Eurobonds in GBP (obsolete)
- 57
- Eurobonds in JPY (obsolete)
- 59
- Eurobonds
- 67
- Eurex Options
- 68
- Eurex Options on Futures
- 69
- Eurex Futures
- 80
- Exchange-traded Funds
- 81
- Exchange-traded Funds
- 82
- Foreign Exchange Cross Rates
The unique identifier and textual description for a guarantee type.
The HasBasket flags whether an index has a known basket associated with it
('1') or not ('0').
ICB classification attributes for industry, supersector, sector and subsector.
Internal id (ISIN, Currency, Exchange).
The date from which the issuer of a bond has defaulted on interest payments.
The number of index calculations and the percentage of market value
with price updates for the current day.
These values are available only for STOXX indices.
The type of an index (code and description) as determined by the way it is calculated
and how dividends are treated (price or total return) or on the value used in the
index calculation (yield or duration).
Possible values
for IndexCalculationMethod
are:
- P
- Price index, not adjusted for dividends
- T
- Total return (performance) index, adjusted for dividends
- Y
- Yield index, only available for bond indices
- D
- Duration index, only available for bond indices
A mnemonic code and description indicating the "family" or group, if any, to which this index
belongs.
A mnemonic code indicating the range of maturities for the bonds
which are the components of SBI® Maturity indices.
A mnemonic code indicating the rating - or range of ratings - assigned
to the bonds which are the components of SBI® Ratings indices.
The number of stocks with price updates since the first index
calculation for the current day and the change since the last index calculation.
These values are available only for STOXX indices.
A code grouping the indices by the asset class of the components
or a major group.
Possible values
for IndexType
are:
- SH
- Shares
- BO
- Bonds
- OT
- Others
- ST
- Strategy indices
- MM
- Money Market rates/indices
Indicative offical closing value, available until the official closing value
is available, and the percentage of market value with official close updates for
the current day.
These values are available only for STOXX indices.
Indicative price minimum, its currency and date as well as a textual comment
of a Not Listed Investment Fund.
The unique identifier and the textual description of an industry sector.
The instrument type code of a security.
Possible values
are:
- BO
- Bond
- DE
- Derivative
- SH
- Share
The FlagsInterestComponentFlag indicates whether ('1') or not ('0') a structured product
has an interest component.
The InterestCalculation is a code indicating the interest calculation method.
Frequency of how often interest payments take place during a bond's lifetime.
Possible values
are:
- 1
- Once a year, i.e. every 12 months
- 2
- Twice a year, i.e. every 6 months
- 3
- 3 times a year, i.e. every 4 months
- 4
- 4 times a year, i.e. every 3 months
- 5
- 5 times a year, i.e. every 72 days
- 6
- 6 times a year, i.e. every 60 days
- 7
- 7 times a year, i.e. every 51 days
- 8
- 8 times a year, i.e. every 45 days
- 9
- 9 times a year, i.e. every 40 days
- A
- 10 times a year, i.e. every 36 days
- B
- 11 times a year, i.e. every 33 days
- C
- 12 times a year, i.e. every 30 days
- D
- Every 2nd year
- E
- Every 3rd year
- F
- Every 4th year
- G
- Every 5th year
- H
- Every 6th year
- I
- Every 7th year
- J
- Every 8th year
- K
- Every 9th year
- L
- Every 10th year
- M
- Every 11th year
- N
- Every 12th year
- O
- Every 13th year
- P
- Every 14th year
- Q
- Every 15th year
- X
- Anytime
- Y
- Irregular recurrence
- Z
- No recurrence
Interest rate for bonds and frequency of how often interest payments
take place during the bond's lifetime.
The InterestRate value can be "0" since there are bonds with an interest rate of 0%.
The value is empty if a new bond is traded before the payment date is reached.
The code and description of the investment style of an ETF or investment fund.
Collective investment vehicle of a Not Listed Investment Fund.
Possible values
are:
- 1
- Investment Fund
- 2
- Investment Foundation
- 3
- other
ISIN
(static)
12-character international security identifier, conformant to ISO 6166.
The instrument type code used when instructing clearing and settlement.
It is normally conformant with ISO 15022.
Conditions applied for the subscription/issue of units/shares
of a Not Listed Investment Fund.
Possible values
are:
- 1
- NAV
- 2
- NAV plus sales commission
- 3
- NAV plus buying fee
- 4
- Combination of 2 and 3
- 5
- others
Issue currency code, conformant with ISO standard 4217.
Issue and redemption price as well as interim profit of a Not Listed Investment Fund.
Abbreviation, short and long textual name of the issuer.
The code and description of the issuer (long name) of an ETF or investment fund.
The year in which a bond is issued.
Last non-empty best bid (buy) and ask (sell) prices and volumes.
Volume values can be preceded by a '>' character indicating
the presence of a hidden order.
LastAskSpread = 100 * (LastAskPrice - LastBidPrice) / LastAskPrice
LastBidSpread = 100 * (LastAskPrice - LastBidPrice) / LastBidPrice
AskSpread and BidSpread are both empty before the first quote of the day.
The order book mid price is simply the average of the best bid and
ask prices and is used as a market price estimate for heavily quoted
products e.g. ETF's.
The last & next coupon payment dates for a bond.
Price, date, time, and volume of last reported off order-book trade.
Price, date, time, and volume of last trade.
The legal regime appropriate for an ETF or investment fund.
Abbreviation of the bank responsible for the valor while it is listed.
The unique identifier and textual description of the segment under which
the valor is listed.
The unique identifier and the textual description of the listing type and thereby
the rules & regulations governing the listing and trading of the valor.
Possible values
for ListingTypeIndicator
are:
- 1
- Primary listing
- 2
- Secondary listing
- 3
- Provisional listing
- 4
- Not listed
- 5
- other
The management fee of an ETF or investment fund expressed as a percentage of the indicative
NAV.
TotalMarketCap = ClosingPrice * TotalShares
FreeFloatMarketCap = ClosingPrice * FreeFloatShares * CappingFactor
IndexMarketCap is the sum over all index component of TotalMarketCap or FreeFloatMarketCap,
depending on IndexCalculationMethod.
IndexComponentWeight is the weight of the component in the index.
Date and time for the market information.
The market date changes around 6am of a trading day.
The market time is the time stamp of the last received feed message
delayed by 15 minutes. Therefore the market time can be
much more than 15 minutes behind wall clock time when the market is closed.
Nominal delay of the market information (in seconds).
Delimited list of Market Makers for a fund.
Market segment, and thereby the jurisdiction, to which the security is allocated,
and the date from which onwards this allocation applies.
Possible values
for MarketSegment
are:
- EURM
- EU regulated market
- UKERM
- UK exchange regulated market
"Open" if the OrderbookState for any
of the selected valors corresponds currently to "Open for trading" or "Stop trading".
"Closed" otherwise.
Maturity and earliest redemption date for bonds.
Date from which interest starts to be accumulated.
MaturityDateAlt may be specified for derivatives with a bond component.
The maximum and minimum interest rate of a bond with a variable interest rate,
fixed at the time of issue.
PreviousClosingPrice and
PreviousDate
of the day one month ago.
MonthAgoDiff = ClosingPrice - MonthAgoPrice;
MonthAgoDelta = 100 * (ClosingPrice - MonthAgoPrice) / MonthAgoPrice
PreviousClosingPrice and
PreviousDate
of the day six months ago.
MonthSixAgoDiff = ClosingPrice - MonthSixAgoPrice;
MonthSixAgoDelta = 100 * (ClosingPrice - MonthSixAgoPrice) / MonthSixAgoPrice
PreviousClosingPrice and
PreviousDate
of the day three months ago.
MonthThreeAgoDiff = ClosingPrice - MonthThreeAgoPrice;
MonthThreeAgoDelta = 100 * (ClosingPrice - MonthThreeAgoPrice) / MonthThreeAgoPrice
Value, date and time of the last NAV of a fund. Generally calculated in
real-time, by the provider of the market data feed (cf.
OfficialNetAssetValue).
Nominal, trading and turnover currency codes, conformant to ISO standard 4217.
TradingCurrency expresses the price unit, i.e. PCT for bonds, while
TradingBaseCurrency expresses the currency for trade values
(price times volume). The TurnoverCurrency, e.g., GBP, may differ from
the TradingBaseCurrency, e.g., GPX.
The face value of an equity valor.
The percentage of a bond or unit trust issue or monetary amount of
a share issue that has not been paid for (i.e. remains outstanding).
The NonVerseInSettlementFlag indicates whether ('1') or not ('0') the
non-verse is used in calculating the settlement amount for trades.
NSIN
(static)
National security identifier, obtained from the ISIN by removing
the country code, any leading zeroes, and the check digit at the end.
For Swiss ISINs this corresponds to the ValorNo.
For other countries the NSIN may contain not just digits.
Last off exchange ("off-book") price during a given trading date.
The value calculated by taking the market value of all
securities owned plus all other assets such as cash, subtracting all liabilities,
and then dividing the resulting FundVolumne by the total number of shares
outstanding (Certificates).
This value and its date and time is generally provided once per day by the
fund company.
Cumulated on-market, off-exchange, and total number of trades, volumes and turnover.
Trades are an approximate count of the number of trades during the current day.
Due to netting and reversal the actual number of trades may be different.
Volumes are in number of pieces for shares and derivatives and in
nominal currency units for bonds. Turnovers are in units of the
TurnoverCurrency.
Only OnMarketVolume is updated continously during trading hours.
The other values are available only after the market has closed.
The following relations hold:
Reversal = OnMarketReversal + OffExchangeReversal
Total = OnMarket + OffExchange
OnMarket and OffExchange values are already corrected for reversals
reported the same day.
The distinction between OnMarketReversal and OffExchangeReversal
is only done since 2 Oct 2000. For historic data from before that date
OffExchangeReversal is always zero.
Adjustments of trading statistics for a given TradeDate. This data is based on
off-exchange trades reported for that TradeDate on a later ReportDate.
To calculate the correct trading statistics for a given TradeDate, the
original values and the corrections
for all ReportDates have to be arithmetically added.
First and last paid price during a given trading date.
While the market is open, ClosingPrice returns the same value as LastPrice.
With an American style option the option can be exercised at any point up to
the expiration date while a European style option can be exercised only on the
expiration date.
The unique identifier and the textual description of the option type.
Code indicating whether the security is trading.
Possible values
are:
- -1
- Open For Trading
- 0
- Instrument Not Trading
- 1
- Preopening
- 2
- Break
- 3
- Suspended
- 4
- Non-Opening
- 5
- Stop Trading
- 6
- Underlying Not Trading
- 7
- Security Not Yet Trading
- 8
- Between Auctions
- 9
- Security Delisted
- 10
- New Security
- 11
- In Recovery
- 12
- After Recovery
- 13
- Post Trading
NAV calculation time and/or possible restrictions on issue/redemption
of units/shares of a fund. Up to three codes may be contained in this atttribute,
in any sequence.
Possible values
are:
- A
- weekly
- B
- monthly
- C
- quarterly
- D
- no regular issues and redemptions
- E
- previous day price
- F
- former price evaluation
- G
- issue stopped
- H
- issue and redemption stopped
- I
- price indication
- X
- distribution of income and/or capital gains
Change of today's NetAssetValue
of a fund with respect to the previous year's and previous week's closing NAV.
The market segmentation used for the "SWX for investors" portal.
Possible values
are:
- EQ
- Equities
- BO
- Bonds
- FU
- Funds
- OT
- Others
Potential or theoretical opening price and volume whilst the market is still closed.
Closing price of the preceding trading day.
ClosingDiff = ClosingPrice - PreviousClosingPrice
ClosingDelta = 100 * (ClosingPrice - PreviousClosingPrice) / PreviousClosingPrice
ClosingDiff and ClosingDelta are zero before the first trade of the day.
LastDiff = LastPrice - PreviousClosingPrice
LastDelta = 100 * (LastPrice - PreviousClosingPrice) / PreviousClosingPrice
LastDiff and LastDelta are empty before the first trade of the day.
Date of the preceding trading day.
Closing price and date of the last trading day in the preceding month
and the month before that.
Closing price and date of the last trading day in the preceding year
and the year before that.
The unique identifier and the textual description of a price step group.
Product brand for a derivative series of a given issuer.
Eurex product group.
Possible values
are:
- CAP
- Capital market products
- EQU
- Equity market products
- IDX
- Index products
- MON
- Money market products
Unique string value to identify the product a security belongs to in FQS.
The ISIN
of the product a security belongs to.
Eurex and SWX/virt-x product line.
Possible values
for ProductLine
are:
- O
- Option
- F
- Future
- DS
- Swiss Share
- FS
- Foreign Share
- ET
- Exchange Traded Fund
- DB
- Swiss Bond
- FB
- Foreign Bond
- EB
- International Bond (ex Eurobond)
- DE
- Derivative
- WA
- Warrant
- SP
- Structured Product (obsolete)
- S1
- Structured Product with Interest Component
- S2
- Structured Product without Interest Component
- SF
- Structured Fund
- IF
- Investment Fund
- SE
- Swiss Equity
- PE
- Paneuropean Equity
- VE
- Exchange Traded Fund
Short hand symbol for Eurex products, e.g. "BMW" for stock options
on BMW shares and "FSMI" for SMI futures.
Eurex product type code.
Possible values
are:
- OSTK
- Stock option
- FINX
- Index future
- OINX
- Option on Index future
- FBND
- Bond future
- OFBD
- Option on Bond future
- FFIT
- Interest rate future
- OFIT
- Option on Interest rate future
Promoter of a Not Listed Investment Fund.
These attributes identify the product with the Reuters Business Sector Schema (RBSS)
four-level classification scheme.
Conditions applied for the redemption of units/shares
of a Not Listed Investment Fund.
Possible values
are:
- 1
- NAV
- 2
- NAV minus redemption condition
- 3
- NAV minus selling fee
- 4
- Combination of 2 and 3
- 5
- others
The number of days which the issuer of a bond contracts to
give as notice for premature redemption(s). This is supplied when the bond is
first issued.
The number of shares used in the index calculation.
The remaining term to maturity of a bond in years.
The unique identifier and textual description of the trade reporting regime of a given security.
Reuters Instrument Codes for the security on its primary exchange and on virt-x.
The unique identifier and the textual description of a round lot category, as well as
the minimum order size, the minimum order size for an order to be allowed to bear a
price, the minimal size of orders with a hidden portion and the minimal size of the
visible part of such an order.
Categorization of bonds used in SBI® rating indices.
Possible values
for SBISector
are:
- DG
- SBI Domestic - Swiss Government
- DN
- SBI Domestic - Non-Government
- FG
- SBI Foreign - Government
- FC
- SBI Foreign - Corporate
- FS
- SBI Foreign - Supranational
The unique identifier and the textual description of the reason for security delisting.
Unique numeric value to identify a security, allocated by the SWX trading platform.
The unique identifier and the textual description of a Security Type
(cf. SecurityType).
Unique string and numeric values to identify a security in FQS.
Indicates the trading mode of the security i.e. if the security is traded on the
high capacity "Quotematch" platform or on the SWX Platform (formerly known as "EBS").
Possible values
are:
- S
- Order-book driven (on SWX)
- V
- Order-book driven (on VTX)
- Q
- Quote driven
Code for security types (see also
GroupCode).
Possible values
are:
- BS
- Bearer Share
- EF
- Exchange-traded Funds
- GC
- Gratification Certificate
- PC
- Participation Certificate
- RS
- Registered Share
- UT
- Unit Trust
- OT
- Others
- AS
- Asset Backed Security
- BE
- Bond ex Warrant
- BN
- Bond Linked Note
- BO
- Bond
- BW
- Bond with Warrant
- CB
- Convertible Bond
- CN
- Credit Linked Note
- DB
- Dual Currency Bond
- DC
- Dual Currency Convertible Bond
- FI
- Foreign Dual Currency Convertible Bond
- FL
- Floating Rate Bond
- CW
- Covered Warrant
- DR
- Warrant on Commodity
- KI
- Knock-In Warrant
- KO
- Knock-Out Warrant
- OW
- Other Warrant
- RI
- Right
- SB
- Structured Product Bond
- SC
- Structured Product Certificate
- SO
- Structured Product Commodity
- SP
- Structured Product Warrant
- SW
- Shareholder's Warrant
- WB
- Warrant of Bond
- WC
- Warrant on Currency
- WI
- Warrant on Interest Rate
The unique identifier of the service which provides the data:
e.g. "fqsdata", "exqsdata".
The multiplicative factor used in the determination of the settlement amount
of a trade and the default number of days after trading on which a trade is normally
settled.
Settlement currency code, conformant to ISO standard 4217.
The type of capital used in the index calculation.
Possible values
are:
- T
- Total number of shares, i.e. the TotalShares are relevant
- F
- Free-float portion, i.e. the FreeFloat is relevant
Short name of the Not Listed Investment Fund (max. 60 characters).
Name of a unit/share of a Not Listed Investment Fund (max. 80 characters).
Short name (max. 30 characters) of the security.
Security names are the German or English version.
Alternative short name (max. 30 characters) and full names
(max. 60 characters) of the security.
Security names are the German or English version.
The alternative names may be in another language or the set of another vendor.
A value of '1' indicates, that the option implies an obligation to receive / deliver
rather than an entitlement.
The smallest nominal unit for a bond (SmallestDenominationAlt may be defined for
a derivative with a bond component).
SpecialOpenQuotation (SOQ) is the index value calculated with the opening
price of each stock and the latest available currency rate at the time the opening
price was received. PreliminarySpecialOpenQuotation is the SOQ value calculated
at 10:30 (MET).
These values are available only for STOXX indices.
The limit value of the difference between the reference price and a potential trade
price which will cause a stop trading, the standard duration of a stop trading
and the minimum number of minutes of trading after a stop trading before trading
ceases for the day. The StopTradingRangeType implies the StopTradingRangeUnit
for the StopTradingRange.
Possible values
for StopTradingRangeType
are:
- 1
- percentage from the last paid price
- 2
- number of price steps
- 3
- absolute amount
- 4
- no stop trading
Strike (or exercise) price of an option or futures contract.
OriginalStrikePrice is the strike price defined when the contract was created and
stays constant.
StrikePrice is the actual strike price which may change due to capital adjustments
of the underlying instrument.
Strike price currency code, conformant to ISO standard 4217.
The date upon which the payments from subscribers to a new issue are due.
This is relevant to the calculation of accrued interest because this date is the
earliest possible value date for the bond. Any trades which are agreed
before this date will have a value date equal to or later than the
SubscriptionPaymentDueDate. Also known as Liberierung.
A coarse-grained categorization currently only used for equities.
Possible values
for TitleSegment
are:
- SA
- Schweizer Aktien
- AA
- Ausländische Aktien
- SP
- Sponsored Segment
Volumes and turnover reported for the preceding trading date (T-1) alone,
culmulated for all trading dates, and cumulated for T-2 and before, respectively.
Volumes are in number of pieces for shares and derivatives and in
nominal currency units for bonds. Turnovers are in units of the
TurnoverCurrency.
The values may be negative due to reversals of mistrades.
The Tminus2toN values are seldom non-zero.
The following relations hold:
Tminus1toN = Tminus1 + Tminus2toN
In the SWX bond market it is customary to delay publication
of trade reports until the next day.
There T-1 volumes often exceed the
OffExchangeVolume
for the current trading.
Total Expense Ratios including and excluding the performance fee
and their calculation date for a Not Listed Investment Fund.
The IncreaseOfFee (max. 80 characters) covers a time period
of up to 12 month.
The theoretical number of issued and outstanding shares, i.e. the total amount of
equities, reduced by the reserve, that has been fully subscribed and wholly or
partially paid-in, and documented in the Commercial Register.
Indication of whether the accrued interest is to be calculated based on the
trade date ('1') or on the settlement date ('0').
The TradingPlatform attribute indicates the electronic trading platform
on which trades for the valor can be matched.
Possible values
are:
- Q
- Quotematch platform
- S
- SWX platform
- V
- virt-x platform
The TradingState attribute indicates if a valor can be traded on the current date.
A selection of TradingState=T effectively suppresses
all valors which are not yet or no longer tradable.
Possible values
are:
- N
- FirstTradingDate and AcceptOrdersDate are in the future
- A
-
AcceptOrdersDate is in the past, but FirstTradingDate is still in the future
- D
- LastTradingDate is in the past
- E
- ExpirationDate is in the past
- T
- otherwise
The current price and the previous closing price of the underlying instrument
of an option or future contract.
The code and description of the underlying of an ETF or investment fund.
Textual description for the underlying instrument of an option or future contract.
The ISIN
of the underlying instrument.
The Exchange and
Market of the underlying instrument of a derivative.
The ExchangeCode of a market
where the underlying instrument is traded.
The code and description of the geographical area of the underlying(s) of an ETF or investment fund.
The ProductId and
the SecurityId
of the underlying instrument of a derivative.
The code and description of the "provider" of the underlying(s) of an ETF or investment fund
e.g. STOXX or SWX if the underlying is an index.
The unique identifier and the textual description of an underlying type.
Swiss valor number and symbol.
ValorNo is the raw valor number as integer.
ValorNumber is the formatted valor numbers.
Number with less than six digits are padded with leading '0's to 6 digits.
Numbers with more than 6 digits are padded with leading '0's to nine digits.
Valor symbols are the German or English version.
Alternative valor symbol, i.e.
in another language or from the set of another vendor.
Special conditions on warrants traded on SWX Swiss Exchange.
Possible values
are:
- WSC_NULL
- No special conditions
- WSC_KNOCK_OUT
- Warrant with automatic expiry ("knock-out")
PreviousClosingPrice and
PreviousDate
of the day one week ago.
WeekAgoDiff = ClosingPrice - WeekAgoPrice;
WeekAgoDelta = 100 * (ClosingPrice - WeekAgoPrice) / WeekAgoPrice
Price and date of the last trading day in 1986 and 1991.
PreviousClosingPrice and
PreviousDate
of the day a year ago.
YearAgoDiff = ClosingPrice - YearAgoPrice;
YearAgoDelta = 100 * (ClosingPrice - YearAgoPrice) / YearAgoPrice
Yearly high/low prices and dates during the last 365 calendar days.
Yearly high/low off book prices and dates during the last 365 calendar days.
PreviousClosingPrice and
PreviousDate
of the day three years ago.
YearThreeAgoDiff = ClosingPrice - YearThreeAgoPrice;
YearThreeAgoDelta = 100 * (ClosingPrice - YearThreeAgoPrice) / YearThreeAgoPrice
The "yield to worst" of a bond. Equals the yield to maturity for straight bonds
while for callable bonds it is the lower of yield to maturity and yield to
first call.
#!/usr/local/bin/perl -w
#
# This program connects to the quote server and prints for a
# given security all attributes with a non-empty value.
use strict;
use IO::Socket;
die "Usage: $0 host port [valor...]\n" unless $#ARGV >= 1;
my $srvHost = shift;
my $srvPort = shift;
my $socket = IO::Socket::INET->new(PeerAddr => "$srvHost:$srvPort");
die "Cannot connect to $srvHost on port $srvPort\n"
unless defined($socket);
my $line;
$line = readLine("^220");
$line = readLine("^211");
my $valors = join(" ", @ARGV);
$valors = "*" if $valors eq "";
writeLine("select $valors");
$line = readLine("^211");
#
# Get attribute names.
#
my @attrNames;
writeLine("snap");
$line = readLine("^214-");
while(1) {
$line = readLine();
last if $line =~ m/^214/;
chomp $line;
my @fields = split(/\t/, $line);
push @attrNames, $fields[1];
}
#
# Get attribute values.
#
writeLine("snap " . join(" ", @attrNames));
$line = readLine("^250-");
while(1) {
$line = readLine();
last if $line =~ m/^250/;
chomp $line;
my @values = split(/\t/, $line);
shift @values;
my $i;
foreach $i (0..$#values) {
printf "%-30s %s\n", $attrNames[$i].":", $values[$i]
unless $values[$i] eq "";
}
print "\n";
}
exit 0;
#-------------------------------------------------------------------------
#
# Read one line from the server.
# Optionally check that the line matches the expected reply.
# If there is an error, throw an exception.
#
sub readLine {
my $expected = shift;
my $line = $socket->getline();
die "EOF: $!" unless defined($line);
die "Unexpected: $line" if defined($expected) and $line !~ m/$expected/;
return $line;
}
#
# Send line to server adding newline.
#
sub writeLine {
my $line = shift;
$socket->print($line."\n");
}
|