Topic: Generating for not just Profit but Consistency

Dear Developers!


First, a big Thank You for this exciting tool.


As I see now the only goal of the FSB Generator is to make bigger profit with realized positions.
It does not take care of the positive or negative equity changes between openings and closings and even the last opening on the experimented data period.

In my opinion this can lead to casual entries/exits just to satisfy the curve, without reconsidering as the profit is already high.
Also I think consistency is as or more important as or than the profit for a trader.

My question is:
Is there any way to take into consideration not just the profit but the
- Maximum/Average/Overall drawdown
- Maximum/Average/Overall equity drawdown
Ie to take care how straight is the balance/equity going to the right direction?
Maybe combining with a user-weighting possibility between profit and consistency?
If the answer is no, can I kindly ask it as a feature-request?


Many Thanks and Greetings.

Re: Generating for not just Profit but Consistency

The Generator always seeks the best profit but after calculation it checks if the strategy complies with the limitations. If some of the limitations is not fulfilled, the generator cancels the strategy.

http://s4.postimage.org/9ssk7zhg/generator_limitations.jpg

I can add more limitations in the next versions of FSB. Just describe the parameters, conditions and provide formula in case of some special calculations are needed.

3 (edited by Master 2011-01-26 01:03:14)

Re: Generating for not just Profit but Consistency

Dear D-n Popov!


Thank you for your quick answer.


I know and understand the meaning of those limiters.
The possible problem is that they're static known constants on a dynamic unknown data flow.
I believe that few of them could be forgotten if there was an option to research not just for the profit but other properties of the strategy.

I created a very simple formula to calculate how "good" a strategy is:
1. Profit-per-Day = Profit / (Data End Day - Data Start Day [= Number of Days]) [Just to make different FX pairs on different time-frames compatible]
2. Profit-per-Investment = Profit-per-Day / (Maximum drawdown + Max equity drawdown) [This shows how consistent the strategy is during reaching the profit]
3. Profitability = Profit-per-Day × Profit-per-Investment [This shows how "good" is the strategy for me]
This maybe not the best way to get out the most, but for me is a good metric when comparing different strategies for the most important properties for mine.

So I was thinking about to generate better and better strategies not just to get bigger and bigger profit but to take other user configurable properties with weighting possibility into consideration as described in the first post.
Because large profit can be reached with a lot of small losses and a few big wins, where after the Generator can not get better strategy than that lucky one which maybe just satisfies that given chart.

I think those could be useful when generating.
If possible to develop into the app.


Many Greetings.

Re: Generating for not just Profit but Consistency

Hello,
I was experimenting a lot with different criteria for the generator. Finally the only working solution I found was the current - searching the best profit that complies with limitations.

I'll explain why the stats you propose cannot be the main criteria:

1. Profit-per-Day = Profit / Days
When the generator works, the data bars are constant and therefore maximizing Profit-per-Day is equal to maximizing Profit.

2. Profit-per-Investment = Profit-per-Day / (Maximum drawdown + Max equity drawdown)
Profit-per-Investment will bi equal to infinity if we have  (Maximum drawdown + Max equity drawdown) = 0. So the end result will be strategy that makes one (or several) winning trade.

3. Profitability = Profit-per-Day × Profit-per-Investment
Same as the previous.

But of course this stats can be added as additional limitations.
I'll add them to Account Statistics info, Strategy Overview and as Limitations to the Generator.
In that way the user can set his/her expectations and the Generator will show only the corresponding strategies.

5 (edited by Master 2011-01-26 14:44:38)

Re: Generating for not just Profit but Consistency

Popov wrote:

Hello,
I was experimenting a lot with different criteria for the generator. Finally the only working solution I found was the current - searching the best profit that complies with limitations.

I'll explain why the stats you propose cannot be the main criteria:

1. Profit-per-Day = Profit / Days
When the generator works, the data bars are constant and therefore maximizing Profit-per-Day is equal to maximizing Profit.

2. Profit-per-Investment = Profit-per-Day / (Maximum drawdown + Max equity drawdown)
Profit-per-Investment will bi equal to infinity if we have  (Maximum drawdown + Max equity drawdown) = 0. So the end result will be strategy that makes one (or several) winning trade.

3. Profitability = Profit-per-Day × Profit-per-Investment
Same as the previous.

But of course this stats can be added as additional limitations.
I'll add them to Account Statistics info, Strategy Overview and as Limitations to the Generator.
In that way the user can set his/her expectations and the Generator will show only the corresponding strategies.

With the numbered list I just described the way (to simplify the formula with multi-step variables) to get the Profitability metric which is the most important for me as taking into account not just the profit but the consistency also.

Otherwise the 1. Profit-per-Day needs not as an individual stat but just to make different FX pairs on different available time-periods of historical data (not the time-frame of the chart - I'm sorry) compatible when ranking with the Profitability metric.
This is not needed when generating a strategy with the Generator - just for me to compare different FX pairs which I have different time-periods of historical data available. So the 2. Profit-per-Investment = Profit / (Maximum drawdown + Max equity drawdown) for the Generator

And when calculating the 2. Profit-per-Investment did you ever create a strategy where Max equity drawdown = 0 causing the whole Investment part of the formula to divide by zero?
If yes, can put the used margin into the addition - this way the summary will never be zero.

The 3. Profitability is just my preference with 1:1 weight of profit and profit/investment.
But if there was a possibility to have an option of the Generator to what to inspect to find a better strategy that would be good. I mean a new option where I can check profit and/or profit/investment and give a number to each for weighting. Then the Generator could find the better strategies based on this weighted product. You can keep the original functionality just by checking the profit part multiply (weight) by 1.
With limitations I have the same worry as before: they're static known constants on a dynamic unknown data flow. This way I don't use any of them when generating. I'd like better the Generator to find the less limit values dynamically based on these strategy "goodness" user preferences (profit and profit/investment with weighting).
I believe this is a viable way to decrease the need of the limiters. Because with limiters you can easily exclude yourself from generating the best strategy if the data flow actually "needs" the broader minimum limitations to give the best.