Binary Options: Scam or Opportunity?

We’re getting more and more coding contracts for 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 he would not make any profit. Even if he really pays out your wins, and even if he does not manipulate the price curve, he can still control your profit with his 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? Aside from tax advantages in some countries, there is one single compelling reason that might make the 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 for retail traders with 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:

W~=~ {1-Pl}/{1+Pw-Pl}

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

W ~=~ 1/{1.85} ~=~ 54%

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. For being on the safe side, test with different price data sources (f.i. HistData, Oanda, and FXCM) and stay several percent points above the minimum W.
  2. Find a way to trade automated. Binary brokers often do not want you to do that. Consequently they do not offer a platform or API for automated trading. But they all have a web interface. So you need either a software to 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 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 with his Blackjack strategy and with a method to estimate the value of warrants, also considered messy and hard to calculate.

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;
	WinPayout = 85;
	LossPayout = 0;

	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)
		else if(priceClose() - LL(TimePeriod) < Threshold)

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...");

// 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);

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. 


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 (the scripts also run with version 1.50, but that version had a bug that produced inaccurate results with binary trading). 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.

51 thoughts on “Binary Options: Scam or Opportunity?”

  1. It is interesting to see different peoples’ takes on the trading game, and I am particularly fascinated with the practice of Binary Options. Some have posted here that they have made profits and have been able to withdraw those. My experience has been very different from that.

    In June last year (2016), I received a phone call from a very friendly, well-spoken young man. He said his name was Kevin, although now I’m not so sure. “Kevin” is obviously very good at what he does, and facilitated a very fast and seamless process of setting up a trading account for me. When I first met Kevin (on the phone) we had a lot of regular contact. He would call nearly every day and made very sure that I felt important, looked after, and as though my financial growth mattered to him. He presented me with very attractive options, convincing me that I would have high returns with very low risk and that this would be quickly proven because I would see how fast my investment would climb.

    Kevin’s excellent interpersonal skills and attractive offer were followed through with quick and easy profits and within days, I thanked my lucky stars that I had stumbled across such an opportunity for fortune. This continued for some time and Kevin encouraged me to continue to make trades over the next four months while I watched the balance in my account rising.

    In October 2016, my husband was involved in an accident which left him badly injured. He was unable to work and he required special medical care which was costly. This led to profound consequences for my family and our finances. In this devastation, I was relieved to know that I had co-incidentally created a safety-net for our family and I thought that this must be confirmation that I had made the right decision – I was meant to meet Kevin.

    When I made a request to withdraw some of my savings, Kevin contacted me to convince me that it was perfect timing to do some last minute trades to maximize my withdrawal. After that last trading session, I tried for weeks to get in contact with Kevin who was suddenly never available to talk to me. Eventually it was explained to me that since I signed a bonus agreement at that point, and only then were the terms and conditions I was agreeing to clarified. After bonus money was pushed into my account, no funds could be withdrawn from my account. I was told that my investment would have to climb to an impossible amount before my funds would become liquid again. Basically, the savings that I believed I was accumulating were locked away from me as if they had been stolen.

    It took me some time, but after I did a bit of research, it seemed that my suspicions that I had been taken for a ride were more and more likely. I needed to start to accept that I had lost a lot of money and start making plans for my next move. The financial pressure was on and I was forced to take loans from the bank as well as family in order to deal with our situation at home. To add to our load, we also started to accumulate debt. Those were the most stressful months of my life. It was impossible to protect my family from the impact of the crazy mess we our lives had become. We started 2017 feeling exhausted, and worried about how to face more expenses and how to ever pay off so much debt.

    In February this year, a close friend of mine introduced me to her cousin who had an experience with Binary Options that was similar to mine. He went through lawyers who helped him claim back his money. I wasn’t feeling very hopeful about being able to do the same. I had been made to feel like it was my fault and as though I had signed away my money fair and square. However, this was not in fact the case. The law firm that assisted me helped me to forgive myself for my losses by explaining how Binary companies manipulate the people that they call their “clients” and use scam tactics to get people to give them money. The moment I deposited money with Kevin, it was stolen from me without my even knowing. I am so thankful to be able to say that last week Thursday, all of my stolen funds were paid back. The organization that represented my case talked me through the process and kept me updated every step of the way. It took about 8 weeks for the entire legal procedure which ended in the company who were revealed as scammers reimbursing everything that I had lost.

    My story could have ended very differently if I had not decided to fight back. I hope that more and more people will become more aware and not be as easily manipulated as I was by Kevin. I also hope that people will not just allow people like Kevin to get away with such heartless and greedy crimes. I hope that my story is a warning to be cautious. In my mind, I keep going back to something my father always used to day – If it sounds to good to be true, it’s probably not true. Wise words.

Leave a Reply

Your email address will not be published. Required fields are marked *