Binary Options: Scam or Opportunity?

We’re recently getting more and more contracts for coding binary option strategies. Which gives us a slightly bad conscience, since those options are widely understood as a scheme to separate naive traders from their money. And their brokers make indeed no good impression at first look. Some are regulated in Cyprus under a fake address, others are not regulated at all. They spread fabricated stories about huge profits with robots or EAs. They are said to manipulate their price curves for preventing you from winning. And if you still do, some refuse to pay out, and eventually disappear without a trace (but with your money). That’s the stories you hear about binary options brokers. Are binary options nothing but scam? Or do they offer a hidden opportunity that even their brokers are often not aware of?

Binary options, in their most common form, are very different to real options. They are a bet that the price of an asset will rise or fall within a given time frame. If you win the bet, the broker pays your stake multiplied with a win payout factor in the 75%..95% range. If you lose, you pay the stake minus a possible loss payout. You’re trading not against the market, but against the broker. The broker needs you to lose, otherwise they would not make any profit. Even if they really pay out your wins, and even if they do not manipulate the price curve, they can still control your profit with their payout factors. So it seems that even if you had a winning system, the broker would just reduce the payout for making sure that you lose in the long run.

However this conclusion is a fallacy. It can in fact be of advantage for the broker to offer a payout that allows you to win, as long as most other traders still lose. A broker has not the freedom of arbitrarily reducing the payout. He’s competing with other brokers. But why would you want to trade binary options anyway, when you also can trade serious instruments instead? If you wanted a binary outcome, you can also achieve this by opening a Put or Call Spread with real options – and this with a serious broker, much higher payout factors (even > 100% in some cases) and the possibility to sell the options prematurely.

But aside from tax advantages in some countries, there is one single compelling reason that might make a binary options trading experiment worthwhile. Profit and trading cost of a binary option are independent of the time frame. So you can trade on very short time frames, which would be difficult, if not impossible with real options or other financial instruments. You can find a discussion of this problem in the Scalping article.

Binary scalping math

The required minimum win rate for binary trading can be calculated from the broker’s win and loss payout:

[pmath size=16]W~=~ {1-Pl}/{1+Pw-Pl}[/pmath]

W = required win rate for break even
Pl = Loss payout
Pw = Win payout

With 85% win payout and no loss payout, you need a win rate of

[pmath size=16]W ~=~ 1/{1.85} ~=~ 54%[/pmath]

54% win rate seem to be manageable on short time frames. The transaction costs of a non-binary, conventional broker would require a much higher win rate, as in the following graph from the Scalping article:

Required win rate in percent vs. trade duration (non binary)

You had to win almost 80% of five-minutes trades – impossible for a trading system under normal conditions unless you enforce that win rate with some tricks, which however won’t help getting in the profit zone.

So, smaller trading costs on low time frames are the obvious benefit of trading binary options. With all the side benefits of low time frames, such as more data for backtests, and shorter drawdown periods in live trading. But how can we take advantage of that? There are three problems to solve.

Three steps to potential binary profit

  1. Find a strategy with a win rate that is better than the W determined with the above payout formula. But be aware that prices on small time frames are strongly feed dependent. Normally you won’t know your binary broker’s price source (if he has any at all). For being on the safe side, test with different historical price data from different serious brokers (f.i. Oanda or FXCM) and stay some percent points above the minimum W.
     
  2. Find a way to trade automated. Binary brokers often do not want you to do that. Consequently most do not offer a platform or API for automated trading. But they all have a web interface. So you need either a software tool (such as Zorro) that can send key strokes and mouse clicks to a website, or some other means to get your trades to the broker.
      
  3. Find a broker that’s halfway honest. At least one that allows you to really collect your gains. All binary brokers make it easy to deposit, but some follow the philosophy: “If you gave it to me, it’s mine.” Make test withdrawals before you deposit large amounts. Keep the account balance small. Check the broker’s opportunity to manipulate the price curve: the more customers they have and the more bets they handle, the more difficult is it to manipulate without attracting unwanted attention. Retrieve as many information as possible about your broker: Where are they really located? For some reason, fraudsters seem to be concentrated in Tel Aviv. Check what customers say about that broker – but be aware: positive statements on trader forums are often planted by the broker himself.

All those issues make trading binary options sort of “messy”. However it’s the messy methods that sometimes offer the best opportunities. Ed Thorp made his first millions not with ‘serious trading’, but with a Blackjack strategy and with a method to estimate the value of warrants, both also considered messy and hard to calculate at that time.

Step 1: The system

A price curve is no random walk. At least not all of the time. Long time frames are often dominated by trend, short time frames by mean reversion. When transaction costs do not matter, it’s not very hard to find a system with > 54% win rate on 5-minutes bars. Here’s a simple example that exploits the mean reversion tendency of short time frames (script for Zorro):

var objective()
{
	return ((var)(NumWinLong+NumWinShort))/(NumLossLong+NumLossShort);
}


function run()
{
	BarPeriod = 5;
	LookBack = 100;
	NumWFOCycles = 20;
	NumCores = -1;
	
	set(BINARY);
	WinPayout = 85;
	LossPayout = 0;

	set(PARAMETERS);
	int TimePeriod = optimize(20,10,100);
	var Threshold = 0.01*(HH(TimePeriod)-LL(TimePeriod));

	if(NumOpenLong+NumOpenShort == 0) 
	{
		LifeTime = 1;
		if(HH(TimePeriod) - priceClose() < Threshold)
			enterShort();
		else if(priceClose() - LL(TimePeriod) < Threshold)
			enterLong();
	}
}

In the C code above we defined an individual objective() function that optimizes the system for binary trading. It measures the system performance as the number of winning trades divided by the number of losing trades. Otherwise the optimizer would hunt for the most robust profit factor, which makes no sense for binary trading.

The setup establishes a 5 minutes bar period, which is the time frame of our bets. We use 20 WFO cycles and let the optimizer use all CPU cores but one. This way the training run takes about 5-10 minutes for 5 years data. The BINARY flag activates binary trades, and we’re simulating a broker with 85% win payout and no loss payout.

We have a mean reverting system that trades whenever the current price is closer than a threshold – here, 1% of recent volatility – to its previous High or Low. The time period for determining the High and Low is the only system parameter that we optimize. You could improve the system in many ways, for instance by optimizing also the threshold, by modifying the objective() function so that it prefers systems with more trades, and by applying a filter that prevents trading in non mean-reverting market regimes. Since we bet on the price in 5 minutes, we’ve set the LifeTime of a trade to one bar. Here’s the equity curve from a 5 years walk forward test with EUR/USD:

Binary options

The system has about 56% win rate and a notable, although not spectacular positive return. Which is not achieved by the crude mean reversion mechanism, but mostly by amplifying the small entry-exit price differences through binary trading, even though the payout is only 85%. You won’t get a similar result with conventional trades. The same system not trading binary options, but leveraged forex positions produces a very different equity curve (for testing, comment out the BINARY flag and the Payout settings in the code):

Leveraged Forex

With the same trades we have now only 40% win rate and an overall loss, since all the trade profit is eaten up by spread and commission. 

Step 2: Automatizing

How do you let your script automatically enter a bet at the right moment? This is a technical issue unrelated to trading, but it comes up whenever you have a broker with a web based platform and no proper connection for automatizing. Here’s a code snippet for detecting the positions of [Buy] and [Sell] buttons on a website, and automated clicking them:

void main()
{
	int BuyX,BuyY,SellX,SellY; // button coordinates

// open the browser	
	printf("\nOpening the broker's website...");
	exec("http://financial-hacker.com/shark.htm",0,1);

// get the position of the Buy button
	printf("\nRight click on [Buy]!");
	while(wait(50)) {
		int button = mouse(&BuyX,&BuyY,window(""));
		if(button & 2) break;
	}
// wait until right mouse key released	
	while(wait(50)) {
		int x,y,button = mouse(&x,&y,0);
		if(!(button & 2)) break;	
	}

// get the position of the Sell button	
	printf("\nRight click on [Sell]!");
	while(wait(50)) {
		int button = mouse(&SellX,&SellY,window(""));
		if(button & 2) break;
	}
// wait until right mouse key released	
	while(wait(50)) {
		int x,y,button = mouse(&x,&y,0);
		if(!(button & 2)) break;	
	}

// send mouse clicks to Buy and Sell	
	printf("\nI will now click on [Buy]!");
	keys("[click %d,%d]",BuyX,BuyY);
	printf("\nI will now click on [Sell]!");
	keys("[click %d,%d]",SellX,SellY);
	printf("\nDone!");
}

Start the script, and wait until the broker’s website pops up in your browser. Then follow the instructions in Zorro’s message window. Manoever the mouse onto the “Buy” button and hit the right mouse key. Then do the same with the “Sell” button. The script will store the button positions and then use the keys function to send test clicks to both positions of the active window. For testing purposes I’ve imitated a typical binary broker’s trading platform.

You now only need to glue together your trading script with the button clicking script, and adapt the latter to the website of your broker. This is left as an exercise to the reader. And better use improved versions – the scripts here are kept simple for demonstration purposes. As long as the script trades, make sure that the browser window stays in the foreground, or else it can not click on the buttons. For the position size, either enter a fixed size for all positions, or let your script click into the size field and send key strokes to set individual sizes.

Step 3: The broker

Of course I don’t want to recommend a particular binary options broker. In the end, they’re all crooks – but some are crookier than others. Finding a suited broker is, also, left as an exercise to the reader. Binary broker comparison websites are often – surprise, surprise – installed and paid by binary brokers. US citizens are normally not allowed to trade binary options with brokers that are not regulated in the US. Some brokers will accept your deposit nevertheless, but use that as pretext to refuse payout. If you’re a citizen of Israel, you might not be accepted by many binary brokers since they’re not allowed to fraud compatriots. 

Conclusion

It’s often the “messy” and despised trade instruments that can still provide opportunities when they are correctly understood. I’ve uploaded the two scripts to the 2016 repository. You’ll need Zorro 1.52 or above for running them. When you now make huge profits with binary options, don’t forget where the money comes from: Not from the broker, but from his less fortunate customers that maybe just haven’t read the right blog.


Addendum: From all articles on this blog, this one attracted by far the most spam comments. From them it appears that a new lucrative business has established in the orbit of binary brokers: recovery fraud. As soon as you’ve lost your money, you’ll receive offers by “hackers” or “law firms” to recover it, for a fee of course. Where did they get your email from? Naturally from the very broker that bagged your money…

Comments are closed.