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

[amibroker] Re: Simulating the Leveraged ETFs



PureBytes Links

Trading Reference Links

Very interesting stuff, Bruce.  Copied to my file.

Thanks,

Grant


--- In amibroker@xxxxxxxxxxxxxxx, "bruce1r" <brucer@xxx> wrote:
>
> Grant -
> 
> The idea that you are raising is the creation of something called a
> "proxy" that extends +/- leveraged index funds and ETF's back in time. 
> I've long been active in another user community that has been doing this
> for several years for hedging/spreading applications.  Lately, proxies
> have also been used for back-testing of short term trading.
> 
> I was actually about to make a more detailed post about how to do this
> when I read your note about the potential difficulty that you might have
> implementing this.  I unfortunately don't have the time right now to
> separate out the appropriate code that I've done and document it.  Maybe
> in the near future.
> 
> I'll try to quickly give you, and anyone else that is interested, the
> broad brush idea, though.
> 
> Rydex, Profunds, and Direxion operate on a business model that has a
> number of components that contribute to tracking error of the daily rate
> of change (ROC).  This generally nets out to a cost for long funds and a
> small credit for short funds.  The explanation for this is too detailed
> for now.  But, that consider their business objective is to manage that
> cost over time to yield a net profit.  So each DAY'S change is -
> 
> NetROC = Leverage * IndexROC - DailyCompoundedCost
> 
> The estimate error of this NetROC is then used to MINIMIZE the
> difference to actual via the SUM-SQUARED of -
> 
> EstError = ActualROC - NetROC
> 
> At this point, you have a "fitted" model, and can re-constitute the
> equity curve for the model via the basic technique -
> 
> eq = exp( Cum( log( 1 + NetROC / 100 ) ) ) * startequity
> 
> As a final touch, the estimated portion of the model can be spliced to
> the actual recent history.  That result can then be used for a number of
> purposes.  It has proven to be a decent approximation, but has a few
> limitations.  One interesting by-product has been that yields an
> approximate cost in yearly % for dealing with the companies.  They are
> not the same !
> 
> Hope that some of that helps -
> 
> BruceR
> 
> 
> --- In amibroker@xxxxxxxxxxxxxxx, "longarm61" <norm1@> wrote:
> >
> > I would actually love to become proficient in AFL, but being a
> full-time trader and family man, much of my time is spent on those
> things and I simply don't have a lot of time left in the day for
> learning this stuff. But I've copied your posts and downloaded your file
> and I'll try to chip away at it as time permits.
> >
> > Thanks again for your help.
> >
> > Grant
> >
> >
> > --- In amibroker@xxxxxxxxxxxxxxx, "brian_z111" brian_z111@ wrote:
> > >
> > > The download file has been overwritten with a new, slightly tidier,
> version.
> > >
> > > I find the key concepts, demonstrated in the file, very helpful
> indeed.
> > >
> > > Arithmetic Mean, Geometric Mean and StdDev are a beautiful things
> (and I am not even a mathematician).
> > >
> > > My teacher taught me that "an apple doesn't ripen overnight" ... he
> used it in a different context but Tomaasz said the same about AB when
> he said "it takes time to sink in" ... this is a fundamental truth of
> learning.
> > >
> > > There are some hints in the file for new programmers:
> > >
> > > - understand the logic first
> > > - lay the logic out
> > > - start at the top and work sequentially, line by line, (this rules
> covers the majority of basic situations)
> > > - test the veracity of your logic/code line by line (in AB I do that
> by plotting everything I can ... one line at at time if I am stuck ...
> as I get better I can skip more and more blocks of lines because
> experience tells me they are correct if the syntax and logic are
> correct.
> > >
> > > In this case:
> > >
> > > - focus on method one
> > > - start at the top of the worksheet and find a way to express each
> line in AFL
> > > - leverage could be a Param function or optimizeable or a static
> variable or a variable that you change manually in your code.
> > > - you have the price series e.g. Close
> > > - you have the begin value of the Close
> > > - use the functions to create the rows as arrays
> > > - substitute the numerical factor, in the manual OHLC example, for
> the ShiftFactor array.
> > >
> > > That is easy enough.
> > >
> > > The most important thing is to steep yourself in the logic.
> > >
> > >
> > >
> > > --- In amibroker@xxxxxxxxxxxxxxx, "longarm61" <norm1@> wrote:
> > > >
> > > > Thanks for the replies, Brian.  I'm very much inept when it comes
> to AFL so I'll have to try to make sense of it all.  In answer to your
> previous post, my plan was to use it for charting, but backtesting
> capability might come in handy too. Charting would be the priority
> though.
> > > >
> > > > Thanks again,
> > > >
> > > > Grant
> > > >
> > > >
> > > > --- In amibroker@xxxxxxxxxxxxxxx, "brian_z111" <brian_z111@>
> wrote:
> > > > >
> > > > > Grant,
> > > > >
> > > > > I found your idea interesting so I did a little bit more.
> > > > >
> > > > > > 1) make separate arrays for ROC(X,1) where X = O,H,L,C,Ave etc
> (as >required)
> > > > > >
> > > > > > factorO = ROC(O,1);//as GrowthFactor e.g. 2% = 1.02, -2% =
> 0.98
> > > > > > etc
> > > > >
> > > > > I missed a couple of steps out ... you probably figured that
> already but just in case here is an excel file that demos the logic ...
> I show two methods to produce a simulated leveraged price series from a
> base price series; log/antilog and relativeGeometricMean.
> > > > >
> > > > > Scroll down to section 2 Miscellaneous Files >>
> LeveragedPriceSeries.xls
> > > > >
> > > > > http://zboard.wordpress.com/downloads/
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > --- In amibroker@xxxxxxxxxxxxxxx, "brian_z111" <brian_z111@>
> wrote:
> > > > > >
> > > > > > To toggle your thinking:
> > > > > >
> > > > > > (I am just imagining a chart to start with ... not sure what
> your final objective is ... if PLOTOHLC helps you could work it towards
> a backtesting array version ... versions might be different depending on
> whether you want it for chart reading, backtesting or both)
> > > > > >
> > > > > > 1) make separate arrays for ROC(X,1) where X = O,H,L,C,Ave etc
> (as required)
> > > > > >
> > > > > > factorO = ROC(O,1);//as GrothFactor e.g. 2% = 1.02, -2% = 0.98
> > > > > > etc
> > > > > >
> > > > > > 2) substitute factorO, factorH etc in PLOTOHLC example
> > > > > > - when you want to go back to 'Price', instead of leveraged
> Price, use factor == 1, which is ROC neutral.
> > > > > >
> > > > > > 3) if you get something going there and you like it maybe
> ParamToggle will let you switch from Price to Leveraged Price in live
> chart mode
> > > > > >
> > > > > >     - ParamToggle is boolean so toggle P or LP yes or no?
> > > > > >     - conditional statement (if toggle is yes use leveraged
> price array)
> > > > > >
> > > > > > There would be other ways so comeback if you want options.
> > > > > >
> > > > > > I think ATC can store conditioned arrays so you could also use
> that and save leveraged Price arrays as pseudo tickers (if you aren't up
> to speed on ATC reference Hermans PDF tutorial at the UKB).
> > > > > >
> > > > > >
> > > > > >
> > > > > > --- In amibroker@xxxxxxxxxxxxxxx, "longarm61" <norm1@> wrote:
> > > > > > >
> > > > > > > Thanks much, Brian, I will look into that.
> > > > > > >
> > > > > > > Grant
> > > > > > >
> > > > > > > --- In amibroker@xxxxxxxxxxxxxxx, "brian_z111" <brian_z111@>
> wrote:
> > > > > > > >
> > > > > > > > What about  211. (indexed from AFL by name) PLOTOHLC
> (Exploration / Indicators) - plot custom OHLC chart (AFL 2.2)
> > > > > > > >
> > > > > > > > Will that do the job?
> > > > > > > >
> > > > > > > >
> > > > > > > > --- In amibroker@xxxxxxxxxxxxxxx, "longarm61" <norm1@>
> wrote:
> > > > > > > > >
> > > > > > > > > Hi, I'm guessing that this is a simple thing, but of
> course, it's not for me. I'm trying to simulate the performance of
> leveraged ETFs going back farther than they go back themselves, hence
> the following:
> > > > > > > > >
> > > > > > > > > I would like to plot a line which moves 2x
> percentage-wise the gain/loss of a particular stock PER DAY (bar). 
> E.g., if I have SPY up, and SPY moves up 1% on Monday, the line moves up
> 2%.  If SPY moves down .5% on Tuesday, the line moves down 1%.  And so
> on.  It'd be nice to have an option to switch between PRICE and
> PERCENTAGE on the current value (from the first bar showing to the
> last), but if it's a choice between one or the other, I'd prefer price.
> > > > > > > > >
> > > > > > > > > Thanks so much for any assistance on this.
> > > > > > > > >
> > > > > > > > > Grant
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>




------------------------------------

**** IMPORTANT PLEASE READ ****
This group is for the discussion between users only.
This is *NOT* technical support channel.

TO GET TECHNICAL SUPPORT send an e-mail directly to 
SUPPORT {at} amibroker.com

TO SUBMIT SUGGESTIONS please use FEEDBACK CENTER at
http://www.amibroker.com/feedback/
(submissions sent via other channels won't be considered)

For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/

Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/amibroker/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/amibroker/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:amibroker-digest@xxxxxxxxxxxxxxx 
    mailto:amibroker-fullfeatured@xxxxxxxxxxxxxxx

<*> To unsubscribe from this group, send an email to:
    amibroker-unsubscribe@xxxxxxxxxxxxxxx

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/