For many ETF you can use mutual funds, or the underlying index data. Basically you extend the ETF price history by subtracting the returns of the proxy going backward. For example for GLD you could use London gold index, for SPY the SPX index, for bonds there are many Vanguard mutual funds going back to the 80’s. That’s what we do actually for extending some of the tickers.
For example:
ETF last price on date x: 20$
Return of proxy on date x-1: 0.2%
Then ETF price on date x-1 = 20$ / (1 + 0.2%) = 19.96$
… and so on.
If you want to extend leveraged ETF by unleveraged ETF then you need to put a “return multiplier” in. For example for extending TMF with ETF data: TMF price x-1 = TMF price x / (1 + TLT return * multiplier)
For a couple of ETF you can do that in Excel and then paste or save into a csv file as our ETF.csv files. For more you would need a script.