Showing posts with label Data. Show all posts
Showing posts with label Data. Show all posts

About time, leverage and a few grains of salt (Synthetic Prices Part II)

Just in time to be vintage 2014 I finally managed to write a long overdue blog post. Nevertheless thanks to a loyal crowd of readers this year has seen two, actually three, landmarks in the pageview stats. Once beyond the 100k milestone, the 200k mark was surpassed quite fast. A couple of weeks ago the near silent touch of a fabulous 250k followed: one quarter of a million pageviews! Wow! And right now at the cusp of 2015 the counter is steadily turning its way towards 300k. Thank you for all your interest, the rewarding exchange of ideas and your support during this remarkable year.


Regarding today's posting, it is a sequel to the Composing Synthetic Prices For Extended Historical ETF Data post back in May. Using "R", the language for statistical computing and graphics (get it here), thanks to Michael Kapler's excellent Systematic Investor Toolbox for R: SIT, it is possible to compose synthetic ETF's with extended historical data retrieved from suitable mutual funds on full auto while taking care of a seamless fit along the way. 

In this post, I will demonstrate how to perform the same task in AmiBroker with two extra benefits: the application of leverage and the option for inverse data treatment. Of course, an R-savvy coder could probably achieve the same in R, but not me.

The below example shows $TLT as synthetic symbol with data going back to 1986*. The $ETF is based on the price data for TLT (green section) available from Yahoo and extended with VUSTX data (red section) from the same source.

Composing Synthetic Prices For Extended Historical ETF Data

Backtesting of strategies is best done with at least 10+ years of historical price data, preferably even more. However, ETF's with such prolonged historical data are rare. The obvious escape would be to replace ETF's with look-a-likes from mutual fund companies like Vanguard or Fidelity. Can't we have both ways at the same time?


Actually we can, thanks to Michael Kapler's excellent Systematic Investor Toolbox for R: SIT. Some time ago Michael added a special function to his SIT: getSymbols.extra. Using "R", the language for statistical computing and graphics (get it here), the code composes synthetic ETF's with extended historical data retrieved from suitable mutual funds on full auto while taking care of a seamless fit along the way. With a minor addition to Michael's code, in one and the same run for each ETF the newly created synthetic prices can be saved to CSV-file. Next, with its Import Wizard, these CSV-files can be imported into AmiBroker's database quite easy. Alternatively, pulling the CSV-data into Excel is another achievable option.

CSV-data after import in Excel

The chart below shows the extended price history of $VWO. First the data of EEM is added and calibrated to fit and extend VWO. Next the same is done with the addition of VEIEX' data. Finally the data of FEMKX is added, thus prolongating VWO's history from 2005 back into 1990 adding almost 15 years of backtestable data.

$VWO: VWO extended with EEM extended with VEIEX extended with FEMKX