Home › Forums › Trading System Mentor Course Community › Trading System Brainstorming › Weekly System min vol/turnover requirements
- This topic is empty.
-
AuthorPosts
-
October 7, 2016 at 10:43 pm #105455ScottMcNabParticipantJulian Cohen wrote:Trent Rothall wrote:Yeah ok, you haven’t had any issues getting in or out as yet?
Not yet but I have only run it a couple of weeks. I am actually quite concerned about the ASX. I am running an account size of about 250K for my two ASX MR systems and also the WTT. I have adjusted the MR systems to only run on ASX 200 or 300 as I was getting concerned about size issues. I think I’m going to go back to the drawing board on the ASX MR systems and find one that will work on a bigger account size. It might be tough to find but I think I have to do it as I don’t think my systems as they are will handle the position size. 25% CAGR is all well and good in backtesting but if you can’t physically trade it then ……
Thinking about it I will probably test the All Ords universe and use volume limits to restrict the universe size down instead of restricting to ASX 100 or 200
Initial tests I did with HK data were promising Julian. Same systems as US worked well there. May be a solutions to ASX universe ?
October 7, 2016 at 10:49 pm #105471JulianCohenParticipantScott McNab wrote:Julian Cohen wrote:Trent Rothall wrote:Yeah ok, you haven’t had any issues getting in or out as yet?Not yet but I have only run it a couple of weeks. I am actually quite concerned about the ASX. I am running an account size of about 250K for my two ASX MR systems and also the WTT. I have adjusted the MR systems to only run on ASX 200 or 300 as I was getting concerned about size issues. I think I’m going to go back to the drawing board on the ASX MR systems and find one that will work on a bigger account size. It might be tough to find but I think I have to do it as I don’t think my systems as they are will handle the position size. 25% CAGR is all well and good in backtesting but if you can’t physically trade it then ……
Thinking about it I will probably test the All Ords universe and use volume limits to restrict the universe size down instead of restricting to ASX 100 or 200
Initial tests I did with HK data were promising Julian. Same systems as US worked well there. May be a solutions to ASX universe ?
Did you look at FTSE Scott? That should have some good volume
October 8, 2016 at 3:51 am #105473ScottMcNabParticipantNo. I didn’t check it Julian. I am happy with US as my overnight market. I was just looking for something with larger volume on this side of the world to trade for the other half of each day.
I am only trading a small live account while I continue to make mistakes and learn so it’s not currently a problem. In the future I imagine having a larger universe than the ASX (particularly as my moc system doesn’t include asx100) would help with a short time MOC system where slippage may become an issue if trading significant volume intraday.
In an ideal world I guess I would trade US and UK overnight and HK/AUS/Spore during the day for diversity but juggling US/ASX is currently enough for me.
HK data was from eoddata. 50 bucks for 10 years.
October 8, 2016 at 4:40 am #105479JulianCohenParticipantScott McNab wrote:No. I didn’t check it Julian. I am happy with US as my overnight market. I was just looking for something with larger volume on this side of the world to trade for the other half of each day.I am only trading a small live account while I continue to make mistakes and learn so it’s not currently a problem. In the future I imagine having a larger universe than the ASX (particularly as my moc system doesn’t include asx100) would help with a short time MOC system where slippage may become an issue if trading significant volume intraday.
In an ideal world I guess I would trade US and UK overnight and HK/AUS/Spore during the day for diversity but juggling US/ASX is currently enough for me.
HK data was from eoddata. 50 bucks for 10 years.
Lovely thanks for the info. I’m still playing with my volume analysis
October 9, 2016 at 5:12 am #105468JulianCohenParticipantSaid Bitar wrote:Regarding the Mean reversion system assuming the position size is x%.
if your position size is very small in comparison to the daily traded volume then there is no problem and nothing to worry about but to be in this situation you have to minimise the traded universe.
In order to have a larger universe and not to face the problem of having your position size comparable to the daily traded volume especially if you want to exit on the close since the position will be doubled then the workaround for this is to reduce your position size.
i was saying you can reduce your position size to be equivalent to 5% of the average daily volume. And you can add this to your explore so it will check automatically and give you the correct position size that you need.here is an example:
assume XYZ is trading at 0.5 and your normal position size is 25000$ then you need to buy 50K shares.
if the average volume for XYZ is 200K shares per day then your trade will be around 50% of the average daily volume since (50K BUY and 50K Sell) so instead of buying 50K shares you can buy only 5% of the daily volume that is 0.05*200K = 10K shares and in this case your trade will not be more than 10% of the daily volume so the effect on the price will not be huge and you still can take the trade.the advantage of this is that you can get larger universe the disadvantage is that you will have less exposure.
Said (or anyone that cares to) would you mind looking over my code on this please if you have a moment? I set this up for the Swing system so position size can’t be greater than 5% of the EMA(V,50)
When I checked through it is keeping the position size under my specifications very well and keeping a decent CAGR.
For the position Sizing:
Code://Fixed % of Portfolio Equity
FPAmount = Param(“Fixed % of Portfolio Equity”,10,1,100,1);
PosSize = Min(FPAmount,(EMA(V,50) * .05));if (PosSizeMethod == “Fixed % of Portfolio Equity”) SetPositionSize(PosSize,spsPercentOfEquity);
And for the Exploration:
Code:AccB = Param(“Account Balance”,100000,1,1000000,1);FPAmount = Param(“Explorer: % Equity”,10,1,100,0.01);
Shares = Min(round((AccB*FPAmount/100)/C),round(((EMA(V,50) * .05)/100)/C));I just want to make sure I haven’t cocked it up as it seems to work very well!
October 9, 2016 at 2:02 pm #105470SaidBitarMemberScott McNab wrote:Said Bitar wrote:Scott McNab wrote:Hi Said,
Have u tried dropping to a daily timeframe for testing entries on (eg) open each day (while retaining weekly for entry setups) rather than random price between high and low?This is one of the problems of Amibroker the intercommunication works only in one direction i cannot read daily data on a weekly system.
you can test the worst scenario that is any random entry between the open and the High and if this is good then you have no issues.
I was thinking of making it a daily system but pulling out weekly data for setups using something like;
prevweekclose = TimeFrameGetPrice(“C”,inWeekly,-1);
Like this is OK , I mean possible
October 9, 2016 at 2:23 pm #105484SaidBitarMemberJulian Cohen wrote:Said Bitar wrote:Regarding the Mean reversion system assuming the position size is x%.
if your position size is very small in comparison to the daily traded volume then there is no problem and nothing to worry about but to be in this situation you have to minimise the traded universe.
In order to have a larger universe and not to face the problem of having your position size comparable to the daily traded volume especially if you want to exit on the close since the position will be doubled then the workaround for this is to reduce your position size.
i was saying you can reduce your position size to be equivalent to 5% of the average daily volume. And you can add this to your explore so it will check automatically and give you the correct position size that you need.here is an example:
assume XYZ is trading at 0.5 and your normal position size is 25000$ then you need to buy 50K shares.
if the average volume for XYZ is 200K shares per day then your trade will be around 50% of the average daily volume since (50K BUY and 50K Sell) so instead of buying 50K shares you can buy only 5% of the daily volume that is 0.05*200K = 10K shares and in this case your trade will not be more than 10% of the daily volume so the effect on the price will not be huge and you still can take the trade.the advantage of this is that you can get larger universe the disadvantage is that you will have less exposure.
Said (or anyone that cares to) would you mind looking over my code on this please if you have a moment? I set this up for the Swing system so position size can’t be greater than 5% of the EMA(V,50)
When I checked through it is keeping the position size under my specifications very well and keeping a decent CAGR.
For the position Sizing:
Code://Fixed % of Portfolio Equity
FPAmount = Param(“Fixed % of Portfolio Equity”,10,1,100,1);
PosSize = Min(FPAmount,(EMA(V,50) * .05));if (PosSizeMethod == “Fixed % of Portfolio Equity”) SetPositionSize(PosSize,spsPercentOfEquity);
And for the Exploration:
Code:AccB = Param(“Account Balance”,100000,1,1000000,1);FPAmount = Param(“Explorer: % Equity”,10,1,100,0.01);
Shares = Min(round((AccB*FPAmount/100)/C),round(((EMA(V,50) * .05)/100)/C));I just want to make sure I haven’t cocked it up as it seems to work very well!
Code://Fixed % of Portfolio Equity
FPAmount = Param(“Fixed % of Portfolio Equity”,10,1,100,1);
PosSize = Min(FPAmount,(EMA(V,50) * .05));if (PosSizeMethod == “Fixed % of Portfolio Equity”) SetPositionSize(PosSize,spsPercentOfEquity);
it is not correct since FPAmount is number between 1 and 100 which is true but the EMA *0.05 is volume and this will give you all the time numbers that are huge and thus all the time you will be using the FPAmount.
It should be like this
PosSize = Min(FPAmount,Ref((EMA(V,50) * .05)*C,-1)/Equity());I believe it should be like this test it please
Code:FPAmount = Param(“Fixed % of Portfolio Equity”,10,1,100,1);
Amount2 = Ref(EMA(V,50) * 0.05 * C,-1);
if( Status(“action”) == actionPortfolio )
{
bo = GetBacktesterObject();
bo.PreProcess();
for( bar = 0; bar < BarCount; bar++ ) { for( sig = bo.GetFirstSignal( bar ); sig; sig = bo.GetNextSignal( bar ) ) { if( bo.Equity * FPAmount / 100 > Amount2 )
{
sig.PosSize = – Amount2/ bo.Equity *100;
}
else
{
sig.PosSize = – FPAmount;
}
}
bo.ProcessTradeSignals( bar );
}
bo.PostProcess();
}
PositionSize = -FPAmount;October 9, 2016 at 3:54 pm #105485SaidBitarMemberor just to keep it simple you can modify the setting as the snapshot
this will check against the volume of the last trading day.
Code:AccB = Param(“Explorer: Account Balance”,100000,1,1000000,1);
PcntRisk = Param(“Explorer: % Equity”,20,1,100,0.01);
STB1 = round((AccB*PcntRisk/100)/BuyLim);
STB2 = Min(round((AccB*PcntRisk/100)/1),round(EMA(V,50)*0.05));October 10, 2016 at 1:12 am #105486JulianCohenParticipantSaid Bitar wrote:or just to keep it simple you can modify the setting as the snapshotthis will check against the volume of the last trading day.
Code:AccB = Param(“Explorer: Account Balance”,100000,1,1000000,1);
PcntRisk = Param(“Explorer: % Equity”,20,1,100,0.01);
STB1 = round((AccB*PcntRisk/100)/BuyLim);
STB2 = Min(round((AccB*PcntRisk/100)/1),round(EMA(V,50)*0.05));So here’s a question, seeing as I can’t trust myself to code anything more complicated than a colour change on a chart :sick:
If we set the Backtester to Limit the trade size to 5% of entry bar volume, then if we set the Exploration code to do the same thing, then we are recreating the conditions of the backtest. Shouldn’t it be as simple as that?
October 10, 2016 at 4:34 am #105489JulianCohenParticipantI had a bit of an epiphany whilst taking a break from slaving over the screen.
It occurred to me that I have been trying to use the volume filters to limit the entries in order to stop trading less than 5% of the volume, when I should have been setting the backtester as Said showed and then using the price and volume filters to mainly correct the variance in the MC runs to get the universe more in control.
Then I can just write an exploration code that takes the min of the equity position size or less than 5% of volume to reflect the results from the backtesting.Assuming I have it right now in my head, I will go away and do that. Sometimes it takes a long time for things to sink in.
BTW if the above is total BS then someone put me out of my misery. One to the back of the head will do nicely.
October 10, 2016 at 5:05 am #105491TrentRothallParticipantThat sounds about right to me.
You could do two seperate runs. One with the Limit % in backtester set to 0, so you could see CAR with a smaller start balance around the 100k mark. Then do one with the 5% limit to see the effect of a big account.
Off topic.. who was testing on an Asian market and where did they source their data from?
-
AuthorPosts
- You must be logged in to reply to this topic.