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

RE: TradeStation Precision - Summary



PureBytes Links

Trading Reference Links



> -----Message d'origine-----
> De : MikeSuesserott [mailto:MikeSuesserott@xxxxxxxxxxx]
> Envoye : dimanche 29 juillet 2001 17:49
> A : omega-list@xxxxxxxxxx
> Objet : AW: TradeStation Precision - Summary
>
>
>
> Allow me to offer a bit of background information which may help
> to clarify some of the issues.
>
( snip the butterfly -Lorentz story)

> Now I hope that the above may help to understand better where
> much-maligned Pierre was right and where he made a little mistake. While
Pierre was
> absolutely right in telling his students to omit unnecessary decimals when
> calculating, say, an angular velocity from a formula, it seems he did not
> take into consideration that as soon as *feedback processes* are involved,
> it becomes a totally different story. With feedback processes, you want to
> use all the precision you can get because, as described above, these
> processes are numerical minefields where tiny inaccuracies in the
> calculation can quickly magnify to such an extent that the
> resulting signal may become totally meaningless.
>

Thanks, I am very much maligned as you may see later, and much more than
what you suppose.


> Now coming back to TradeStation and Metastock and similar
> software, we have to keep in mind that many of the commonly used trading
> indicators, like, for instance, the EMA, *are* programmed as deterministic
feedback processes.
> Therefore, instabilities will arise automatically, owing to the numeric
> properties of these iteration processes.
>

Please do te following experience with your tS2000 copy if you still have
it:

Write the code below into in an indicator and apply it on a 35,000 bars
chart ( you may choose anything yopu want), Maxbarsback not set to
autodetect to avoid a  further parallel discussion.

============================================
value1=2; [ This is obviously a constant, set to 2 every bar}

value2=xaverage(value1,10); {this is the EMA of the constant serie above}
Value3=2-value2; { this is the error that should propagate according to you
and that need Double precision at a minimum}

if mod(currentbar,50)=0 then messagelog(currentbar:1:0,"   ",value2:1:8,"
",value3:1:8);
{The message log will display barnumber, the EMA, the error, every 100 bars}

plot1(value3); { this is a plot of the error}

> Please note that this phenomenon does not result from any weakness of the
> trading system involved, nor is it entirely the fault of the software.
> Inaccuracies will always arise of necessity as soon as any
> feedback process is involved in the calculation of a trading system.

Yes, and you are sure that the error will propagate!
So, we should not see a xaverage value of 2 after some hundreds of bars

>
> What corrective measures are available? While tweaking the
> program code may help in a few special cases, the only remedial action
that would be
> generally applicable, and would definitely be called for in the
> cases of TS and Metastock, is an increase of the internal floating-point
precision of
> the program. This solution, while not a panacea, will serve to delay the
> introduction of noise which now attacks those feedback processes at a
> comparatively early stage of the iteration, and will thus help to prevent
> many of the instabilities described.

No, the solution is to avoid to claim for errors that only exist in your
brain, and some biased thinking.

Here is a copy of the message log, with 8 digits precision: The EMA error
does not propagate at all


	Date	Content	Analysis Technique
	29/07/2001 18:55	30150   2.00000000    0.00000000	Indicator: test debile
	29/07/2001 18:55	30100   2.00000000    0.00000000	Indicator: test debile
	29/07/2001 18:55	30050   2.00000000    0.00000000	Indicator: test debile
	29/07/2001 18:55	30000   2.00000000    0.00000000	Indicator: test debile
	29/07/2001 18:55	29950   2.00000000    0.00000000	Indicator: test debile

	29/07/2001 18:55	23100   2.00000000    0.00000000	Indicator: test debile
	29/07/2001 18:55	23050   2.00000000    0.00000000	Indicator: test debile
	29/07/2001 18:55	23000   2.00000000    0.00000000	Indicator: test debile
	29/07/2001 18:55	22950   2.00000000    0.00000000	Indicator: test debile
	29/07/2001 18:55	22900   2.00000000    0.00000000	Indicator: test debile

	29/07/2001 18:55	16200   2.00000000    0.00000000	Indicator: test debile
	29/07/2001 18:55	16150   2.00000000    0.00000000	Indicator: test debile
	29/07/2001 18:55	16100   2.00000000    0.00000000	Indicator: test debile
	29/07/2001 18:55	16050   2.00000000    0.00000000	Indicator: test debile
	29/07/2001 18:55	16000   2.00000000    0.00000000	Indicator: test debile
	29/07/2001 18:55	15950   2.00000000    0.00000000	Indicator: test debile
	29/07/2001 18:55	15900   2.00000000    0.00000000	Indicator: test debile
	29/07/2001 18:55	15850   2.00000000    0.00000000	Indicator: test debile
	29/07/2001 18:55	15800   2.00000000    0.00000000	Indicator: test debile
	29/07/2001 18:55	15750   2.00000000    0.00000000	Indicator: test debile

	29/07/2001 18:55	14400   2.00000000    0.00000000	Indicator: test debile
	29/07/2001 18:55	14350   2.00000000    0.00000000	Indicator: test debile
	29/07/2001 18:55	14300   2.00000000    0.00000000	Indicator: test debile
	29/07/2001 18:55	14250   2.00000000    0.00000000	Indicator: test debile
	29/07/2001 18:55	14200   2.00000000    0.00000000	Indicator: test debile


	29/07/2001 18:55	5800   2.00000000    0.00000000	Indicator: test debile
	29/07/2001 18:55	5750   2.00000000    0.00000000	Indicator: test debile
	29/07/2001 18:55	5700   2.00000000    0.00000000	Indicator: test debile
	29/07/2001 18:55	5650   2.00000000    0.00000000	Indicator: test debile


 Sincerely,

Pierre Orphelin
www.sirtrade.com
TradeStation Technologies representative in France
Neurofuzzy logic system builder that work with the required precision