[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Special thread for Pierre Orphelin, the man who do not want to see



PureBytes Links

Trading Reference Links

Yes, you are correct. What you mention is also the other problem I have been
stating, when backtesting, you backtest over such a long time that prices
has moved considerably. Newer prices might be in the magnitude of 100:s and
older prices in the magnitude of 1:s or even tenths. Converting all of these
using the same factor (100th, 1000th or whatever) causes you to lose
calculation precision due to compromises in the selected Pricescale value.

> -----Original Message-----
> From: Gary Fritz [mailto:fritz@xxxxxxxx] 
> Sent: den 17 juli 2001 17:13
> To: Omega-List
> Subject: Re: Special thread for Pierre Orphelin, the man who 
> do not want to see
> 
> 
> > This is what i learn while looking on TS 4.0  DDE protocol 
> - there is 
> > all quote (chart) data  represented with WORDS (2bytes - 
> 16bit) only 
> > data!!! also they use special parameter, which mean there decimal 
> > point should be located,
> 
> Yes.  The Server stores all data points as a 16-bit offset from the 
> FIRST QUOTE of the day, using the PriceScale as the "special 
> parameter" to scale it.
> 
> So each price you see on your screen is calculated as:
> 
>   Price = FirstQuoteOfDay + PriceScale * 16BitOffset
> 
> > All is ok, until special cases like that you showed below. 
> :) that is 
> > that at 5th significant digit sometimes numbers are lost.
> 
> That's not what Mats is seeing.  He's seeing roundoff errors in 
> single-precision FLOAT variables.
> 
> The price representation that Omega uses saves lots of room in the 
> database, but it causes problems if a market starts to move a lot 
> more than it used to.  For example, the INDU and the NDX/ND symbols 
> have a PriceScale of 1/100 in the default symbol universe.  That 
> worked fine until those markets started moving more than 327.67 
> points in a day.  A 16-bit value can represent numbers from -32767 to 
> +32768, so 1/100 * 32767 gives a limit of 327.67 offset from the
> opening price.  You have to change the PriceScale on those symbols to 
> 1/10 to handle the wider range.  This means you lose a digit of 
> precision after the decimal point (the price is now XXX.X instead of 
> XXX.XX) but you won't have garbage data on large-range days.
> 
> Gary
> 


This message contains information that may be privileged or confidential and is the property of the Cap Gemini Ernst & Young Group. It is intended only for the person to whom it is addressed. If you are not the intended recipient, you are not authorized to read, print, retain, copy, disseminate, distribute, or use this message or any part thereof. If you receive this message in error, please notify the sender immediately and delete all copies of this message.