Multiple-Currency Testing?

Questions and discussion of Trading Blox and other platforms for non Trading Blox customers. Trading Blox customers should use the Trading Blox Support forum.
Post Reply
Forum Mgmnt
Roundtable Knight
Roundtable Knight
Posts: 1842
Joined: Tue Apr 15, 2003 11:02 am
Contact:

Multiple-Currency Testing?

Post by Forum Mgmnt » Thu May 27, 2004 3:29 am

Does anyone know of a futures testing platform that supports the testing of markets in multiple currencies with a conversion back to USD (or some other base currency)?

In particular, do any platforms let you test futures like the LIFFE Long Gilt which is denominated in GBP with a basket of other markets that are denominated in USD with conversion of the GBP position into equivalent dollars on entry and exit of the position based on the then-current exchange rates.

VeriTrader 1.6 will do this provided you have the corresponding GBP/USD exchange rate file, but I'm trying to figure out if this is common or a fairly unique feature.

- Forum Mgmnt

TK
Roundtable Knight
Roundtable Knight
Posts: 167
Joined: Tue Apr 15, 2003 5:45 pm

Post by TK » Thu May 27, 2004 4:34 am

It is a great feature but most testing platforms don't provide it. I'd say it will widen the gap between VeriTrader and other platforms :D.

It seems, however, Trading Recipes allows multiple currency tests:

Q15: Can TRADING RECIPES trade markets which are denominated in different currencies?
A: TRADING RECIPES can handle portfolios made up of tradeable instruments denominated in different currencies (e.g. 10yr Japan Govt Bond, 10yr Swiss Govt Bond). Portfolio equities (and consequently position sizes) are consolidated into a common currency (usually USD) calculated from daily exchange rate data files for each foreign currency (USD/JPY, USD/CHF etc), while the trades for each instrument are maintained in their underlying currency (JPY, CHF etc).

Source: http://www.tradingrecipes.com/faq.html

In particular, do any platforms let you test futures like the LIFFE Long Gilt which is denominated in GBP with a basket of other markets that are denominated in USD with conversion of the GBP position into equivalent dollars on entry and exit of the position based on the then-current exchange rates.
Shouldn't the conversion into dollars be performed daily so that you can determine position sizes for the next day based on daily equity in USD? Will VeriTrader provide daily equity in USD?

Rocky
Contributing Member
Contributing Member
Posts: 6
Joined: Fri May 09, 2003 7:13 am

currency conversion

Post by Rocky » Thu May 27, 2004 6:47 am

Trading Recipes does. There are a few steps necessary, but it works. You first create what is called a CMP file that is locked to your currency data. ex. JY.CMP You then rename that file to whatever contract you want to convert. ex. ren JY.CMP to JGB.CMP. This locks the currency file to the Bond file. When you run a study on JGB it adjust the data to the currency.

Rocky

garryboor
Full Member
Full Member
Posts: 14
Joined: Thu May 13, 2004 8:32 am

Post by garryboor » Thu May 27, 2004 8:39 am

Why is down-to-the-penny accuracy so important to you in this situation, but unimportant in:

viewtopic.php?p=7875&highlight=tick#7875
viewtopic.php?p=7884&highlight=matter#7884

Forum Mgmnt
Roundtable Knight
Roundtable Knight
Posts: 1842
Joined: Tue Apr 15, 2003 11:02 am
Contact:

Post by Forum Mgmnt » Thu May 27, 2004 11:33 am

TK wrote:Shouldn't the conversion into dollars be performed daily so that you can determine position sizes for the next day based on daily equity in USD? Will VeriTrader provide daily equity in USD?
All the code that computes the value of the open positions also accounts for the current exchange rate so open equity is also adjusted each day.
garyboor wrote:Why is down-to-the-penny accuracy so important to you in this situation, but unimportant in:

viewtopic.php?p=7875&highlight=tick#7875
viewtopic.php?p=7884&highlight=matter#7884
I miscommunicated if I gave the impression that accuracy wasn't important.

Currency rate conversion, however, is much more than a matter of down to the penny accuracy. Conversion rates can easily differ by 10% to 25% during the rather long trade periods of a long-term trend following system. This is more than a few pennies.

I do believe that there is a lot more inaccuracy in testing in general than a single tick. Tiny factors affect test results much more than this.

TR for example, uses an old format floating point representation that does not appear to give the same results or trades as computations using the floating point in C++. We did some testing comparing Aberration trades using TR with VeriTrader, and found that all the differences were attributable to this floating point difference. VeriTrader's results matched what we computed using an Excel spreadsheet. TR's results did not.

I'm not saying that TR is wrong, they simply are using a different internal way of calculating numbers. Seemingly little things like this can affect results considerably.

In reality, I think you should expect your testing to come within 20% to 50% of the results you might get in trading.

I actually decided to allow trades at in between tick amounts because I believe this results in a more accurate simulation, not a less accurate one.

In my testing I like to use an 8% slippage factor. For some markets a full ATR might be only 10 ticks; if you rounded to full tick increments, you would on average be able to model slippage only at 0% or 20%. Do you think it would be more accurate to compute slippage at 20%. That's the minimum slippage you would get for a market with a 10 tick ATR, on average.

I can certainly add the feature to allow users to round all executions to the nearest tick but I personally would never turn this on because I think it is less accurate.

- Forum Mgmnt

jankiraly
Roundtable Fellow
Roundtable Fellow
Posts: 52
Joined: Tue Feb 03, 2004 7:23 pm
Location: San Diego

Post by jankiraly » Thu May 27, 2004 1:37 pm

You'll also need to simulate the currency conversion of the margin deposits, and the effect of fluctuating cash currency exchange rates, upon the daily value of the margin deposits.

For example, my account (Man Futures) is in USD. When I trade the DAX, my broker automatically converts some of my cash USDollars into cash Euros and deposits those Euros into a separate sub-account. (today it's 9000 Euros per contract of DAX). While I hold my position in DAX, those 9000 Euros per contract are subject to fluctuations in the USD/Euro exchange rate. The fluctuations are marked-to-market every day; the "cash" line on my statement rises and falls as the exchange rate makes those Euros worth more, or less, Dollars. Eventually when I exit my position in DAX, the broker waits till the weekend and then converts the Euros back into USDollars.

To simulate this correctly you'll need to enter the historical time series of margin requirements, and the historical time series of exchange rates, and you'll need some program options that (a) wait till Sunday; (b) convert back right away; (c) follow some other procedure that mimics some other broker besides Man Futures.

Also, if you're simulating T-Bill interest on the cash balance, be sure not to pay interest on the cash that's been converted into Euros for DAX margin deposits. Man Futures won't let you buy a T-Bill with money that isn't USDollars.

Forum Mgmnt
Roundtable Knight
Roundtable Knight
Posts: 1842
Joined: Tue Apr 15, 2003 11:02 am
Contact:

Post by Forum Mgmnt » Sat May 29, 2004 11:50 am

Gary,

One more issue that argues against constraining to tradeable tick increments is illustrated in the following graph:

Image

This graph comes from Worden's data which has been constrained to the minimum tick increment for stocks which is currently 0.01 dollars.

Unfortunately, this constraint loses the detailed price movement.

What happens with something like Microsoft stock which has split many, many different times over the years is that the further you go back in time, the smaller the prices get. As the prices get smaller, it requires more and more decimal places of precision to represent the prices accurately.

A day with a high of 20 1/4 and a low of 19 7/8 after 8 two for one splits becomes a high of 0.0791015625000 and low of 0.077636718750. If one constrains the price to 0.01 you get 0.08 as both the high and low of the day.

Needless to say, this kind of constraint would not increase the accuracy of a test of Microsoft stock. Nor the accuracy of the historical data, which in the case of the Worden data represented by the above graph is completely worthless.

- Forum Mgmnt

Post Reply