- Joined
- 6 January 2016
- Posts
- 254
- Reactions
- 187
Hi Trend
Take a look at your X axis on the SMSF graph.
At one point it goes 10/12/14 - 15/5/15 - 28/5/15 and then back to 16/6/14
At another point it goes 1/7/15 - 1/10/15 - 8/1/16 and then back to 3/8/15
The graph doesn't match the closed trade flow in the tables you did provide. Again I'll speculate you may have sorted by buy date. (which is actually not bad information because it highlights the periods of good and bad entries) - but its not what you have described as your chart construction and it doesn't appear to be consistent with the private portfolio construction. To evaluate performance management data you have collect, collate and understand it accurately.
I'm not trying to have a go - its good to see somebody trying to monitor their performance. Just trying to point out something that looks confused to me. But I'm happy to do lack of interest if you prefer.
Hey Craft,
Apologies! Damn Excel filter didn't work, hence some of the closed trades for the SMSF graph, weren't sorted 100% chronologically.
Lets try again:
View attachment 66569
View attachment 66570
I appreciate your interest.
My vision could be failing me but what happened to year 2015 on your chart?Another train-wreck I escaped prior to the crash - as always green line entry, red line exit:
My vision could be failing me but what happened to year 2015 on your chart?
Okay thanks. You got out at the end of the trend.I blame Metastock scaling.
The "2014" on the axis is the end of 2014, right from that lies 2015 to 2016.
Great thread - related to my pet hate and everyone's stumbling block.
Just comparing expectancy values for different systems/strategies, is like the age old analogy of apples vs. pears. "Expectancy" (per trade) is only one dimension of a profitable system, the other dimension, is "Number-of-Trades" (per time period):
System Expected Profit = Expectancy x Number-of-Trades
Expectancy should be adjusted by the number of trade positions for a system/strategy:
Expectancy = [(Average_win x %_win) - (Average_loss x %_loss)]/(Trade_positions)
The metrics for my Trend-Following System are as follows:
Average_win = 30.77%
Average_loss = -12.13%
%_win = 47.3%
%_loss = 52.7%
Trade_positions = 16
Expectancy = 1.31% /trade
Number-of-Trades = 37 trades/year
System Expected Profit = 48.47% / year
Note that expectancy values, are based on normal-distributed outcomes - approximate reflection of real trading results (quite a bit off for trend-following).
Greetings --
Beware, or at least be aware:
1. Monte Carlo is a tool. The way it is being used for this analysis requires that the trades be independent. Applying the technique when the trades are not independent results in an underestimate of risk and overestimate of profit.
2. The universe of issues available today may not be the same as it was for the test period. There are survivor and membership biases to consider.
3. As trading systems are developed, parameters are varied and the "best" system depends on the specific value used. (That value changes over time, but that discussion is about stationarity. The point I am making here is about dimension.) The more values tested, the higher the probability that a good value will be found. Adding indicators and parameter values adds "alternatives" to be tested, from which the best is chosen. When choosing the issue for the next trade, each potential issue is an alternative. Allowing a system to choose a small number of issues from a large population is "optimizing the symbol space."
3A. Optimizing the symbol space is, in itself, worrisome.
3B. The Monte Carlo technique described is inappropriate for analysis of the result.
Best,
Howard
Not all Monte Carlo analyzers provide useful results.
The TradeSim Monte Carlo analysis is unique in that it provides a true portfolio Monte Carlo analysis
rather than a Monte Carlo analysis based on time series shuffling or synthesis of trades using random
generators and price distributions.
When thousands of simulations are run in a TradeSim Monte Carlo analysis each simulation represents a real world portfolio-trading scenario, which uses real trades that occurred from the historical trade databases.
Unlike other software TradeSim does not synthesize trades by time series shuffling or price synthesis using questionable price distributions. Looked at it another way when TradeSim runs a 10,000 run Monte Carlo simulation on the top 200 stocks it is like having 10,000 traders trading from the same portfolio or universe of securities, and using the same trading rules. If there are a large number of trades with the same entry dates then you would expect each trader to come up with a different result as each trader would not choose exactly the same trades even though they are obeying the same set of trading rules. Because of this capability we believe our Monte Carlo analysis is unique and stands alone compared to any other offering from any other vendor.
How about Monte Carlo randomization instead of bootstrap test?
The Monte Carlo randomization is different than bootstrap test because it does not use actual (realized) trade list from the backtest but it attempts to use "all individual returns whenever they are realized or hyphotetical". For example when trading system is generating way more signals than we can actually trade due to limited buying power, then we have to choose which trades we would take and which we would skip. Normally this selection is a part of trading system and in AmiBroker PositionScore variable tells the backtester which positions are preferred and should be traded. In randomization test, instead of using some analytic/deterministic PositionScore, you use random one. If there are more signals to open positions than we could take, this process would lead to randomized trade picks. Now using Optimize() function and random PositionScore we can run thousands of such random picks to produce Monte Carlo randomization test:
step = Optimize( "step", 1, 1, 1000, 1 ); // 1000 backtests
// with random trade picks from the broad universe (make sure you run it on large watch lists)
PositionScore = mtRandom();
Randomization test has one big disadvantage: can not be used in many cases. When system does not produce enough signals each bar there is not much (if any) to choose from. Also, more importantly, MC randomization makes false assumption that all "trading opportunities" (signals) are equal. In many cases they are not. Pretty often our trading system has specific, deterministic way to pick trades from many oppotunities by some sort of ranking/scoring. When system is using a score (rank) as a core component of the system (rotational systems do that) - if you replace analytic score of with random number you are just testing white noise not the system.
##### said:Hi Trendnomics,
I see you have a lot of knowledge on this topic. Do you have any books/courses/ideas recommandations to dive deep into this topic? Up until this moment I bought Amibroker, Premium data and 2 books of Nick Radge - Weekend Trend Trader and Unholy Grails. But I feel something is missing, I don't have confidence in WTT for example. How can I load large amount of cash in a WTT strategy if I don't have enough confidence in it? Will it survive in a 1929 scenario? How a bout a Japan flat market like scenario? Open ended questions for which I need to do more study. Any hints highlt appreciated!
Thank you,
#####
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?