# Toshiba Develops Simulated Bifurcation: The World’s Fastest Algorithm

3 Likes

2 Likes

Now only if TJ adds combinatorial capabilities to AB. In my opinion ABs biggest short coming. This is critical in statistical analysis.

What short comings exactly?

Three systems:

Buy1 = Cross( C, MA( C, 50 ) );
Buy2 = Cross( 30, RSI() );
Buy3 = Cross( MACD(), Signal() );

Sell1 = Cross( MA( C, 50 ), C );
Sell2 = Cross( RSI(), 70 );
Sell3 = Cross( Signal(), MACD() );

So 2^3 = 8 system combinations

/// finding best out of n-combinations
/// derived from https://groups.yahoo.com/neo/groups/amibroker/conversations/messages/184731
systemnum = 3;// set number of systems
BuyCombination = Optimize("Buy Combination", 1, 1, 2^systemnum, 1); // 2^n combinations -> 2^1, 2^2, 2^3, ...
SellCombination = Optimize("Sell Combination", 1, 1, 2^systemnum, 1); // 2^n combinations -> 2^1, 2^2, 2^3, ....

for (n = 0; n < systemnum; n++) {
pow2 = 2^n;
//
//
exit_comb = (SellCombination & pow2) AND VarGet("Sell"+(n+1));
Sell = Sell OR exit_comb;
}

Short = Cover = 0;

6 Likes

@QuantTrader - existing AmiBroker optimizers already allow combinatorial optimization. With regards to Toshiba new algorithm I have read about it couple of days ago, but everyone needs to understand there is quite long road from theoretical paper to practical applications and not every science paper proves to be useful in given application. The optimization problems differ and there is no guarantee that this one fits all.
I always try to keep head cool and take new "breakthroughs" with a little grain of salt.

1 Like

TJ and fxshrat, congratulation to both of you for keeping your cool. The way I worded my comments I was trying to get TJ's attention.
@fxshrat, I am aware power of 2, TJ uses it in many places in AB. Its limitation if I remember correctly is n=25. Anything above that we hit the 7th significant digit issue. Like you I am firm believer in quality & capabilities of AB & TJ's unrelenting pursuit of excellence.
@Tomasz, my understanding existing optimizers work with parameters not variables. Please correct me if I am wrong.

AFAICS, your understanding is not correct.
Example using optimizer for OHLC/pattern variables.

1 Like

Optimizers work with anything. Optimization is just a process of finding minimum or maximum of given function with N inputs (arguments). The optimizer does not care about what these arguments are and how they are used. Also Optimize function natively supports discrete values since about forever (see "step" argument). What you seem to focus is not really discrete but binary. Discrete means "quantized" or "granular", binary means just 1 or 0. FWIW, Toshiba algorithm is about discrete optimization, not binary. That is different stuff from what you seem to be focused. Still AmiBroker can optimize binary parameters and it does NOT require resorting to any tricks. There can be 64 binary conditions optimized (since it is 2^64 - maximum 64-bit integer representable). Also FWIW, AmiBroker features Open API for your own optimizers and open source optimizer plugin code was released for Tribes and CMA-ES. So if you are really that much into this, you can go and implement your own optimizer to suit your needs and it will work within AmiBroker infrastructure.

2 Likes

What a beautifull way of programming this example, thanks.

Could this also work if you like to have both OR and AND in
the rules where the optimizer can both choose between
OR and AND.

Thanks for your response Tomasz. I am aware of "open API", however I trust your coding skills a thousand times more than mine. What I am trying to do same thing that power of 2 does, expect I want to exceed n=25 limitation.

@fxshrat, thanks for tireless contribution to this board.

As I wrote there is no such limitation like n=25. Maximum size of optimization universe is