TFX package: An R interface to the TrueFX(tm) Market Data Web API
TrueFX(tm) is a brand name that is owned by Integral Development Corp. This software is in no way affiliated, endorsed, or approved by TrueFX(tm), Integral Development Corp, or any of its affiliates. The TFX package provides functions to access the free, real-time, top-of-book, dealable, interbank foreign exchange rate quotes provided by TrueFX(tm).
The Web API can be accessed with an authenticated or an unauthenticated session. The following is from TrueFX(tm) Market Data Web API Developer Guide: "Unauthenticated requests ... return a default response in the form of a snapshot session that includes data for all currency pairs... Unauthenticated requests do not support the more powerful query-based functionality, including incremental responses containing only the changed currency pairs."
A registered TrueFX(tm) account with a confirmed username is required to create an authenticated session (TrueFX(tm) accounts are free).
There are typically three steps to creating an authenticated TrueFX(tm) session and requesting data:
ConnectTrueFX is used to request a
TFXsession object which has a session ID needed to
make a data request.
QueryTrueFX will request market data from
TrueFX(tm) using a
TFXsession object that was
ParseTrueFX will parse the results returned
QueryTrueFX into something that is easier to
There are also functions to
This package does not yet have explicit support streaming
data, but it can be accomplished a few different ways,
one of which would be to use a
In addition to real time data, TrueFX(tm) also offers historical data since 2009.
From the TrueFX(tm) website, "TrueFX is the first service that brings you real, dealable prices from real market participants from all the major market makers, with absolutely no intermediary. As a technology company, we can offer you historical tick-by-tick market data, at zero cost to you.
This data is top-of-the-book, tick-by-tick market data, with fractional pip spreads in millisecond detail. All timestamps are based on GMT."
The data can be downloaded from http://www.truefx.com/?page=downloads
There is a script in the /inst/parser directory of the
(http://tinyurl.com/DownloadTrueFX) that will
download all available data, convert it to
save it to disk in binary files that are split by day
easily read them.
Some version of that script may make its way into a future release of this package.
Garrett See firstname.lastname@example.org
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
## Not run: ## Unauthenticated QueryTrueFX() QueryTrueFX(pretty=FALSE) ## Must have a TrueFX(tm) account to run the following (Membership is free) ## Replace JSTrader and Ou812 with your username and password, respectively id <- ConnectTrueFX("EUR/USD,AUD/JPY", u='JSTrader', p='Ou812', f='html') QueryTrueFX(id) browseURL(paste0("http://webrates.truefx.com/rates/connect.html?id=", id)) #view the Web API Developer Guide: TrueFXRef() ## End(Not run)