Jump to content

Welcome to the new Traders Laboratory! Please bear with us as we finish the migration over the next few days. If you find any issues, want to leave feedback, get in touch with us, or offer suggestions please post to the Support forum here.

  • Welcome Guests

    Welcome. You are currently viewing the forum as a guest which does not give you access to all the great features at Traders Laboratory such as interacting with members, access to all forums, downloading attachments, and eligibility to win free giveaways. Registration is fast, simple and absolutely free. Create a FREE Traders Laboratory account here.

BlueHorseshoe

Position Sizing and Predicted MAE

Recommended Posts

Hello,

 

Assuming that the best predictor of b at time t=-a is b * f, why isn't the following position sizing formula helping me to reduce the deviation of returns?

 

a = average trade length;

b = highest high ( a ) - lowest low ( a );

c = average b ( population size );

position size = ( equity / price ) * ( c / [ b * f ] );

 

Any help very much appreciated!

 

BlueHorseshoe

Share this post


Link to post
Share on other sites

R=HH-LL; // [avgTradeLen]

avgR=avg(R,totaltrades);

buyingPwr=acctSize/c;

size=bPwr * (avgR / [F*R] ); // square brackets = bug or something you intended that I didn't understand

 

You're probably sorting the net profit column of the optimization report. Export to excel, add a column that measures deviation of returns, sort that column, that's the optimal f that will satisfy your smoothing requirements, while forsaking net, unless your fitness function strikes a balance between net and smoothing.

 

Besides optimal F, ... R is the only other moving part. I was confident i had thought this through when I wrote the paragraph below here but after thinking for too long I'm unable to determine if increasing R increases trade size. If it does then it's backwards. Substituting hard numbers in place of the variablies on line 4 is too much for me at the moment but that should be easy to resolve. If R is wired wrong it will need to be fixed before F will work. If R is wired correctly then you will still need the custom excel function to optimize F.

 

As R increases it simultaneously increases trade size. R normalizes individual trades to a variable scale that causes fluctation in trade net and Equity Curve. Fixed size normally returns a smoother EC than variable size. Varying size is normally associated with increasing gain. Varying size can be used to smooth an ec but if you use range as the input it needs to work backwards from the way it's written. When anticipated range increases forgo the opportunity for increasing profit. Decreasing size will maintain the fixed net profit for that trade where the net per contract is increased for that trade.

Share this post


Link to post
Share on other sites

 

You're probably sorting the net profit column of the optimization report. Export to excel, add a column that measures deviation of returns, sort that column, that's the optimal f that will satisfy your smoothing requirements, while forsaking net, unless your fitness function strikes a balance between net and smoothing.

 

Besides optimal F, ... R is the only other moving part. I was confident i had thought this through when I wrote the paragraph below here but after thinking for too long I'm unable to determine if increasing R increases trade size. If it does then it's backwards. Substituting hard numbers in place of the variablies on line 4 is too much for me at the moment but that should be easy to resolve. If R is wired wrong it will need to be fixed before F will work. If R is wired correctly then you will still need the custom excel function to optimize F.

 

As R increases it simultaneously increases trade size. R normalizes individual trades to a variable scale that causes fluctation in trade net and Equity Curve. Fixed size normally returns a smoother EC than variable size. Varying size is normally associated with increasing gain. Varying size can be used to smooth an ec but if you use range as the input it needs to work backwards from the way it's written. When anticipated range increases forgo the opportunity for increasing profit. Decreasing size will maintain the fixed net profit for that trade where the net per contract is increased for that trade.

 

Hi Onesmith,

 

Good to see you around the forum again and thanks for your reply.

 

I can't be certain whether you've understood what I'm trying to do or not - this is not Ralph Vince's Optimal F, and I'm not trying to optimise anything. Here's an explanation of my thought process and goal:

 

  1. The base strategy uses zero leverage and whenever it is not flat it is fully invested. So the position size for that is simply Equity/Close.
  2. The problem is that two positions with identical equity available and the same entry price can have markedly different outcomes depending on "volatility" after entry.
  3. In my formula f is just a simple multiplicative function derived from past trade data (average-trade-length) and past price data (highest(h,average-trade-length) - lowest(l,average-trade-length)) that has on average been the best predictor of "volatility" average-trade-length periods into the future. In every case I have examined f has been close to 1 (ie the best predictor of future "volatility" is current "volatility"), so b*f is practically identical to b (my intention is that f could theoretically be replaced with some kind of higher order polynomial extrapolation)
  4. c is the average "volatility" for the entire data sample (because this takes a while to compute and the sample size quickly becomes too large for the max bars to reference in TS I have replaced it with a totally recursive LQE).
  5. Average "volatility" or c is then aligned with the base scenario (equity/close).
  6. Position sizing when b*f is higher than average should therefore be proportionally smaller, and when b*f is lower, proportionally larger, according to the following: positionsize = (equity/close) * (c/[ b*f ]);
  7. When "volatility" is higher than average, the formula calls for more units to be purchased than the equity allows with leverage; lower than average volatility is therefore simply ignored by capping position size at a maximum of equity/close.

 

I would expect all this to result in reduced net gains but also reduced deviation of returns and a smoother equity curve. Somehow, it isn't doing that . . .

 

Any suggestions as to where the issue may be?

 

Thanks,

 

BlueHorseshoe

Edited by BlueHorseshoe

Share this post


Link to post
Share on other sites

If ES volatility is at or slighlty below avgV and NQ v is above nq avgV then which one do you buy? Do you ever buy less than account size? If you intend to go all in and use your entire buying power everytime you take a postion then why is position size part of the equation?

Share this post


Link to post
Share on other sites
If ES volatility is at or slighlty below avgV and NQ v is above nq avgV then which one do you buy? Do you ever buy less than account size? If you intend to go all in and use your entire buying power everytime you take a postion then why is position size part of the equation?

 

Certainly, less than the entire account size can be bought.

 

The idea is to be fully invested for the typical trade. If a trade is deemed likely to be atypical - a likely outlier in terms of dollar excursion from the entry price (due to what I am calling "volatility"), then the idea is to decrease the position size.

 

"Fully invested" means only for the portion of total equity that is allocated to that class of instruments. So the "equity" in my pseudocode refers only to a portion of total equity (in the EL code I have sent, I have plugged in the figure of 5k to avoid the confusion of further variables).

 

Priority of allocation within a class of instruments (such as equity indices - the ES and the NQ in your example) is based on a different selection metric altogether, so their relative volatilities would not be considered by the strategy.

 

The purpose of the code, taking (equity/close) as a base scenario, is to try and make all trade outcomes as much like the average trade outcome as possible, by accounting for the predicted price behaviour (MAE/MFE) relative to average price behaviour. The typical trade provides the average outcome, and the average outcome is aligned with (equity/close), with everything else scaled around this.

 

BlueHorseshoe

Edited by BlueHorseshoe

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Topics

  • Posts

    • I traded alot today. 9 trades, 8 losers and BEs, 1 runner that paid for them all. Gotta keep swinging! totaled 240 bps before commission. The first winner on W, I did not count - it was a mistake that led to profit. I felt like a machine, kept pulling the trigger, watch the 1min chart, see it doesn't go anywhere, take my small loss... over and over... then one takes off... Let it run... the whole time I was thinking I hope that the one winner will pay for all the losers. I was tempted to close out the winner early. I had no idea that the payoff distribution for this strategy would be so extreme - 8 tiny losses before hitting a big win. Pays to keep the losses tiny and keep swinging. 
    • Date : 22nd February 2019.

      MACRO EVENTS & NEWS OF 22nd February 2019.



      FX News Today Both Topix and Nikkei, declined during the Asian session, with -0.25% and -0.18% respectively. Overall, stock markets in Asia struggled through most of the session as subdued inflation data rekindled concerns about a lack of demand and flagging growth and after Wall Street closed in the red. News that US President Trump will meet with China’s top trade negotiator today in Washington seems to have helped Chinese markets to stage a late rally and CSI 300 and Shanghai Comp are up 1.76% and 1.51% respectively and the Hang Seng also managed to claw back losses and is up 0.11%. US stock futures are posting marginal gains and the April WTI future is trading at just over USD 57 per barrel. USDCAD rallied over 1.32 to 1.3225, as Oil inventories rose, with the US at record production levels. Oil price is now back around the $57 mark. Japanese CPI data same as forecasts, pushing the Yen higher. Charts of the Day


      Main Macro Events Today EU CPI Inflation – Core inflation is expected to be confirmed at 1.1% y/y while the overall inflation rate is expected to have stood at 1.4% in January. Canadian Retail Sales – Retail Sales are expected to have declined by 0.3% m/m in December, an improvement from the 0.6% declined observed in November. Mario Draghi Speech – The ECB President is due to speak to the University of Bologna where he will accept an honourary degree. Support and Resistance
       
      Always trade with strict risk management. Your capital is the single most important aspect of your trading business.

      Please note that times displayed based on local time zone and are from time of writing this report.

      Click HERE to access the full HotForex Economic calendar.

      Want to learn to trade and analyse the markets? Join our webinars and get analysis and trading ideas combined with better understanding on how markets work. Click HERE to register for FREE!

      Click HERE to READ more Market news.

      Dr Nektarios Michail
      Market Analyst
      HotForex

      Disclaimer: This material is provided as a general marketing communication for information purposes only and does not constitute an independent investment research. Nothing in this communication contains, or should be considered as containing, an investment advice or an investment recommendation or a solicitation for the purpose of buying or selling of any financial instrument. All information provided is gathered from reputable sources and any information containing an indication of past performance is not a guarantee or reliable indicator of future performance. Users acknowledge that any investment in FX and CFDs products is characterized by a certain degree of uncertainty and that any investment of this nature involves a high level of risk for which the users are solely responsible and liable. We assume no liability for any loss arising from any investment made based on the information provided in this communication. This communication must not be reproduced or further distributed without our prior written permission.
    • Actions for the 21st. 
    • Today had 3 trades, + 73 bps. The 2nd red dot on ALB was an error, somehow 1 share got executed at the lower price. I started new batch of trades today. The tweak was the exit is now based on trailing exit instead of manually calling it. I found it to be extremely uncomfortable as I sat through each retracement on DPZ. To see profit retrace back to zero or negative is associated with much pain. It feels as if it's a permanent loss. My goal is to execute my trading plan and not trade based on my emotions. I am very proud of the 2nd exit on DPZ for 170bps. I will do my best to continue this work. I do notice I may be giving back a bit too much on my losers, I will not change anything until the next batch of trades.   
    • I forgot to post yesterday. I was down 72 bps.  
×

Important Information

By using this site, you agree to our Terms of Use.